diff --git a/.mock/definition/__package__.yml b/.mock/definition/__package__.yml new file mode 100644 index 00000000..c4d58617 --- /dev/null +++ b/.mock/definition/__package__.yml @@ -0,0 +1,481 @@ +types: + UnauthorizedErrorBodyCode: + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + docs: Error code + source: + openapi: v2-data.yml + UnauthorizedErrorBodyDetailsItem: + discriminated: false + union: + - string + - map + source: + openapi: v2-data.yml + UnauthorizedErrorBody: + properties: + code: + type: optional + docs: Error code + message: + type: optional + docs: Error message + externalReference: + type: optional + docs: Link to more information + details: + type: optional> + docs: Array of errors + source: + openapi: v2-data.yml + ForbiddenErrorBodyCode: + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + docs: Error code + source: + openapi: v2-data.yml + ForbiddenErrorBodyDetailsItem: + discriminated: false + union: + - string + - map + source: + openapi: v2-data.yml + ForbiddenErrorBody: + properties: + code: + type: optional + docs: Error code + message: + type: optional + docs: Error message + externalReference: + type: optional + docs: Link to more information + details: + type: optional> + docs: Array of errors + source: + openapi: v2-data.yml + NotFoundErrorBodyCode: + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + docs: Error code + source: + openapi: v2-data.yml + NotFoundErrorBodyDetailsItem: + discriminated: false + union: + - string + - map + source: + openapi: v2-data.yml + NotFoundErrorBody: + properties: + code: + type: optional + docs: Error code + message: + type: optional + docs: Error message + externalReference: + type: optional + docs: Link to more information + details: + type: optional> + docs: Array of errors + source: + openapi: v2-data.yml + TooManyRequestsErrorBodyCode: + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + docs: Error code + source: + openapi: v2-data.yml + TooManyRequestsErrorBodyDetailsItem: + discriminated: false + union: + - string + - map + source: + openapi: v2-data.yml + TooManyRequestsErrorBody: + properties: + code: + type: optional + docs: Error code + message: + type: optional + docs: Error message + externalReference: + type: optional + docs: Link to more information + details: + type: optional> + docs: Array of errors + source: + openapi: v2-data.yml + BadRequestErrorBodyCode: + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + docs: Error code + source: + openapi: v2-data.yml + BadRequestErrorBodyDetailsItem: + discriminated: false + union: + - string + - map + source: + openapi: v2-data.yml + BadRequestErrorBody: + properties: + code: + type: optional + docs: Error code + message: + type: optional + docs: Error message + externalReference: + type: optional + docs: Link to more information + details: + type: optional> + docs: Array of errors + source: + openapi: v2-data.yml + InternalServerErrorBodyCode: + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + docs: Error code + source: + openapi: v2-data.yml + InternalServerErrorBodyDetailsItem: + discriminated: false + union: + - string + - map + source: + openapi: v2-data.yml + InternalServerErrorBody: + properties: + code: + type: optional + docs: Error code + message: + type: optional + docs: Error message + externalReference: + type: optional + docs: Link to more information + details: + type: optional> + docs: Array of errors + source: + openapi: v2-data.yml + ConflictErrorBodyCode: + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + docs: Error code + source: + openapi: v2-data.yml + ConflictErrorBodyDetailsItem: + discriminated: false + union: + - string + - map + source: + openapi: v2-data.yml + ConflictErrorBody: + properties: + code: + type: optional + docs: Error code + message: + type: optional + docs: Error message + externalReference: + type: optional + docs: Link to more information + details: + type: optional> + docs: Array of errors + source: + openapi: v2-data.yml +errors: + UnauthorizedError: + status-code: 401 + type: unknown + docs: >- + Provided access token is invalid or does not have access to requested + resource + examples: + - value: + code: not_authorized + message: Request not authorized + ForbiddenError: + status-code: 403 + type: unknown + docs: Provided access token is valid, but is missing the required scopes. + examples: + - value: + code: missing_scopes + message: >- + OAuthForbidden: You are missing the following scopes - + components:write + - value: + code: forbidden + message: User is not authorized to perform this action + - value: + key: value + NotFoundError: + status-code: 404 + type: unknown + docs: Requested resource not found + examples: + - value: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + TooManyRequestsError: + status-code: 429 + type: unknown + docs: >- + The rate limit of the provided access_token has been reached. Please have + your application respect the X-RateLimit-Remaining header we include on + API responses. + examples: + - value: + code: too_many_requests + message: Too many requests + BadRequestError: + status-code: 400 + type: unknown + docs: Request body was incorrectly formatted. + examples: + - value: + code: bad_request + message: 'Bad Request: Request is malformed' + - value: + key: value + - value: + code: validation_error + message: 'Validation Error: Provided ID is invalid' + InternalServerError: + status-code: 500 + type: unknown + docs: We had a problem with our server. Try again later. + examples: + - value: + code: internal_error + message: An Internal Error occurred + ConflictError: + status-code: 409 + type: unknown + docs: Site is published to multiple domains at different times + examples: + - value: + message: '''Site is published to multiple domains at different times' + - value: + code: forms_require_republish + message: To access this feature, the site needs to be republished. + - value: + key: value + - value: + code: ecommerce_not_enabled + message: Ecommerce is not yet initialized diff --git a/.mock/definition/accessGroups.yml b/.mock/definition/accessGroups.yml new file mode 100644 index 00000000..83d513aa --- /dev/null +++ b/.mock/definition/accessGroups.yml @@ -0,0 +1,125 @@ +types: + AccessGroupsListRequestSort: + enum: + - value: CreatedOn + name: CreatedOnAscending + docs: Sorts users in ascending order based on their created date + - value: '-CreatedOn' + name: CreatedOnDescending + docs: Sorts users in descending order based on their created date + source: + openapi: v2-data.yml + AccessGroupsListResponseAccessGroupsItem: + properties: + id: + type: optional + docs: Unique identifier for the Access Group + name: + type: optional + docs: Name of the the Access Group + shortId: + type: optional + docs: >- + Shortened unique identifier based on name, optimized for its use in + the user’s JWT + slug: + type: optional + docs: >- + Shortened unique identifier based on name, optimized for human + readability and public API use + createdOn: + type: optional + docs: The date the Access Group was created + source: + openapi: v2-data.yml + AccessGroupsListResponse: + docs: The list access groups results + properties: + count: + type: optional + docs: Number of access groups returned + limit: + type: optional + docs: The limit specified in the request + default: 10 + offset: + type: optional + docs: The offset specified for pagination + default: 0 + total: + type: optional + docs: Total number of access groups in the collection + accessGroups: + type: optional> + docs: List of Site Access Groups + source: + openapi: v2-data.yml +imports: + root: __package__.yml +service: + auth: false + base-path: '' + endpoints: + list: + path: /sites/{site_id}/accessgroups + method: GET + auth: true + docs: | + Get a list of access groups for a site + + Required scope | `users:read` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + display-name: List Access Groups + request: + name: AccessGroupsListRequest + query-parameters: + offset: + type: optional + docs: >- + Offset used for pagination if the results have more than limit + records + limit: + type: optional + docs: 'Maximum number of records to be returned (max limit: 100)' + sort: + type: optional + docs: | + Sort string to use when ordering access groups + Can be prefixed with a `-` to reverse the sort (ex. `-CreatedOn`) + response: + docs: Request was successful + type: AccessGroupsListResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + response: + body: + count: 1 + limit: 10 + offset: 0 + total: 1 + accessGroups: + - id: 62be58d404be8a6cc900c081 + name: Research Team + shortId: rt + slug: hitchhikers-guide-research-team + createdOn: '2022-08-01T19:41:48Z' + - id: 65a96161991e77bbb4a6c573 + name: Admin + shortId: ad + slug: admin + createdOn: '2022-08-01T19:41:48Z' + source: + openapi: v2-data.yml diff --git a/.mock/definition/api.yml b/.mock/definition/api.yml new file mode 100644 index 00000000..aee9acdf --- /dev/null +++ b/.mock/definition/api.yml @@ -0,0 +1,13 @@ +name: api +error-discrimination: + strategy: status-code +display-name: Data API +environments: + Default: https://api.webflow.com/v2 +default-environment: Default +auth-schemes: + BearerToken: + scheme: bearer + token: + name: accessToken +auth: BearerToken diff --git a/.mock/definition/assets.yml b/.mock/definition/assets.yml new file mode 100644 index 00000000..912f1375 --- /dev/null +++ b/.mock/definition/assets.yml @@ -0,0 +1,778 @@ +types: + AssetsListResponseAssetsItemVariantsItem: + properties: + hostedUrl: + type: optional + docs: URL of where the asset variant is hosted + validation: + format: uri + originalFileName: + type: optional + docs: Original file name of the variant + displayName: + type: optional + docs: Display name of the variant + format: + type: optional + docs: format of the variant + width: + type: optional + docs: Width in pixels + height: + type: optional + docs: Height in pixels + quality: + type: optional + docs: Value between 0 and 100 representing the image quality + error: + type: optional + docs: Any associated validation errors + source: + openapi: v2-data.yml + AssetsListResponseAssetsItem: + properties: + id: + type: optional + docs: Unique identifier for this asset + contentType: + type: optional + docs: File format type + size: + type: optional + docs: size in bytes + siteId: + type: optional + docs: Unique identifier for the site that hosts this asset + hostedUrl: + type: optional + docs: Link to the asset + validation: + format: uri + originalFileName: + type: optional + docs: Original file name at the time of upload + displayName: + type: optional + docs: Display name of the asset + lastUpdated: + type: optional + docs: Date the asset metadata was last updated + createdOn: + type: optional + docs: Date the asset metadata was created + variants: optional> + altText: + type: optional + docs: The visual description of the asset + source: + openapi: v2-data.yml + AssetsListResponse: + docs: A list of assets + properties: + assets: optional> + source: + openapi: v2-data.yml + AssetsCreateResponseUploadDetails: + docs: Metadata for uploading the asset binary + properties: + acl: optional + bucket: optional + X-Amz-Algorithm: optional + X-Amz-Credential: optional + X-Amz-Date: optional + key: optional + Policy: optional + X-Amz-Signature: optional + success_action_status: optional + content-type: optional + Cache-Control: optional + source: + openapi: v2-data.yml + AssetsCreateResponse: + properties: + uploadDetails: + type: optional + docs: Metadata for uploading the asset binary + contentType: optional + id: optional + parentFolder: + type: optional + docs: Parent folder for the asset + uploadUrl: + type: optional + validation: + format: uri + assetUrl: + type: optional + docs: S3 link to the asset + validation: + format: uri + hostedUrl: + type: optional + docs: Represents the link to the asset + validation: + format: uri + originalFileName: + type: optional + docs: >- + Original file name when uploaded. If not specified at time of upload, + it may be extracted from the raw file name + createdOn: + type: optional + docs: Date the asset metadata was created + lastUpdated: + type: optional + docs: Date the asset metadata was last updated + source: + openapi: v2-data.yml + AssetsGetResponseVariantsItem: + properties: + hostedUrl: + type: optional + docs: URL of where the asset variant is hosted + validation: + format: uri + originalFileName: + type: optional + docs: Original file name of the variant + displayName: + type: optional + docs: Display name of the variant + format: + type: optional + docs: format of the variant + width: + type: optional + docs: Width in pixels + height: + type: optional + docs: Height in pixels + quality: + type: optional + docs: Value between 0 and 100 representing the image quality + error: + type: optional + docs: Any associated validation errors + source: + openapi: v2-data.yml + AssetsGetResponse: + properties: + id: + type: optional + docs: Unique identifier for this asset + contentType: + type: optional + docs: File format type + size: + type: optional + docs: size in bytes + siteId: + type: optional + docs: Unique identifier for the site that hosts this asset + hostedUrl: + type: optional + docs: Link to the asset + validation: + format: uri + originalFileName: + type: optional + docs: Original file name at the time of upload + displayName: + type: optional + docs: Display name of the asset + lastUpdated: + type: optional + docs: Date the asset metadata was last updated + createdOn: + type: optional + docs: Date the asset metadata was created + variants: optional> + altText: + type: optional + docs: The visual description of the asset + source: + openapi: v2-data.yml + AssetsUpdateResponseVariantsItem: + properties: + hostedUrl: + type: optional + docs: URL of where the asset variant is hosted + validation: + format: uri + originalFileName: + type: optional + docs: Original file name of the variant + displayName: + type: optional + docs: Display name of the variant + format: + type: optional + docs: format of the variant + width: + type: optional + docs: Width in pixels + height: + type: optional + docs: Height in pixels + quality: + type: optional + docs: Value between 0 and 100 representing the image quality + error: + type: optional + docs: Any associated validation errors + source: + openapi: v2-data.yml + AssetsUpdateResponse: + properties: + id: + type: optional + docs: Unique identifier for this asset + contentType: + type: optional + docs: File format type + size: + type: optional + docs: size in bytes + siteId: + type: optional + docs: Unique identifier for the site that hosts this asset + hostedUrl: + type: optional + docs: Link to the asset + validation: + format: uri + originalFileName: + type: optional + docs: Original file name at the time of upload + displayName: + type: optional + docs: Display name of the asset + lastUpdated: + type: optional + docs: Date the asset metadata was last updated + createdOn: + type: optional + docs: Date the asset metadata was created + variants: optional> + altText: + type: optional + docs: The visual description of the asset + source: + openapi: v2-data.yml + AssetsListFoldersResponseAssetFoldersItem: + docs: Asset Folder details + properties: + id: + type: optional + docs: Unique identifier for the Asset Folder + displayName: + type: optional + docs: User visible name for the Asset Folder + parentFolder: + type: optional + docs: Pointer to parent Asset Folder (or null if root) + assets: + type: optional> + docs: Array of Asset instances in the folder + siteId: + type: optional + docs: The unique ID of the site the Asset Folder belongs to + createdOn: + type: optional + docs: Date that the Asset Folder was created on + lastUpdated: + type: optional + docs: Date that the Asset Folder was last updated on + source: + openapi: v2-data.yml + AssetsListFoldersResponsePagination: + docs: Pagination object + properties: + limit: + type: optional + docs: The limit used for pagination + offset: + type: optional + docs: The offset used for pagination + total: + type: optional + docs: The total number of records + source: + openapi: v2-data.yml + AssetsListFoldersResponse: + docs: The Asset Folders object + properties: + assetFolders: + type: optional> + docs: A list of Asset folders + pagination: + type: optional + docs: Pagination object + source: + openapi: v2-data.yml + AssetsCreateFolderResponse: + docs: Asset Folder details + properties: + id: + type: optional + docs: Unique identifier for the Asset Folder + displayName: + type: optional + docs: User visible name for the Asset Folder + parentFolder: + type: optional + docs: Pointer to parent Asset Folder (or null if root) + assets: + type: optional> + docs: Array of Asset instances in the folder + siteId: + type: optional + docs: The unique ID of the site the Asset Folder belongs to + createdOn: + type: optional + docs: Date that the Asset Folder was created on + lastUpdated: + type: optional + docs: Date that the Asset Folder was last updated on + source: + openapi: v2-data.yml + AssetsGetFolderResponse: + docs: Asset Folder details + properties: + id: + type: optional + docs: Unique identifier for the Asset Folder + displayName: + type: optional + docs: User visible name for the Asset Folder + parentFolder: + type: optional + docs: Pointer to parent Asset Folder (or null if root) + assets: + type: optional> + docs: Array of Asset instances in the folder + siteId: + type: optional + docs: The unique ID of the site the Asset Folder belongs to + createdOn: + type: optional + docs: Date that the Asset Folder was created on + lastUpdated: + type: optional + docs: Date that the Asset Folder was last updated on + source: + openapi: v2-data.yml +imports: + root: __package__.yml +service: + auth: false + base-path: '' + endpoints: + list: + path: /sites/{site_id}/assets + method: GET + auth: true + docs: | + List assets for a given site + + Required scope | `assets:read` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + display-name: List Assets + response: + docs: Request was successful + type: AssetsListResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + response: + body: + assets: + - id: 63e5889e7fe4eafa7384cea4 + contentType: image/png + size: 2212772 + siteId: 63938b302ea6b0aa6f3d8745 + hostedUrl: >- + https://s3.amazonaws.com/webflow-prod-assets/63938b302ea6b0aa6f3d8745/63e5889e7fe4eafa7384cea4_Vectors-Wrapper.svg + originalFileName: Candy-Wrapper.svg + displayName: 63e5889e7fe4eafa7384cea4_Candy-Wrapper.png + lastUpdated: '2023-03-01T23:42:57Z' + createdOn: '2023-02-09T23:58:22Z' + variants: + - hostedUrl: >- + https://s3.amazonaws.com/webflow-prod-assets/6258612d1ee792848f805dcf/660d83ce30f3a599ddb0bdb3_Screenshot%202024-03-20%20at%209.03.24%E2%80%AFPM-p-500.png + originalFileName: >- + Screenshot%202024-03-20%20at%209.03.24%E2%80%AFPM-p-500.png + displayName: >- + 660d83ce30f3a599ddb0bdb3_Screenshot%202024-03-20%20at%209.03.24%E2%80%AFPM-p-500.png + format: png + width: 500 + height: 900 + quality: 100 + altText: A red chair + create: + path: /sites/{site_id}/assets + method: POST + auth: true + docs: > + Create a new asset entry. + + + + This endpoint generates a response with the following information: + `uploadUrl` and `uploadDetails`. + + You can use these two properties to [upload the file to Amazon s3 by + making a + POST](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html) + + request to the `uploadUrl` with the `uploadDetails` object as your + header information in the request. + + + Required scope | `assets:write` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + display-name: Create Asset Metadata + request: + name: AssetsCreateRequest + body: + properties: + fileName: + type: string + docs: >- + File name including file extension. File names must be less than + 100 characters. + fileHash: + type: string + docs: MD5 hash of the file + parentFolder: + type: optional + docs: ID of the Asset folder (optional) + content-type: application/json + response: + docs: Request was successful + type: AssetsCreateResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + request: + fileName: file.png + fileHash: 3c7d87c9575702bc3b1e991f4d3c638e + response: + body: + uploadDetails: + acl: public-read + bucket: webflow-bucket-name + X-Amz-Algorithm: AWS4-HMAC-SHA256 + X-Amz-Credential: ///s3/aws4_request + X-Amz-Date: + key: /_ + Policy: + X-Amz-Signature: + success_action_status: '201' + content-type: image/png + Cache-Control: max-age=31536000, must-revalidate + contentType: image/png + id: 64358b9544249dc43d37d2b7 + parentFolder: 6436b1ce5281cace05b65aea + uploadUrl: >- + https://s3.amazonaws.com/webflow-dev-assets/643021114e290e0d3a0602b2/64358b9544249dc43d37d2b7_Screenshot%202023-04-11%20at%209.50.42%20AM.png + assetUrl: >- + https://s3.amazonaws.com/webflow-prod-assets/6258612d1ee792848f805dcf/660d907ab9e91e3e9f56385e_paranoidAndroid-2024.png + hostedUrl: >- + https://d1otoma47x30pg.cloudfront.net/643021114e290e0d3a0602b2/64358b9544249dc43d37d2b7_Screenshot%202023-04-11%20at%209.50.42%20AM.png + originalFileName: file.png + createdOn: '2023-04-11T16:32:21Z' + lastUpdated: '2023-04-12T20:31:03Z' + get: + path: /assets/{asset_id} + method: GET + auth: true + docs: | + Get an Asset + + Required scope | `assets:read` + source: + openapi: v2-data.yml + path-parameters: + asset_id: + type: string + docs: Unique identifier for an Asset on a site + display-name: Get Asset + response: + docs: Request was successful + type: AssetsGetResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + asset_id: 580e63fc8c9a982ac9b8b745 + response: + body: + id: 55131cd036c09f7d07883dfc + contentType: image/png + size: 1500 + siteId: 62749158efef318abc8d5a0f + hostedUrl: example.com/hostedimage.png + originalFileName: image.png + displayName: example-image-123.png + lastUpdated: '2016-09-06T21:12:22Z' + createdOn: '2016-09-02T23:26:22Z' + variants: + - hostedUrl: example.com/hostedimage.png + originalFileName: image.png + displayName: A brown dog + format: format + width: 1500 + height: 900 + quality: 1 + error: error + altText: A red chair + delete: + path: /assets/{asset_id} + method: DELETE + auth: true + docs: | + Delete an Asset + + Required Scope: `assets: write` + source: + openapi: v2-data.yml + path-parameters: + asset_id: + type: string + docs: Unique identifier for an Asset on a site + display-name: Delete Asset + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + asset_id: 580e63fc8c9a982ac9b8b745 + update: + path: /assets/{asset_id} + method: PATCH + auth: true + docs: | + Update an Asset + + Required scope | `assets:write` + source: + openapi: v2-data.yml + path-parameters: + asset_id: + type: string + docs: Unique identifier for an Asset on a site + display-name: Update Asset + request: + name: AssetsUpdateRequest + body: + properties: + localeId: + type: optional + docs: >- + Unique identifier for a specific locale. Applicable, when using + localization. + displayName: + type: optional + docs: A human readable name for the asset + content-type: application/json + response: + docs: Request was successful + type: AssetsUpdateResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + asset_id: 580e63fc8c9a982ac9b8b745 + request: {} + response: + body: + id: 55131cd036c09f7d07883dfc + contentType: image/png + size: 1500 + siteId: 62749158efef318abc8d5a0f + hostedUrl: example.com/hostedimage.png + originalFileName: image.png + displayName: example-image-123.png + lastUpdated: '2016-09-06T21:12:22Z' + createdOn: '2016-09-02T23:26:22Z' + variants: + - hostedUrl: example.com/hostedimage.png + originalFileName: image.png + displayName: A brown dog + format: format + width: 1500 + height: 900 + quality: 1 + error: error + altText: A red chair + list-folders: + path: /sites/{site_id}/asset_folders + method: GET + auth: true + docs: | + List Asset Folders within a given site + + Required scope | `assets:read` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + display-name: List Asset Folders + response: + docs: Request was successful + type: AssetsListFoldersResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + response: + body: + assetFolders: + - id: 6390c49774a71f0e3c1a08ee + displayName: emoji icons + parentFolder: 6390c49774a71f99f21a08eb + assets: + - 63e5889e7fe4eafa7384cea4 + - 659595234426a9fcbad57043 + siteId: 6390c49674a71f84b51a08d8 + createdOn: '2018-10-14T21:55:49Z' + lastUpdated: '2022-12-07T16:51:37Z' + pagination: + limit: 1 + offset: 0 + total: 1 + create-folder: + path: /sites/{site_id}/asset_folders + method: POST + auth: true + docs: | + Create an Asset Folder within a given site + + Required scope | `assets:write` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + display-name: Create Asset Folder + request: + name: AssetsCreateFolderRequest + body: + properties: + displayName: + type: string + docs: A human readable name for the Asset Folder + parentFolder: + type: optional + docs: >- + An (optional) pointer to a parent Asset Folder (or null for + root) + content-type: application/json + response: + docs: Request was successful + type: AssetsCreateFolderResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + request: + displayName: my asset folder + response: + body: + id: 6390c49774a71f0e3c1a08ee + displayName: emoji icons + parentFolder: 6390c49774a71f99f21a08eb + assets: + - 63e5889e7fe4eafa7384cea4 + - 659595234426a9fcbad57043 + siteId: 6390c49674a71f84b51a08d8 + createdOn: '2018-10-14T21:55:49Z' + lastUpdated: '2022-12-07T16:51:37Z' + get-folder: + path: /asset_folders/{asset_folder_id} + method: GET + auth: true + docs: | + Get details about a specific Asset Folder + + Required scope | `assets:read` + source: + openapi: v2-data.yml + path-parameters: + asset_folder_id: + type: string + docs: Unique identifier for an Asset Folder + display-name: Get Asset Folder + response: + docs: Request was successful + type: AssetsGetFolderResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + asset_folder_id: 6390c49774a71f0e3c1a08ee + response: + body: + id: 6390c49774a71f0e3c1a08ee + displayName: emoji icons + parentFolder: 6390c49774a71f99f21a08eb + assets: + - 63e5889e7fe4eafa7384cea4 + - 659595234426a9fcbad57043 + siteId: 6390c49674a71f84b51a08d8 + createdOn: '2018-10-14T21:55:49Z' + lastUpdated: '2022-12-07T16:51:37Z' + source: + openapi: v2-data.yml + display-name: Assets diff --git a/.mock/definition/collections.yml b/.mock/definition/collections.yml new file mode 100644 index 00000000..600691bc --- /dev/null +++ b/.mock/definition/collections.yml @@ -0,0 +1,366 @@ +types: + CollectionsListResponseCollectionsItem: + docs: A collection object + properties: + id: + type: string + docs: Unique identifier for a Collection + displayName: + type: optional + docs: Name given to the Collection + singularName: + type: optional + docs: >- + The name of one Item in Collection (e.g. ”Blog Post” if the Collection + is called “Blog Posts”) + slug: + type: optional + docs: Slug of Collection in Site URL structure + createdOn: + type: optional + docs: The date the collection was created + lastUpdated: + type: optional + docs: The date the collection was last updated + source: + openapi: v2-data.yml + CollectionsListResponse: + properties: + collections: + type: optional> + docs: An array of Collections + source: + openapi: v2-data.yml + CollectionsCreateResponseFieldsItemType: + enum: + - PlainText + - RichText + - Image + - MultiImage + - Video + - Link + - Email + - Phone + - Number + - DateTime + - Switch + - Color + - ExtFileRef + docs: Choose these appropriate field type for your collection data + source: + openapi: v2-data.yml + CollectionsCreateResponseFieldsItem: + docs: The details of a field in a collection + properties: + id: + type: string + docs: Unique identifier for a Field + isRequired: + type: boolean + docs: define whether a field is required in a collection + isEditable: + type: optional + docs: Define whether the field is editable + type: + type: CollectionsCreateResponseFieldsItemType + docs: Choose these appropriate field type for your collection data + slug: + type: optional + docs: >- + Slug of Field in Site URL structure. Slugs should be all lowercase + with no spaces. Any spaces will be converted to "-." + displayName: + type: string + docs: The name of a field + helpText: + type: optional + docs: Additional text to help anyone filling out this field + source: + openapi: v2-data.yml + CollectionsCreateResponse: + docs: A collection object + properties: + id: + type: string + docs: Unique identifier for a Collection + displayName: + type: optional + docs: Name given to the Collection + singularName: + type: optional + docs: >- + The name of one Item in Collection (e.g. ”Blog Post” if the Collection + is called “Blog Posts”) + slug: + type: optional + docs: Slug of Collection in Site URL structure + createdOn: + type: optional + docs: The date the collection was created + lastUpdated: + type: optional + docs: The date the collection was last updated + fields: + docs: The list of fields in the Collection + type: list + source: + openapi: v2-data.yml + CollectionsGetResponseFieldsItemType: + enum: + - PlainText + - RichText + - Image + - MultiImage + - Video + - Link + - Email + - Phone + - Number + - DateTime + - Switch + - Color + - ExtFileRef + docs: Choose these appropriate field type for your collection data + source: + openapi: v2-data.yml + CollectionsGetResponseFieldsItem: + docs: The details of a field in a collection + properties: + id: + type: string + docs: Unique identifier for a Field + isRequired: + type: boolean + docs: define whether a field is required in a collection + isEditable: + type: optional + docs: Define whether the field is editable + type: + type: CollectionsGetResponseFieldsItemType + docs: Choose these appropriate field type for your collection data + slug: + type: optional + docs: >- + Slug of Field in Site URL structure. Slugs should be all lowercase + with no spaces. Any spaces will be converted to "-." + displayName: + type: string + docs: The name of a field + helpText: + type: optional + docs: Additional text to help anyone filling out this field + source: + openapi: v2-data.yml + CollectionsGetResponse: + docs: A collection object + properties: + id: + type: string + docs: Unique identifier for a Collection + displayName: + type: optional + docs: Name given to the Collection + singularName: + type: optional + docs: >- + The name of one Item in Collection (e.g. ”Blog Post” if the Collection + is called “Blog Posts”) + slug: + type: optional + docs: Slug of Collection in Site URL structure + createdOn: + type: optional + docs: The date the collection was created + lastUpdated: + type: optional + docs: The date the collection was last updated + fields: + docs: The list of fields in the Collection + type: list + source: + openapi: v2-data.yml +imports: + root: __package__.yml +service: + auth: false + base-path: '' + endpoints: + list: + path: /sites/{site_id}/collections + method: GET + auth: true + docs: | + List of all Collections within a Site. + + Required scope | `cms:read` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + display-name: List Collections + response: + docs: Request was successful + type: CollectionsListResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + response: + body: + collections: + - id: 63692ab61fb2852f582ba8f5 + displayName: Products + singularName: Product + slug: product + createdOn: '2019-06-12T13:35:14Z' + lastUpdated: '2022-11-17T15:08:50Z' + - id: 63692ab61fb2856e6a2ba8f6 + displayName: Categories + singularName: Category + slug: category + createdOn: '2019-06-12T13:35:14Z' + lastUpdated: '2022-11-17T15:08:50Z' + - id: 63692ab61fb285a8562ba8f4 + displayName: SKUs + singularName: SKU + slug: sku + createdOn: '2019-06-12T13:35:14Z' + lastUpdated: '2022-11-17T15:08:50Z' + create: + path: /sites/{site_id}/collections + method: POST + auth: true + docs: | + Create a Collection for a site. + + Required scope | `cms:write` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + display-name: Create Collection + request: + name: CollectionsCreateRequest + body: + properties: + displayName: + type: string + docs: Name of the collection. Each collection name must be distinct. + singularName: + type: string + docs: Singular name of each item. + slug: + type: optional + docs: Part of a URL that identifier + content-type: application/json + response: + docs: Request was successful + type: CollectionsCreateResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + request: + displayName: Blog Posts + singularName: Blog Post + slug: posts + response: + body: + id: 580e63fc8c9a982ac9b8b745 + displayName: Blog Posts + singularName: Blog Post + slug: post + createdOn: '2016-10-24T19:41:48Z' + lastUpdated: '2016-10-24T19:42:38Z' + fields: + - id: 23cc2d952d4e4631ffd4345d2743db4e + isRequired: true + isEditable: true + type: PlainText + slug: name + displayName: Name + helpText: helpText + get: + path: /collections/{collection_id} + method: GET + auth: true + docs: | + Get the full details of a collection from its ID. + + Required scope | `cms:read` + source: + openapi: v2-data.yml + path-parameters: + collection_id: + type: string + docs: Unique identifier for a Collection + display-name: Get Collection Details + response: + docs: Request was successful + type: CollectionsGetResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + response: + body: + id: 580e63fc8c9a982ac9b8b745 + displayName: Blog Posts + singularName: Blog Post + slug: post + createdOn: '2016-10-24T19:41:48Z' + lastUpdated: '2016-10-24T19:42:38Z' + fields: + - id: 23cc2d952d4e4631ffd4345d2743db4e + isRequired: true + isEditable: true + type: PlainText + slug: name + displayName: Name + helpText: helpText + delete: + path: /collections/{collection_id} + method: DELETE + auth: true + docs: | + Delete a collection using its ID. + + Required scope | `cms:write` + source: + openapi: v2-data.yml + path-parameters: + collection_id: + type: string + docs: Unique identifier for a Collection + display-name: Delete Collection + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + source: + openapi: v2-data.yml + display-name: Collections diff --git a/.mock/definition/collections/fields.yml b/.mock/definition/collections/fields.yml new file mode 100644 index 00000000..23b14e39 --- /dev/null +++ b/.mock/definition/collections/fields.yml @@ -0,0 +1,279 @@ +types: + FieldsCreateRequestType: + enum: + - PlainText + - RichText + - Image + - MultiImage + - Video + - Link + - Email + - Phone + - Number + - DateTime + - Switch + - Color + - File + docs: Choose these appropriate field type for your collection data + source: + openapi: v2-data.yml + FieldsCreateResponseType: + enum: + - PlainText + - RichText + - Image + - MultiImage + - Video + - Link + - Email + - Phone + - Number + - DateTime + - Switch + - Color + - ExtFileRef + docs: Choose these appropriate field type for your collection data + source: + openapi: v2-data.yml + FieldsCreateResponse: + docs: The details of a field in a collection + properties: + id: + type: string + docs: Unique identifier for a Field + isRequired: + type: boolean + docs: define whether a field is required in a collection + isEditable: + type: optional + docs: Define whether the field is editable + type: + type: FieldsCreateResponseType + docs: Choose these appropriate field type for your collection data + slug: + type: optional + docs: >- + Slug of Field in Site URL structure. Slugs should be all lowercase + with no spaces. Any spaces will be converted to "-." + displayName: + type: string + docs: The name of a field + helpText: + type: optional + docs: Additional text to help anyone filling out this field + source: + openapi: v2-data.yml + FieldsUpdateResponseType: + enum: + - PlainText + - RichText + - Image + - MultiImage + - Video + - Link + - Email + - Phone + - Number + - DateTime + - Switch + - Color + - ExtFileRef + docs: Choose these appropriate field type for your collection data + source: + openapi: v2-data.yml + FieldsUpdateResponse: + docs: The details of a field in a collection + properties: + id: + type: string + docs: Unique identifier for a Field + isRequired: + type: boolean + docs: define whether a field is required in a collection + isEditable: + type: optional + docs: Define whether the field is editable + type: + type: FieldsUpdateResponseType + docs: Choose these appropriate field type for your collection data + slug: + type: optional + docs: >- + Slug of Field in Site URL structure. Slugs should be all lowercase + with no spaces. Any spaces will be converted to "-." + displayName: + type: string + docs: The name of a field + helpText: + type: optional + docs: Additional text to help anyone filling out this field + source: + openapi: v2-data.yml +imports: + root: ../__package__.yml +service: + auth: false + base-path: '' + endpoints: + create: + path: /collections/{collection_id}/fields + method: POST + auth: true + docs: > + Create a custom field in a collection. + + + Slugs must be all lowercase letters without spaces. + + If you pass a string with uppercase letters and/or spaces to the "Slug" + property, Webflow will + + convert the slug to lowercase and replace spaces with "-." + + + Only some field types can be created through the API. + + This endpoint does not currently support bulk creation. + + + Required scope | `cms:write` + source: + openapi: v2-data.yml + path-parameters: + collection_id: + type: string + docs: Unique identifier for a Collection + display-name: Create Collection Field + request: + name: FieldsCreateRequest + body: + properties: + isRequired: + type: optional + docs: define whether a field is required in a collection + type: + type: FieldsCreateRequestType + docs: Choose these appropriate field type for your collection data + displayName: + type: string + docs: The name of a field + helpText: + type: optional + docs: Additional text to help anyone filling out this field + content-type: application/json + response: + docs: Request was successful + type: FieldsCreateResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + request: + isRequired: false + type: RichText + displayName: Post Body + helpText: Add the body of your post here + response: + body: + id: 75821f618da60c18383330bcc0ca488b + isRequired: false + isEditable: true + type: RichText + slug: post-body + displayName: Post Body + helpText: Add the body of your post here + delete: + path: /collections/{collection_id}/fields/{field_id} + method: DELETE + auth: true + docs: > + Delete a custom field in a collection. This endpoint does not currently + support bulk deletion. + + + Required scope | `cms:write` + source: + openapi: v2-data.yml + path-parameters: + collection_id: + type: string + docs: Unique identifier for a Collection + field_id: + type: string + docs: Unique identifier for a Field in a collection + display-name: Delete Collection Field + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + field_id: 580e63fc8c9a982ac9b8b745 + update: + path: /collections/{collection_id}/fields/{field_id} + method: PATCH + auth: true + docs: | + Update a custom field in a collection. + + Required scope | `cms:write` + source: + openapi: v2-data.yml + path-parameters: + collection_id: + type: string + docs: Unique identifier for a Collection + field_id: + type: string + docs: Unique identifier for a Field in a collection + display-name: Update Collection Field + request: + name: FieldsUpdateRequest + body: + properties: + isRequired: + type: optional + docs: Define whether a field is required in a collection + displayName: + type: optional + docs: The name of a field + helpText: + type: optional + docs: Additional text to help anyone filling out this field + content-type: application/json + response: + docs: Request was successful + type: FieldsUpdateResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + field_id: 580e63fc8c9a982ac9b8b745 + request: + isRequired: false + displayName: Post Body + helpText: Add the body of your post here + response: + body: + id: 75821f618da60c18383330bcc0ca488b + isRequired: false + isEditable: true + type: RichText + slug: post-body + displayName: Post Body + helpText: Add the body of your post here + source: + openapi: v2-data.yml diff --git a/.mock/definition/collections/items.yml b/.mock/definition/collections/items.yml new file mode 100644 index 00000000..d8d5faac --- /dev/null +++ b/.mock/definition/collections/items.yml @@ -0,0 +1,2364 @@ +types: + ItemsListItemsRequestSortBy: + enum: + - lastPublished + - name + - slug + source: + openapi: v2-data.yml + ItemsListItemsRequestSortOrder: + enum: + - asc + - desc + source: + openapi: v2-data.yml + ItemsListItemsResponseItemsItemFieldData: + properties: + name: + type: optional + docs: Name of the Item + slug: + type: optional + docs: >- + URL structure of the Item in your site. Note: Updates to an item slug + will break all links referencing the old slug. + extra-properties: true + source: + openapi: v2-data.yml + ItemsListItemsResponseItemsItem: + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there are + a handful of additional fields that are automatically created for all + items + properties: + id: + type: string + docs: Unique identifier for the Item + cmsLocaleId: + type: optional + docs: Identifier for the locale of the CMS item + lastPublished: + type: optional + docs: The date the item was last published + lastUpdated: + type: optional + docs: The date the item was last updated + createdOn: + type: optional + docs: The date the item was created + isArchived: + type: optional + docs: Boolean determining if the Item is set to archived + default: false + isDraft: + type: optional + docs: Boolean determining if the Item is set to draft + default: false + fieldData: optional + source: + openapi: v2-data.yml + ItemsListItemsResponsePagination: + properties: + limit: + type: optional + docs: The limit specified in the request + default: 100 + offset: + type: optional + docs: The offset specified for pagination + default: 0 + total: + type: optional + docs: Total number of items in the collection + source: + openapi: v2-data.yml + ItemsListItemsResponse: + docs: Results from collection items list + properties: + items: + type: optional> + docs: List of Items within the collection + pagination: optional + source: + openapi: v2-data.yml + ItemsCreateItemRequestCmsLocaleIdFieldData: + properties: + name: + type: optional + docs: Name of the Item + slug: + type: optional + docs: >- + URL structure of the Item in your site. Note: Updates to an item slug + will break all links referencing the old slug. + extra-properties: true + source: + openapi: v2-data.yml + ItemsCreateItemRequestCmsLocaleId: + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there are + a handful of additional fields that are automatically created for all + items + properties: + cmsLocaleId: + type: optional + docs: Identifier for the locale of the CMS item + isArchived: + type: optional + docs: Boolean determining if the Item is set to archived + default: false + isDraft: + type: optional + docs: Boolean determining if the Item is set to draft + default: false + fieldData: optional + source: + openapi: v2-data.yml + ItemsCreateItemRequestItemsItemsItemFieldData: + properties: + name: + type: optional + docs: Name of the Item + slug: + type: optional + docs: >- + URL structure of the Item in your site. Note: Updates to an item slug + will break all links referencing the old slug. + extra-properties: true + source: + openapi: v2-data.yml + ItemsCreateItemRequestItemsItemsItem: + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there are + a handful of additional fields that are automatically created for all + items + properties: + cmsLocaleId: + type: optional + docs: Identifier for the locale of the CMS item + isArchived: + type: optional + docs: Boolean determining if the Item is set to archived + default: false + isDraft: + type: optional + docs: Boolean determining if the Item is set to draft + default: false + fieldData: optional + source: + openapi: v2-data.yml + ItemsCreateItemRequestItems: + properties: + items: + type: optional> + docs: An array of items to create + source: + openapi: v2-data.yml + ItemsCreateItemRequest: + discriminated: false + union: + - type: ItemsCreateItemRequestCmsLocaleId + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there + are a handful of additional fields that are automatically created for + all items + - ItemsCreateItemRequestItems + source: + openapi: v2-data.yml + ItemsCreateItemResponseFieldData: + properties: + name: + type: optional + docs: Name of the Item + slug: + type: optional + docs: >- + URL structure of the Item in your site. Note: Updates to an item slug + will break all links referencing the old slug. + extra-properties: true + source: + openapi: v2-data.yml + ItemsCreateItemResponse: + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there are + a handful of additional fields that are automatically created for all + items + properties: + id: + type: string + docs: Unique identifier for the Item + cmsLocaleId: + type: optional + docs: Identifier for the locale of the CMS item + lastPublished: + type: optional + docs: The date the item was last published + lastUpdated: + type: optional + docs: The date the item was last updated + createdOn: + type: optional + docs: The date the item was created + isArchived: + type: optional + docs: Boolean determining if the Item is set to archived + default: false + isDraft: + type: optional + docs: Boolean determining if the Item is set to draft + default: false + fieldData: optional + source: + openapi: v2-data.yml + ItemsDeleteItemsRequestItemsItem: + properties: + id: + type: string + docs: Unique identifier for the Item + cmsLocaleIds: + type: optional> + docs: Array of identifiers for the locales where the item will be created + source: + openapi: v2-data.yml + ItemsUpdateItemsRequestItemsItemFieldData: + properties: + name: + type: optional + docs: Name of the Item + slug: + type: optional + docs: >- + URL structure of the Item in your site. Note: Updates to an item slug + will break all links referencing the old slug. + extra-properties: true + source: + openapi: v2-data.yml + ItemsUpdateItemsRequestItemsItem: + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there are + a handful of additional fields that are automatically created for all + items + properties: + id: + type: string + docs: Unique identifier for the Item + cmsLocaleId: + type: optional + docs: Identifier for the locale of the CMS item + isArchived: + type: optional + docs: Boolean determining if the Item is set to archived + default: false + isDraft: + type: optional + docs: Boolean determining if the Item is set to draft + default: false + fieldData: optional + source: + openapi: v2-data.yml + ItemsUpdateItemsResponseFieldData: + properties: + name: + type: optional + docs: Name of the Item + slug: + type: optional + docs: >- + URL structure of the Item in your site. Note: Updates to an item slug + will break all links referencing the old slug. + extra-properties: true + source: + openapi: v2-data.yml + ItemsUpdateItemsResponse: + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there are + a handful of additional fields that are automatically created for all + items + properties: + id: + type: string + docs: Unique identifier for the Item + cmsLocaleId: + type: optional + docs: Identifier for the locale of the CMS item + lastPublished: + type: optional + docs: The date the item was last published + lastUpdated: + type: optional + docs: The date the item was last updated + createdOn: + type: optional + docs: The date the item was created + isArchived: + type: optional + docs: Boolean determining if the Item is set to archived + default: false + isDraft: + type: optional + docs: Boolean determining if the Item is set to draft + default: false + fieldData: optional + source: + openapi: v2-data.yml + ItemsListItemsLiveRequestSortBy: + enum: + - lastPublished + - name + - slug + source: + openapi: v2-data.yml + ItemsListItemsLiveRequestSortOrder: + enum: + - asc + - desc + source: + openapi: v2-data.yml + ItemsListItemsLiveResponseItemsItemFieldData: + properties: + name: + type: optional + docs: Name of the Item + slug: + type: optional + docs: >- + URL structure of the Item in your site. Note: Updates to an item slug + will break all links referencing the old slug. + extra-properties: true + source: + openapi: v2-data.yml + ItemsListItemsLiveResponseItemsItem: + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there are + a handful of additional fields that are automatically created for all + items + properties: + id: + type: string + docs: Unique identifier for the Item + cmsLocaleId: + type: optional + docs: Identifier for the locale of the CMS item + lastPublished: + type: optional + docs: The date the item was last published + lastUpdated: + type: optional + docs: The date the item was last updated + createdOn: + type: optional + docs: The date the item was created + isArchived: + type: optional + docs: Boolean determining if the Item is set to archived + default: false + isDraft: + type: optional + docs: Boolean determining if the Item is set to draft + default: false + fieldData: optional + source: + openapi: v2-data.yml + ItemsListItemsLiveResponsePagination: + properties: + limit: + type: optional + docs: The limit specified in the request + default: 100 + offset: + type: optional + docs: The offset specified for pagination + default: 0 + total: + type: optional + docs: Total number of items in the collection + source: + openapi: v2-data.yml + ItemsListItemsLiveResponse: + docs: Results from collection items list + properties: + items: + type: optional> + docs: List of Items within the collection + pagination: optional + source: + openapi: v2-data.yml + ItemsCreateItemLiveRequestCmsLocaleIdFieldData: + properties: + name: + type: optional + docs: Name of the Item + slug: + type: optional + docs: >- + URL structure of the Item in your site. Note: Updates to an item slug + will break all links referencing the old slug. + extra-properties: true + source: + openapi: v2-data.yml + ItemsCreateItemLiveRequestCmsLocaleId: + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there are + a handful of additional fields that are automatically created for all + items + properties: + cmsLocaleId: + type: optional + docs: Identifier for the locale of the CMS item + isArchived: + type: optional + docs: Boolean determining if the Item is set to archived + default: false + isDraft: + type: optional + docs: Boolean determining if the Item is set to draft + default: false + fieldData: optional + source: + openapi: v2-data.yml + ItemsCreateItemLiveRequestItemsItemsItemFieldData: + properties: + name: + type: optional + docs: Name of the Item + slug: + type: optional + docs: >- + URL structure of the Item in your site. Note: Updates to an item slug + will break all links referencing the old slug. + extra-properties: true + source: + openapi: v2-data.yml + ItemsCreateItemLiveRequestItemsItemsItem: + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there are + a handful of additional fields that are automatically created for all + items + properties: + cmsLocaleId: + type: optional + docs: Identifier for the locale of the CMS item + isArchived: + type: optional + docs: Boolean determining if the Item is set to archived + default: false + isDraft: + type: optional + docs: Boolean determining if the Item is set to draft + default: false + fieldData: optional + source: + openapi: v2-data.yml + ItemsCreateItemLiveRequestItems: + properties: + items: + type: optional> + docs: List of collection items to create + source: + openapi: v2-data.yml + ItemsCreateItemLiveRequest: + discriminated: false + union: + - type: ItemsCreateItemLiveRequestCmsLocaleId + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there + are a handful of additional fields that are automatically created for + all items + - ItemsCreateItemLiveRequestItems + source: + openapi: v2-data.yml + ItemsCreateItemLiveResponseFieldData: + properties: + name: + type: optional + docs: Name of the Item + slug: + type: optional + docs: >- + URL structure of the Item in your site. Note: Updates to an item slug + will break all links referencing the old slug. + extra-properties: true + source: + openapi: v2-data.yml + ItemsCreateItemLiveResponse: + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there are + a handful of additional fields that are automatically created for all + items + properties: + id: + type: string + docs: Unique identifier for the Item + cmsLocaleId: + type: optional + docs: Identifier for the locale of the CMS item + lastPublished: + type: optional + docs: The date the item was last published + lastUpdated: + type: optional + docs: The date the item was last updated + createdOn: + type: optional + docs: The date the item was created + isArchived: + type: optional + docs: Boolean determining if the Item is set to archived + default: false + isDraft: + type: optional + docs: Boolean determining if the Item is set to draft + default: false + fieldData: optional + source: + openapi: v2-data.yml + ItemsDeleteItemsLiveRequestItemsItem: + properties: + itemId: + type: string + docs: Unique identifier for the Item + cmsLocaleIds: + type: optional> + docs: Array of identifiers for the locales where the item will be created + source: + openapi: v2-data.yml + ItemsUpdateItemsLiveRequestItemsItemFieldData: + properties: + name: + type: optional + docs: Name of the Item + slug: + type: optional + docs: >- + URL structure of the Item in your site. Note: Updates to an item slug + will break all links referencing the old slug. + extra-properties: true + source: + openapi: v2-data.yml + ItemsUpdateItemsLiveRequestItemsItem: + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there are + a handful of additional fields that are automatically created for all + items + properties: + id: + type: string + docs: Unique identifier for the Item + cmsLocaleId: + type: optional + docs: Identifier for the locale of the CMS item + isArchived: + type: optional + docs: Boolean determining if the Item is set to archived + default: false + isDraft: + type: optional + docs: Boolean determining if the Item is set to draft + default: false + fieldData: optional + source: + openapi: v2-data.yml + ItemsUpdateItemsLiveResponseItemsItemFieldData: + properties: + name: + type: optional + docs: Name of the Item + slug: + type: optional + docs: >- + URL structure of the Item in your site. Note: Updates to an item slug + will break all links referencing the old slug. + extra-properties: true + source: + openapi: v2-data.yml + ItemsUpdateItemsLiveResponseItemsItem: + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there are + a handful of additional fields that are automatically created for all + items + properties: + id: + type: string + docs: Unique identifier for the Item + cmsLocaleId: + type: optional + docs: Identifier for the locale of the CMS item + lastPublished: + type: optional + docs: The date the item was last published + lastUpdated: + type: optional + docs: The date the item was last updated + createdOn: + type: optional + docs: The date the item was created + isArchived: + type: optional + docs: Boolean determining if the Item is set to archived + default: false + isDraft: + type: optional + docs: Boolean determining if the Item is set to draft + default: false + fieldData: optional + source: + openapi: v2-data.yml + ItemsUpdateItemsLiveResponse: + docs: Results from collection items list + properties: + items: + type: optional> + docs: List of Items within the collection + source: + openapi: v2-data.yml + ItemsCreateItemsRequestFieldDataName: + properties: + name: + type: string + docs: The name of the item. + slug: + type: string + docs: >- + URL slug for the item in your site. + + Note: Updating the item slug will break all links referencing the old + slug. + extra-properties: true + source: + openapi: v2-data.yml + ItemsCreateItemsRequestFieldDataItem: + properties: + name: + type: string + docs: The name of the item. + slug: + type: string + docs: >- + URL slug for the item in your site. + + Note: Updating the item slug will break all links referencing the old + slug. + extra-properties: true + source: + openapi: v2-data.yml + ItemsCreateItemsRequestFieldData: + discriminated: false + union: + - ItemsCreateItemsRequestFieldDataName + - list + source: + openapi: v2-data.yml + ItemsCreateItemsResponseFieldData: + properties: + name: + type: optional + docs: Name of the Item + slug: + type: optional + docs: >- + URL structure of the Item in your site. Note: Updates to an item slug + will break all links referencing the old slug. + extra-properties: true + source: + openapi: v2-data.yml + ItemsCreateItemsResponse: + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there are + a handful of additional fields that are automatically created for all + items + properties: + id: + type: string + docs: Unique identifier for the Item + cmsLocaleIds: + type: optional> + docs: Array of identifiers for the locales where the item will be created + lastPublished: + type: optional + docs: The date the item was last published + lastUpdated: + type: optional + docs: The date the item was last updated + createdOn: + type: optional + docs: The date the item was created + isArchived: + type: optional + docs: Boolean determining if the Item is set to archived + default: false + isDraft: + type: optional + docs: Boolean determining if the Item is set to draft + default: false + fieldData: optional + source: + openapi: v2-data.yml + ItemsGetItemResponseFieldData: + properties: + name: + type: optional + docs: Name of the Item + slug: + type: optional + docs: >- + URL structure of the Item in your site. Note: Updates to an item slug + will break all links referencing the old slug. + extra-properties: true + source: + openapi: v2-data.yml + ItemsGetItemResponse: + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there are + a handful of additional fields that are automatically created for all + items + properties: + id: + type: string + docs: Unique identifier for the Item + cmsLocaleId: + type: optional + docs: Identifier for the locale of the CMS item + lastPublished: + type: optional + docs: The date the item was last published + lastUpdated: + type: optional + docs: The date the item was last updated + createdOn: + type: optional + docs: The date the item was created + isArchived: + type: optional + docs: Boolean determining if the Item is set to archived + default: false + isDraft: + type: optional + docs: Boolean determining if the Item is set to draft + default: false + fieldData: optional + source: + openapi: v2-data.yml + ItemsUpdateItemRequestFieldData: + properties: + name: + type: optional + docs: Name of the Item + slug: + type: optional + docs: >- + URL structure of the Item in your site. Note: Updates to an item slug + will break all links referencing the old slug. + extra-properties: true + source: + openapi: v2-data.yml + ItemsUpdateItemResponseFieldData: + properties: + name: + type: optional + docs: Name of the Item + slug: + type: optional + docs: >- + URL structure of the Item in your site. Note: Updates to an item slug + will break all links referencing the old slug. + extra-properties: true + source: + openapi: v2-data.yml + ItemsUpdateItemResponse: + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there are + a handful of additional fields that are automatically created for all + items + properties: + id: + type: string + docs: Unique identifier for the Item + cmsLocaleId: + type: optional + docs: Identifier for the locale of the CMS item + lastPublished: + type: optional + docs: The date the item was last published + lastUpdated: + type: optional + docs: The date the item was last updated + createdOn: + type: optional + docs: The date the item was created + isArchived: + type: optional + docs: Boolean determining if the Item is set to archived + default: false + isDraft: + type: optional + docs: Boolean determining if the Item is set to draft + default: false + fieldData: optional + source: + openapi: v2-data.yml + ItemsGetItemLiveResponseFieldData: + properties: + name: + type: optional + docs: Name of the Item + slug: + type: optional + docs: >- + URL structure of the Item in your site. Note: Updates to an item slug + will break all links referencing the old slug. + extra-properties: true + source: + openapi: v2-data.yml + ItemsGetItemLiveResponse: + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there are + a handful of additional fields that are automatically created for all + items + properties: + id: + type: string + docs: Unique identifier for the Item + cmsLocaleId: + type: optional + docs: Identifier for the locale of the CMS item + lastPublished: + type: optional + docs: The date the item was last published + lastUpdated: + type: optional + docs: The date the item was last updated + createdOn: + type: optional + docs: The date the item was created + isArchived: + type: optional + docs: Boolean determining if the Item is set to archived + default: false + isDraft: + type: optional + docs: Boolean determining if the Item is set to draft + default: false + fieldData: optional + source: + openapi: v2-data.yml + ItemsUpdateItemLiveRequestFieldData: + properties: + name: + type: optional + docs: Name of the Item + slug: + type: optional + docs: >- + URL structure of the Item in your site. Note: Updates to an item slug + will break all links referencing the old slug. + extra-properties: true + source: + openapi: v2-data.yml + ItemsUpdateItemLiveResponseFieldData: + properties: + name: + type: optional + docs: Name of the Item + slug: + type: optional + docs: >- + URL structure of the Item in your site. Note: Updates to an item slug + will break all links referencing the old slug. + extra-properties: true + source: + openapi: v2-data.yml + ItemsUpdateItemLiveResponse: + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there are + a handful of additional fields that are automatically created for all + items + properties: + id: + type: string + docs: Unique identifier for the Item + cmsLocaleId: + type: optional + docs: Identifier for the locale of the CMS item + lastPublished: + type: optional + docs: The date the item was last published + lastUpdated: + type: optional + docs: The date the item was last updated + createdOn: + type: optional + docs: The date the item was created + isArchived: + type: optional + docs: Boolean determining if the Item is set to archived + default: false + isDraft: + type: optional + docs: Boolean determining if the Item is set to draft + default: false + fieldData: optional + source: + openapi: v2-data.yml + ItemsPublishItemResponse: + properties: + publishedItemIds: optional> + errors: optional> + source: + openapi: v2-data.yml +imports: + root: ../__package__.yml +service: + auth: false + base-path: '' + endpoints: + list-items: + path: /collections/{collection_id}/items + method: GET + auth: true + docs: | + List of all Items within a Collection. + + Required scope | `CMS:read` + source: + openapi: v2-data.yml + path-parameters: + collection_id: + type: string + docs: Unique identifier for a Collection + display-name: List Collection Items + request: + name: ItemsListItemsRequest + query-parameters: + cmsLocaleId: + type: optional + docs: >- + Unique identifier for a CMS Locale. This UID is different from the + Site locale identifier and is listed as `cmsLocaleId` in the Sites + response. To query multiple locales, input a comma separated + string. + offset: + type: optional + docs: >- + Offset used for pagination if the results have more than limit + records + limit: + type: optional + docs: 'Maximum number of records to be returned (max limit: 100)' + name: + type: optional + docs: The name of the item(s) + slug: + type: optional + docs: The slug of the item + sortBy: + type: optional + docs: Sort results by the provided value + sortOrder: + type: optional + docs: Sorts the results by asc or desc + response: + docs: Request was successful + type: ItemsListItemsResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + response: + body: + items: + - id: 62b720ef280c7a7a3be8cabe + cmsLocaleId: 66f6e966c9e1dc700a857ca3 + lastPublished: '2022-06-30T13:35:20.878Z' + lastUpdated: '2022-06-25T14:51:27.809Z' + createdOn: '2022-06-25T14:51:27.809Z' + isArchived: false + isDraft: false + fieldData: + name: Senior Data Analyst + slug: senior-data-analyst + - id: 62c880ef281c7b7b4cf9dabc + cmsLocaleId: 66f6e966c9e1dc700a857ca3 + lastPublished: '2023-04-15T10:25:18.123Z' + lastUpdated: '2023-04-10T11:45:30.567Z' + createdOn: '2023-04-10T11:45:30.567Z' + isArchived: false + isDraft: false + fieldData: + name: Product Manager + slug: product-manager + pagination: + limit: 25 + offset: 0 + total: 2 + create-item: + path: /collections/{collection_id}/items + method: POST + auth: true + docs: > + Create Item(s) in a Collection. + + + + To create items across multiple locales, please use [this + endpoint.](/data/v2.0.0/reference/cms/collection-items/bulk-items/create-items) + + + Required scope | `CMS:write` + source: + openapi: v2-data.yml + path-parameters: + collection_id: + type: string + docs: Unique identifier for a Collection + display-name: Create Collection Item(s) + request: + body: ItemsCreateItemRequest + content-type: application/json + response: + docs: Request was successful + type: ItemsCreateItemResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - name: SingleItem + path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + request: + isArchived: false + isDraft: false + fieldData: + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + response: + body: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + - name: MultipleItems + path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + request: + items: + - isArchived: false + isDraft: false + fieldData: + name: Senior Data Analyst + slug: senior-data-analyst + - isArchived: false + isDraft: false + fieldData: + name: Product Manager + slug: product-manager + response: + body: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + delete-items: + path: /collections/{collection_id}/items + method: DELETE + auth: true + docs: > + Delete Items from a Collection. + + + **Note:** If the `cmsLocaleId` parameter is undefined or empty and the + items are localized, items will be deleted only in the primary locale. + + + Required scope | `CMS:write` + source: + openapi: v2-data.yml + path-parameters: + collection_id: + type: string + docs: Unique identifier for a Collection + display-name: Delete Collection Items + request: + name: ItemsDeleteItemsRequest + body: + properties: + items: optional> + content-type: application/json + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + request: {} + update-items: + path: /collections/{collection_id}/items + method: PATCH + auth: true + docs: > + Update a single item or multiple items (up to 100) in a Collection. + + + **Note:** If the `cmsLocaleId` parameter is undefined or empty and the + items are localized, items will be updated only in the primary locale. + + + Required scope | `CMS:write` + source: + openapi: v2-data.yml + path-parameters: + collection_id: + type: string + docs: Unique identifier for a Collection + display-name: Update Collection Items + request: + name: ItemsUpdateItemsRequest + body: + properties: + items: optional> + content-type: application/json + response: + docs: Request was successful + type: ItemsUpdateItemsResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - name: LocalizedItems + path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + request: + items: + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca5 + fieldData: + name: Ne Paniquez Pas + slug: ne-paniquez-pas + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca4 + fieldData: + name: No Entrar en Pánico + slug: no-entrar-en-panico + - id: 66f6ed9576ddacf3149d5eaa + cmsLocaleId: 66f6e966c9e1dc700a857ca5 + fieldData: + name: Au Revoir et Merci pour Tous les Poissons + slug: au-revoir-et-merci + - id: 66f6ed9576ddacf3149d5eaa + cmsLocaleId: 66f6e966c9e1dc700a857ca4 + fieldData: + name: Hasta Luego y Gracias por Todo el Pescado + slug: hasta-luego-y-gracias + response: + body: + id: 580e64008c9a982ac9b8b754 + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2023-03-17T18:47:35.560Z' + lastUpdated: '2023-03-17T18:47:35.560Z' + createdOn: '2023-03-17T18:47:35.560Z' + isArchived: true + isDraft: true + fieldData: + name: My new item + slug: my-new-item + - name: MultipleItems + path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + request: + items: + - id: 580e64008c9a982ac9b8b754 + isArchived: false + isDraft: false + fieldData: + name: Senior Data Analyst + slug: senior-data-analyst + - id: 580e64008c9a982ac9b8b754 + isArchived: false + isDraft: false + fieldData: + name: Product Manager + slug: product-manager + response: + body: + id: 580e64008c9a982ac9b8b754 + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2023-03-17T18:47:35.560Z' + lastUpdated: '2023-03-17T18:47:35.560Z' + createdOn: '2023-03-17T18:47:35.560Z' + isArchived: true + isDraft: true + fieldData: + name: My new item + slug: my-new-item + - name: Multiple items updated across multiple locales + path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + request: + items: + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca5 + fieldData: + name: Ne Paniquez Pas + slug: ne-paniquez-pas + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca4 + fieldData: + name: No Entrar en Pánico + slug: no-entrar-en-panico + - id: 66f6ed9576ddacf3149d5eaa + cmsLocaleId: 66f6e966c9e1dc700a857ca5 + fieldData: + name: Au Revoir et Merci pour Tous les Poissons + slug: au-revoir-et-merci + - id: 66f6ed9576ddacf3149d5eaa + cmsLocaleId: 66f6e966c9e1dc700a857ca4 + fieldData: + name: Hasta Luego y Gracias por Todo el Pescado + slug: hasta-luego-y-gracias + response: + body: + id: 580e64008c9a982ac9b8b754 + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2023-03-17T18:47:35.560Z' + lastUpdated: '2023-03-17T18:47:35.560Z' + createdOn: '2023-03-17T18:47:35.560Z' + isArchived: true + isDraft: true + fieldData: + name: My new item + slug: my-new-item + - name: Mulitple items updated in a single locale + path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + request: + items: + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca5 + fieldData: + name: Ne Paniquez Pas + slug: ne-paniquez-pas + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca4 + fieldData: + name: No Entrar en Pánico + slug: no-entrar-en-panico + - id: 66f6ed9576ddacf3149d5eaa + cmsLocaleId: 66f6e966c9e1dc700a857ca5 + fieldData: + name: Au Revoir et Merci pour Tous les Poissons + slug: au-revoir-et-merci + - id: 66f6ed9576ddacf3149d5eaa + cmsLocaleId: 66f6e966c9e1dc700a857ca4 + fieldData: + name: Hasta Luego y Gracias por Todo el Pescado + slug: hasta-luego-y-gracias + response: + body: + id: 580e64008c9a982ac9b8b754 + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2023-03-17T18:47:35.560Z' + lastUpdated: '2023-03-17T18:47:35.560Z' + createdOn: '2023-03-17T18:47:35.560Z' + isArchived: true + isDraft: true + fieldData: + name: My new item + slug: my-new-item + list-items-live: + path: /collections/{collection_id}/items/live + method: GET + auth: true + docs: | + List of all live Items within a Collection. + + Required scope | `CMS:read` + source: + openapi: v2-data.yml + path-parameters: + collection_id: + type: string + docs: Unique identifier for a Collection + display-name: List Live Collection Items + request: + name: ItemsListItemsLiveRequest + query-parameters: + cmsLocaleId: + type: optional + docs: >- + Unique identifier for a CMS Locale. This UID is different from the + Site locale identifier and is listed as `cmsLocaleId` in the Sites + response. To query multiple locales, input a comma separated + string. + offset: + type: optional + docs: >- + Offset used for pagination if the results have more than limit + records + limit: + type: optional + docs: 'Maximum number of records to be returned (max limit: 100)' + name: + type: optional + docs: The name of the item(s) + slug: + type: optional + docs: The slug of the item + sortBy: + type: optional + docs: Sort results by the provided value + sortOrder: + type: optional + docs: Sorts the results by asc or desc + response: + docs: Request was successful + type: ItemsListItemsLiveResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + response: + body: + items: + - id: 62b720ef280c7a7a3be8cabe + cmsLocaleId: 66f6e966c9e1dc700a857ca3 + lastPublished: '2022-06-30T13:35:20.878Z' + lastUpdated: '2022-06-25T14:51:27.809Z' + createdOn: '2022-06-25T14:51:27.809Z' + isArchived: false + isDraft: false + fieldData: + name: Senior Data Analyst + slug: senior-data-analyst + - id: 62c880ef281c7b7b4cf9dabc + cmsLocaleId: 66f6e966c9e1dc700a857ca3 + lastPublished: '2023-04-15T10:25:18.123Z' + lastUpdated: '2023-04-10T11:45:30.567Z' + createdOn: '2023-04-10T11:45:30.567Z' + isArchived: false + isDraft: false + fieldData: + name: Product Manager + slug: product-manager + pagination: + limit: 25 + offset: 0 + total: 2 + create-item-live: + path: /collections/{collection_id}/items/live + method: POST + auth: true + docs: > + Create live Item(s) in a Collection. The Item(s) will be published to + the live site. + + + + To create items across multiple locales, [please use this + endpoint.](/v2.0.0/data/reference/cms/collection-items/bulk-items/create-items) + + + + Required scope | `CMS:write` + source: + openapi: v2-data.yml + path-parameters: + collection_id: + type: string + docs: Unique identifier for a Collection + display-name: Create Live Collection Item(s) + request: + body: ItemsCreateItemLiveRequest + content-type: application/json + response: + docs: Request was successful + type: ItemsCreateItemLiveResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - name: SingleItem + path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + request: + isArchived: false + isDraft: false + fieldData: + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + response: + body: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + - name: MultipleItems + path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + request: + items: + - isArchived: false + isDraft: false + fieldData: + name: Senior Data Analyst + slug: senior-data-analyst + - isArchived: false + isDraft: false + fieldData: + name: Product Manager + slug: product-manager + response: + body: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + delete-items-live: + path: /collections/{collection_id}/items/live + method: DELETE + auth: true + docs: > + Remove an item or multiple items (up to 100 items) from the live site. + Deleting published items will unpublish the items from the live site and + set them to draft. + + + **Note:** If the `cmsLocaleId` parameter is undefined or empty and the + items are localized, items will be unpublished only in the primary + locale. + + + Required scope | `CMS:write` + source: + openapi: v2-data.yml + path-parameters: + collection_id: + type: string + docs: Unique identifier for a Collection + display-name: Delete Live Collection Items + request: + name: ItemsDeleteItemsLiveRequest + body: + properties: + items: optional> + content-type: application/json + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + request: {} + update-items-live: + path: /collections/{collection_id}/items/live + method: PATCH + auth: true + docs: > + Update a single live item or multiple live items (up to 100) in a + Collection + + + **Note:** If the `cmsLocaleId` parameter is undefined or empty and the + items are localized, items will be updated only in the primary locale. + + + Required scope | `CMS:write` + source: + openapi: v2-data.yml + path-parameters: + collection_id: + type: string + docs: Unique identifier for a Collection + display-name: Update Live Collection Items + request: + name: ItemsUpdateItemsLiveRequest + body: + properties: + items: optional> + content-type: application/json + response: + docs: Request was successful + type: ItemsUpdateItemsLiveResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - name: LocalizedItems + path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + request: + items: + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca5 + fieldData: + name: Ne Paniquez Pas + slug: ne-paniquez-pas + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca4 + fieldData: + name: No Entrar en Pánico + slug: no-entrar-en-panico + - id: 66f6ed9576ddacf3149d5eaa + cmsLocaleId: 66f6e966c9e1dc700a857ca5 + fieldData: + name: Au Revoir et Merci pour Tous les Poissons + slug: au-revoir-et-merci + - id: 66f6ed9576ddacf3149d5eaa + cmsLocaleId: 66f6e966c9e1dc700a857ca4 + fieldData: + name: Hasta Luego y Gracias por Todo el Pescado + slug: hasta-luego-y-gracias + response: + body: + items: + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca5 + lastPublished: '2023-03-17T18:47:35.560Z' + lastUpdated: '2024-09-27T17:38:29.066Z' + createdOn: '2024-09-27T17:38:29.066Z' + isArchived: true + isDraft: true + fieldData: + name: Ne Paniquez Pas + slug: ne-paniquez-pas + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca4 + lastPublished: '2023-03-17T18:47:35.560Z' + lastUpdated: '2024-09-27T17:38:29.066Z' + createdOn: '2024-09-27T17:38:29.066Z' + isArchived: true + isDraft: true + fieldData: + name: No Entrar en Pánico + slug: no-entrar-en-panico + - id: 66f6ed9576ddacf3149d5eaa + cmsLocaleId: 66f6e966c9e1dc700a857ca5 + lastPublished: '2023-03-17T18:47:35.560Z' + lastUpdated: '2024-09-27T17:38:29.066Z' + createdOn: '2024-09-27T17:38:29.066Z' + isArchived: true + isDraft: true + fieldData: + name: Au Revoir et Merci pour Tous les Poissons + slug: au-revoir-et-merci + - id: 66f6ed9576ddacf3149d5eaa + cmsLocaleId: 66f6e966c9e1dc700a857ca4 + lastPublished: '2023-03-17T18:47:35.560Z' + lastUpdated: '2024-09-27T17:38:29.066Z' + createdOn: '2024-09-27T17:38:29.066Z' + isArchived: true + isDraft: true + fieldData: + name: Hasta Luego y Gracias por Todo el Pescado + slug: hasta-luego-y-gracias + - name: MultipleItems + path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + request: + items: + - id: 580e64008c9a982ac9b8b754 + isArchived: false + isDraft: false + fieldData: + name: Senior Data Analyst + slug: senior-data-analyst + - id: 580e64008c9a982ac9b8b754 + isArchived: false + isDraft: false + fieldData: + name: Product Manager + slug: product-manager + response: + body: + items: + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca5 + lastPublished: '2023-03-17T18:47:35.560Z' + lastUpdated: '2024-09-27T17:38:29.066Z' + createdOn: '2024-09-27T17:38:29.066Z' + isArchived: true + isDraft: true + fieldData: + name: Ne Paniquez Pas + slug: ne-paniquez-pas + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca4 + lastPublished: '2023-03-17T18:47:35.560Z' + lastUpdated: '2024-09-27T17:38:29.066Z' + createdOn: '2024-09-27T17:38:29.066Z' + isArchived: true + isDraft: true + fieldData: + name: No Entrar en Pánico + slug: no-entrar-en-panico + - id: 66f6ed9576ddacf3149d5eaa + cmsLocaleId: 66f6e966c9e1dc700a857ca5 + lastPublished: '2023-03-17T18:47:35.560Z' + lastUpdated: '2024-09-27T17:38:29.066Z' + createdOn: '2024-09-27T17:38:29.066Z' + isArchived: true + isDraft: true + fieldData: + name: Au Revoir et Merci pour Tous les Poissons + slug: au-revoir-et-merci + - id: 66f6ed9576ddacf3149d5eaa + cmsLocaleId: 66f6e966c9e1dc700a857ca4 + lastPublished: '2023-03-17T18:47:35.560Z' + lastUpdated: '2024-09-27T17:38:29.066Z' + createdOn: '2024-09-27T17:38:29.066Z' + isArchived: true + isDraft: true + fieldData: + name: Hasta Luego y Gracias por Todo el Pescado + slug: hasta-luego-y-gracias + - name: Multiple items updated across multiple locales + path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + request: + items: + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca5 + fieldData: + name: Ne Paniquez Pas + slug: ne-paniquez-pas + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca4 + fieldData: + name: No Entrar en Pánico + slug: no-entrar-en-panico + - id: 66f6ed9576ddacf3149d5eaa + cmsLocaleId: 66f6e966c9e1dc700a857ca5 + fieldData: + name: Au Revoir et Merci pour Tous les Poissons + slug: au-revoir-et-merci + - id: 66f6ed9576ddacf3149d5eaa + cmsLocaleId: 66f6e966c9e1dc700a857ca4 + fieldData: + name: Hasta Luego y Gracias por Todo el Pescado + slug: hasta-luego-y-gracias + response: + body: + items: + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca5 + lastPublished: '2023-03-17T18:47:35.560Z' + lastUpdated: '2024-09-27T17:38:29.066Z' + createdOn: '2024-09-27T17:38:29.066Z' + isArchived: true + isDraft: true + fieldData: + name: Ne Paniquez Pas + slug: ne-paniquez-pas + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca4 + lastPublished: '2023-03-17T18:47:35.560Z' + lastUpdated: '2024-09-27T17:38:29.066Z' + createdOn: '2024-09-27T17:38:29.066Z' + isArchived: true + isDraft: true + fieldData: + name: No Entrar en Pánico + slug: no-entrar-en-panico + - id: 66f6ed9576ddacf3149d5eaa + cmsLocaleId: 66f6e966c9e1dc700a857ca5 + lastPublished: '2023-03-17T18:47:35.560Z' + lastUpdated: '2024-09-27T17:38:29.066Z' + createdOn: '2024-09-27T17:38:29.066Z' + isArchived: true + isDraft: true + fieldData: + name: Au Revoir et Merci pour Tous les Poissons + slug: au-revoir-et-merci + - id: 66f6ed9576ddacf3149d5eaa + cmsLocaleId: 66f6e966c9e1dc700a857ca4 + lastPublished: '2023-03-17T18:47:35.560Z' + lastUpdated: '2024-09-27T17:38:29.066Z' + createdOn: '2024-09-27T17:38:29.066Z' + isArchived: true + isDraft: true + fieldData: + name: Hasta Luego y Gracias por Todo el Pescado + slug: hasta-luego-y-gracias + - name: Mulitple items updated in a single locale + path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + request: + items: + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca5 + fieldData: + name: Ne Paniquez Pas + slug: ne-paniquez-pas + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca4 + fieldData: + name: No Entrar en Pánico + slug: no-entrar-en-panico + - id: 66f6ed9576ddacf3149d5eaa + cmsLocaleId: 66f6e966c9e1dc700a857ca5 + fieldData: + name: Au Revoir et Merci pour Tous les Poissons + slug: au-revoir-et-merci + - id: 66f6ed9576ddacf3149d5eaa + cmsLocaleId: 66f6e966c9e1dc700a857ca4 + fieldData: + name: Hasta Luego y Gracias por Todo el Pescado + slug: hasta-luego-y-gracias + response: + body: + items: + - id: 62b720ef280c7a7a3be8cabe + cmsLocaleId: 66f6e966c9e1dc700a857ca3 + lastPublished: '2022-06-30T13:35:20.878Z' + lastUpdated: '2022-06-25T14:51:27.809Z' + createdOn: '2022-06-25T14:51:27.809Z' + isArchived: false + isDraft: false + fieldData: + name: Senior Data Analyst + slug: senior-data-analyst + - id: 62c880ef281c7b7b4cf9dabc + cmsLocaleId: 66f6e966c9e1dc700a857ca3 + lastPublished: '2023-04-15T10:25:18.123Z' + lastUpdated: '2023-04-10T11:45:30.567Z' + createdOn: '2023-04-10T11:45:30.567Z' + isArchived: false + isDraft: false + fieldData: + name: Product Manager + slug: product-manager + create-items: + path: /collections/{collection_id}/items/bulk + method: POST + auth: true + docs: > + Create an item or multiple items in a CMS Collection across multiple + corresponding locales. + + + **Notes:** + - This endpoint can create up to 100 items in a request. + - If the `cmsLocaleIds` parameter is undefined or empty and localization is enabled, items will only be created in the primary locale. + + Required scope | `CMS:write` + source: + openapi: v2-data.yml + path-parameters: + collection_id: + type: string + docs: Unique identifier for a Collection + display-name: Create Collection Items + request: + name: ItemsCreateItemsRequest + body: + properties: + cmsLocaleIds: + type: optional> + docs: >- + Array of identifiers for the locales where the item will be + created + isArchived: + type: optional + docs: Indicates whether the item is archived. + default: false + isDraft: + type: optional + docs: Indicates whether the item is in draft state. + default: false + fieldData: optional + content-type: application/json + response: + docs: Request was successful + type: ItemsCreateItemsResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - name: Create a single item across multiple locales + path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + request: + cmsLocaleIds: + - 66f6e966c9e1dc700a857ca3 + - 66f6e966c9e1dc700a857ca4 + - 66f6e966c9e1dc700a857ca5 + isArchived: false + isDraft: false + fieldData: + name: Don’t Panic + slug: dont-panic + response: + body: + id: 580e64008c9a982ac9b8b754 + cmsLocaleIds: + - 653ad57de882f528b32e810e + - 6514390aea353fc691d69827 + - 65143930ea353fc691d69cd8 + lastPublished: '2023-03-17T18:47:35.560Z' + lastUpdated: '2023-03-17T18:47:35.560Z' + createdOn: '2023-03-17T18:47:35.560Z' + isArchived: true + isDraft: true + fieldData: + name: My new item + slug: my-new-item + - name: Create multiple items across multipel locales + path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + request: + cmsLocaleIds: + - 66f6e966c9e1dc700a857ca3 + - 66f6e966c9e1dc700a857ca4 + isArchived: false + isDraft: false + fieldData: + - name: Don’t Panic + slug: dont-panic + - name: So Long and Thanks for All the Fish + slug: so-long-and-thanks + response: + body: + id: 580e64008c9a982ac9b8b754 + cmsLocaleIds: + - 653ad57de882f528b32e810e + - 6514390aea353fc691d69827 + - 65143930ea353fc691d69cd8 + lastPublished: '2023-03-17T18:47:35.560Z' + lastUpdated: '2023-03-17T18:47:35.560Z' + createdOn: '2023-03-17T18:47:35.560Z' + isArchived: true + isDraft: true + fieldData: + name: My new item + slug: my-new-item + - name: Single item created across multiple locales + path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + request: + cmsLocaleIds: + - 66f6e966c9e1dc700a857ca3 + - 66f6e966c9e1dc700a857ca4 + - 66f6e966c9e1dc700a857ca5 + isArchived: false + isDraft: false + fieldData: + name: Don’t Panic + slug: dont-panic + response: + body: + id: 580e64008c9a982ac9b8b754 + cmsLocaleIds: + - 653ad57de882f528b32e810e + - 6514390aea353fc691d69827 + - 65143930ea353fc691d69cd8 + lastPublished: '2023-03-17T18:47:35.560Z' + lastUpdated: '2023-03-17T18:47:35.560Z' + createdOn: '2023-03-17T18:47:35.560Z' + isArchived: true + isDraft: true + fieldData: + name: My new item + slug: my-new-item + - name: Multiple items created across multiple locales + path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + request: + cmsLocaleIds: + - 66f6e966c9e1dc700a857ca3 + - 66f6e966c9e1dc700a857ca4 + - 66f6e966c9e1dc700a857ca5 + isArchived: false + isDraft: false + fieldData: + name: Don’t Panic + slug: dont-panic + response: + body: + id: 580e64008c9a982ac9b8b754 + cmsLocaleIds: + - 653ad57de882f528b32e810e + - 6514390aea353fc691d69827 + - 65143930ea353fc691d69cd8 + lastPublished: '2023-03-17T18:47:35.560Z' + lastUpdated: '2023-03-17T18:47:35.560Z' + createdOn: '2023-03-17T18:47:35.560Z' + isArchived: true + isDraft: true + fieldData: + name: My new item + slug: my-new-item + get-item: + path: /collections/{collection_id}/items/{item_id} + method: GET + auth: true + docs: | + Get details of a selected Collection Item. + + Required scope | `CMS:read` + source: + openapi: v2-data.yml + path-parameters: + collection_id: + type: string + docs: Unique identifier for a Collection + item_id: + type: string + docs: Unique identifier for an Item + display-name: Get Collection Item + request: + name: ItemsGetItemRequest + query-parameters: + cmsLocaleId: + type: optional + docs: >- + Unique identifier for a CMS Locale. This UID is different from the + Site locale identifier and is listed as `cmsLocaleId` in the Sites + response. To query multiple locales, input a comma separated + string. + response: + docs: Request was successful + type: ItemsGetItemResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + item_id: 580e64008c9a982ac9b8b754 + response: + body: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + delete-item: + path: /collections/{collection_id}/items/{item_id} + method: DELETE + auth: true + docs: > + Delete an Item from a Collection. This endpoint does not currently + support bulk deletion. + + + Required scope | `CMS:write` + source: + openapi: v2-data.yml + path-parameters: + collection_id: + type: string + docs: Unique identifier for a Collection + item_id: + type: string + docs: Unique identifier for an Item + display-name: Delete Collection Item + request: + name: ItemsDeleteItemRequest + query-parameters: + cmsLocaleId: + type: optional + docs: >- + Unique identifier for a CMS Locale. This UID is different from the + Site locale identifier and is listed as `cmsLocaleId` in the Sites + response. To query multiple locales, input a comma separated + string. + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + item_id: 580e64008c9a982ac9b8b754 + update-item: + path: /collections/{collection_id}/items/{item_id} + method: PATCH + auth: true + docs: | + Update a selected Item in a Collection. + + Required scope | `CMS:write` + source: + openapi: v2-data.yml + path-parameters: + collection_id: + type: string + docs: Unique identifier for a Collection + item_id: + type: string + docs: Unique identifier for an Item + display-name: Update Collection Item + request: + name: ItemsUpdateItemRequest + body: + properties: + id: + type: string + docs: Unique identifier for the Item + cmsLocaleId: + type: optional + docs: Identifier for the locale of the CMS item + lastPublished: + type: optional + docs: The date the item was last published + lastUpdated: + type: optional + docs: The date the item was last updated + createdOn: + type: optional + docs: The date the item was created + isArchived: + type: optional + docs: Boolean determining if the Item is set to archived + default: false + isDraft: + type: optional + docs: Boolean determining if the Item is set to draft + default: false + fieldData: optional + content-type: application/json + response: + docs: Request was successful + type: ItemsUpdateItemResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + item_id: 580e64008c9a982ac9b8b754 + request: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + response: + body: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + get-item-live: + path: /collections/{collection_id}/items/{item_id}/live + method: GET + auth: true + docs: | + Get details of a selected Collection live Item. + + Required scope | `CMS:read` + source: + openapi: v2-data.yml + path-parameters: + collection_id: + type: string + docs: Unique identifier for a Collection + item_id: + type: string + docs: Unique identifier for an Item + display-name: Get Live Collection Item + request: + name: ItemsGetItemLiveRequest + query-parameters: + cmsLocaleId: + type: optional + docs: >- + Unique identifier for a CMS Locale. This UID is different from the + Site locale identifier and is listed as `cmsLocaleId` in the Sites + response. To query multiple locales, input a comma separated + string. + response: + docs: Request was successful + type: ItemsGetItemLiveResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + item_id: 580e64008c9a982ac9b8b754 + response: + body: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + delete-item-live: + path: /collections/{collection_id}/items/{item_id}/live + method: DELETE + auth: true + docs: > + Remove a live item from the site. Removing a published item will + unpublish the item from the live site and set it to draft. + + + This endpoint does not currently support bulk deletion. + + + Required scope | `CMS:write` + source: + openapi: v2-data.yml + path-parameters: + collection_id: + type: string + docs: Unique identifier for a Collection + item_id: + type: string + docs: Unique identifier for an Item + display-name: Delete Live Collection Item + request: + name: ItemsDeleteItemLiveRequest + query-parameters: + cmsLocaleId: + type: optional + docs: >- + Unique identifier for a CMS Locale. This UID is different from the + Site locale identifier and is listed as `cmsLocaleId` in the Sites + response. To query multiple locales, input a comma separated + string. + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + item_id: 580e64008c9a982ac9b8b754 + update-item-live: + path: /collections/{collection_id}/items/{item_id}/live + method: PATCH + auth: true + docs: > + Update a selected live Item in a Collection. The updates for this Item + will be published to the live site. + + + Required scope | `CMS:write` + source: + openapi: v2-data.yml + path-parameters: + collection_id: + type: string + docs: Unique identifier for a Collection + item_id: + type: string + docs: Unique identifier for an Item + display-name: Update Live Collection Item + request: + name: ItemsUpdateItemLiveRequest + body: + properties: + id: + type: string + docs: Unique identifier for the Item + cmsLocaleId: + type: optional + docs: Identifier for the locale of the CMS item + lastPublished: + type: optional + docs: The date the item was last published + lastUpdated: + type: optional + docs: The date the item was last updated + createdOn: + type: optional + docs: The date the item was created + isArchived: + type: optional + docs: Boolean determining if the Item is set to archived + default: false + isDraft: + type: optional + docs: Boolean determining if the Item is set to draft + default: false + fieldData: optional + content-type: application/json + response: + docs: Request was successful + type: ItemsUpdateItemLiveResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + item_id: 580e64008c9a982ac9b8b754 + request: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + response: + body: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + publish-item: + path: /collections/{collection_id}/items/publish + method: POST + auth: true + docs: | + Publish an item or multiple items. + + Required scope | `cms:write` + source: + openapi: v2-data.yml + path-parameters: + collection_id: + type: string + docs: Unique identifier for a Collection + display-name: Publish Collection Item + request: + name: ItemsPublishItemRequest + body: + properties: + itemIds: list + content-type: application/json + response: + docs: Request was successful + type: ItemsPublishItemResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.ConflictError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + request: + itemIds: + - itemIds + response: + body: + publishedItemIds: + - 643fd856d66b6528195ee2ca + - 643fd856d66b6528195ee2cb + errors: + - Staging item ID 643fd856d66b6528195ee2cf not found. + source: + openapi: v2-data.yml diff --git a/.mock/definition/ecommerce.yml b/.mock/definition/ecommerce.yml new file mode 100644 index 00000000..685d5734 --- /dev/null +++ b/.mock/definition/ecommerce.yml @@ -0,0 +1,57 @@ +types: + EcommerceGetSettingsResponse: + docs: Ecommerce settings for a Webflow Site + properties: + siteId: + type: optional + docs: The identifier of the Site + createdOn: + type: optional + docs: Date that the Site was created on + defaultCurrency: + type: optional + docs: The three-letter ISO currency code for the Site + source: + openapi: v2-data.yml +imports: + root: __package__.yml +service: + auth: false + base-path: '' + endpoints: + get-settings: + path: /sites/{site_id}/ecommerce/settings + method: GET + auth: true + docs: | + Retrieve ecommerce settings for a site. + + Required scope | `ecommerce:read` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + display-name: Get Ecommerce Settings + response: + docs: Request was successful + type: EcommerceGetSettingsResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.ConflictError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + response: + body: + siteId: 5eb0b5583bf24e2d3a488969 + createdOn: '2018-10-04T15:21:02Z' + defaultCurrency: USD + source: + openapi: v2-data.yml diff --git a/.mock/definition/forms.yml b/.mock/definition/forms.yml new file mode 100644 index 00000000..5849f725 --- /dev/null +++ b/.mock/definition/forms.yml @@ -0,0 +1,663 @@ +types: + FormsListResponseFormsItemFieldsValueType: + enum: + - Plain + - Email + - Password + - Phone + - Number + docs: The field type + source: + openapi: v2-data.yml + FormsListResponseFormsItemFieldsValue: + docs: An object containing field info for a specific fieldID. + properties: + displayName: + type: optional + docs: The field name displayed on the site + type: + type: optional + docs: The field type + placeholder: + type: optional + docs: The placeholder text for the field + userVisible: + type: optional + docs: Whether the field is visible to the user + source: + openapi: v2-data.yml + FormsListResponseFormsItemResponseSettings: + docs: Settings for form responses + properties: + redirectUrl: + type: optional + docs: The url or path to redirect the user to after form submission + redirectMethod: + type: optional + docs: The HTTP request method to use for the redirectUrl (eg. POST or GET) + redirectAction: + type: optional + docs: The action to take after form submission + sendEmailConfirmation: + type: optional + docs: Whether to send an email confirmation to the user + source: + openapi: v2-data.yml + FormsListResponseFormsItem: + docs: A Webflow form + properties: + displayName: + type: optional + docs: The Form name displayed on the site + createdOn: + type: optional + docs: Date that the Form was created on + lastUpdated: + type: optional + docs: Date that the Form was last updated on + fields: + type: optional> + docs: A collection of form field objects + responseSettings: + type: optional + docs: Settings for form responses + id: + type: optional + docs: The unique ID for the Form + siteId: + type: optional + docs: The unique ID of the Site the Form belongs to + siteDomainId: + type: optional + docs: The unique ID corresponding to the site's Domain name + pageId: + type: optional + docs: The unique ID for the Page on which the Form is placed + pageName: + type: optional + docs: The user-visible name of the Page where the Form is placed + formElementId: + type: optional + docs: The unique ID of the Form element + workspaceId: + type: optional + docs: The unique ID of the Workspace the Site belongs to + source: + openapi: v2-data.yml + FormsListResponsePagination: + docs: Pagination object + properties: + limit: + type: optional + docs: The limit used for pagination + offset: + type: optional + docs: The offset used for pagination + total: + type: optional + docs: The total number of records + source: + openapi: v2-data.yml + FormsListResponse: + docs: A list of forms + properties: + forms: optional> + pagination: + type: optional + docs: Pagination object + source: + openapi: v2-data.yml + FormsGetResponseFieldsValueType: + enum: + - Plain + - Email + - Password + - Phone + - Number + docs: The field type + source: + openapi: v2-data.yml + FormsGetResponseFieldsValue: + docs: An object containing field info for a specific fieldID. + properties: + displayName: + type: optional + docs: The field name displayed on the site + type: + type: optional + docs: The field type + placeholder: + type: optional + docs: The placeholder text for the field + userVisible: + type: optional + docs: Whether the field is visible to the user + source: + openapi: v2-data.yml + FormsGetResponseResponseSettings: + docs: Settings for form responses + properties: + redirectUrl: + type: optional + docs: The url or path to redirect the user to after form submission + redirectMethod: + type: optional + docs: The HTTP request method to use for the redirectUrl (eg. POST or GET) + redirectAction: + type: optional + docs: The action to take after form submission + sendEmailConfirmation: + type: optional + docs: Whether to send an email confirmation to the user + source: + openapi: v2-data.yml + FormsGetResponse: + docs: A form and its corresponding metadata + properties: + displayName: + type: optional + docs: The Form name displayed on the site + createdOn: + type: optional + docs: Date that the Form was created on + lastUpdated: + type: optional + docs: Date that the Form was last updated on + fields: + type: optional> + docs: A collection of form field objects + responseSettings: + type: optional + docs: Settings for form responses + id: + type: optional + docs: The unique ID for the Form + siteId: + type: optional + docs: The unique ID of the Site the Form belongs to + siteDomainId: + type: optional + docs: The unique ID corresponding to the site's Domain name + pageId: + type: optional + docs: The unique ID for the Page on which the Form is placed + pageName: + type: optional + docs: The user-visible name of the Page where the Form is placed + formElementId: + type: optional + docs: The unique ID of the Form element + workspaceId: + type: optional + docs: The unique ID of the Workspace the Site belongs to + source: + openapi: v2-data.yml + FormsListSubmissionsResponseFormSubmissionsItem: + properties: + id: + type: optional + docs: The unique ID of the Form submission + displayName: + type: optional + docs: The Form name displayed on the site + siteId: + type: optional + docs: The unique ID of the Site the Form belongs to + workspaceId: + type: optional + docs: The unique ID of the Workspace the Site belongs to + dateSubmitted: + type: optional + docs: Date that the Form was submitted on + formResponse: + type: optional> + docs: The data submitted in the Form + source: + openapi: v2-data.yml + FormsListSubmissionsResponsePagination: + docs: Pagination object + properties: + limit: + type: optional + docs: The limit used for pagination + offset: + type: optional + docs: The offset used for pagination + total: + type: optional + docs: The total number of records + source: + openapi: v2-data.yml + FormsListSubmissionsResponse: + docs: A list of form submissions + properties: + formSubmissions: optional> + pagination: + type: optional + docs: Pagination object + source: + openapi: v2-data.yml + FormsGetSubmissionResponse: + docs: A form submission + properties: + id: + type: optional + docs: The unique ID of the Form submission + displayName: + type: optional + docs: The Form name displayed on the site + siteId: + type: optional + docs: The unique ID of the Site the Form belongs to + workspaceId: + type: optional + docs: The unique ID of the Workspace the Site belongs to + dateSubmitted: + type: optional + docs: Date that the Form was submitted on + formResponse: + type: optional> + docs: The data submitted in the Form + source: + openapi: v2-data.yml + FormsUpdateSubmissionResponse: + docs: A form submission + properties: + id: + type: optional + docs: The unique ID of the Form submission + displayName: + type: optional + docs: The Form name displayed on the site + siteId: + type: optional + docs: The unique ID of the Site the Form belongs to + workspaceId: + type: optional + docs: The unique ID of the Workspace the Site belongs to + dateSubmitted: + type: optional + docs: Date that the Form was submitted on + formResponse: + type: optional> + docs: The data submitted in the Form + source: + openapi: v2-data.yml + FormSubmissionPayloadPayload: + docs: The payload of data sent from Webflow + properties: + name: + type: optional + docs: The name of the form + siteId: + type: optional + docs: The ID of the site that the form was submitted from + data: + type: optional> + docs: The data submitted in the form + schema: + type: optional> + docs: A list of fields from the submitted form + submittedAt: + type: optional + docs: The timestamp the form was submitted + id: + type: optional + docs: the ID of the event + formId: + type: optional + docs: The ID of the form submission + formElementId: + type: optional + docs: The uniqueID of the Form element + source: + openapi: v2-data.yml + FormSubmissionPayload: + docs: The Webhook payload for when a form is submitted + properties: + triggerType: + type: optional + docs: The type of event that triggered the request + payload: + type: optional + docs: The payload of data sent from Webflow + source: + openapi: v2-data.yml +imports: + root: __package__.yml +service: + auth: false + base-path: '' + endpoints: + list: + path: /sites/{site_id}/forms + method: GET + auth: true + docs: | + List forms for a given site. + + Required scope | `forms:read` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + display-name: List Forms + request: + name: FormsListRequest + query-parameters: + limit: + type: optional + docs: 'Maximum number of records to be returned (max limit: 100)' + offset: + type: optional + docs: >- + Offset used for pagination if the results have more than limit + records + response: + docs: Request was successful + type: FormsListResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.ConflictError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + response: + body: + forms: + - displayName: Email Form + createdOn: '2016-10-24T19:41:29Z' + lastUpdated: '2016-10-24T19:43:17Z' + fields: + '0': + displayName: Email + userVisible: true + '1': + displayName: Email + userVisible: true + responseSettings: + redirectUrl: https://example.com + redirectMethod: GET + sendEmailConfirmation: true + id: 589a331aa51e760df7ccb89e + siteId: 580e63e98c9a982ac9b8b741 + siteDomainId: 6419db964a9c436a4baf6248 + pageId: 6419db964a9c43f6a3af6348 + pageName: Home + formElementId: 4e038d2c-6a1e-4953-7be9-a59a2b453177 + workspaceId: 580e63fc8c9a982ac9b8b744 + - displayName: Name Form + createdOn: '2016-10-24T19:41:29Z' + lastUpdated: '2016-10-24T19:43:17Z' + fields: + '0': + displayName: Email + userVisible: true + responseSettings: + redirectUrl: https://example.com + redirectMethod: GET + sendEmailConfirmation: false + id: 580ff8d7ba3e45ba9fe588e9 + siteId: 580e63e98c9a982ac9b8b741 + siteDomainId: 6419db964a9c436a4baf6248 + pageId: 6419db964a9c43f6a3af6348 + pageName: Home + formElementId: 4e038d2c-6a1e-4953-7be9-a59a2b453177 + workspaceId: 580e63fc8c9a982ac9b8b744 + pagination: + limit: 25 + offset: 0 + total: 2 + get: + path: /forms/{form_id} + method: GET + auth: true + docs: | + Get information about a given form. + + Required scope | `forms:read` + source: + openapi: v2-data.yml + path-parameters: + form_id: + type: string + docs: Unique identifier for a Form + display-name: Get Form Schema + response: + docs: Request was successful + type: FormsGetResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + form_id: 580e63e98c9a982ac9b8b741 + response: + body: + displayName: Email Form + createdOn: '2016-10-24T19:41:29Z' + lastUpdated: '2016-10-24T19:43:17Z' + fields: + 660d5bcc9c0772150459dfb1: + displayName: Name + type: Plain + placeholder: Enter your email + userVisible: true + 589a331aa51e760df7ccb89d: + displayName: Email + type: Email + placeholder: Enter your email + userVisible: true + responseSettings: + redirectUrl: https://example.com + redirectMethod: GET + redirectAction: POST https://example.com + sendEmailConfirmation: true + id: 589a331aa51e760df7ccb89e + siteId: 580e63e98c9a982ac9b8b741 + siteDomainId: 6419db964a9c436a4baf6248 + pageId: 6419db964a9c43f6a3af6348 + pageName: Home + formElementId: 4e038d2c-6a1e-4953-7be9-a59a2b453177 + workspaceId: 580e63fc8c9a982ac9b8b744 + list-submissions: + path: /forms/{form_id}/submissions + method: GET + auth: true + docs: | + List form submissions for a given form + + Required scope | `forms:read` + source: + openapi: v2-data.yml + path-parameters: + form_id: + type: string + docs: Unique identifier for a Form + display-name: List Form Submissions + request: + name: FormsListSubmissionsRequest + query-parameters: + offset: + type: optional + docs: >- + Offset used for pagination if the results have more than limit + records + limit: + type: optional + docs: 'Maximum number of records to be returned (max limit: 100)' + response: + docs: Request was successful + type: FormsListSubmissionsResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + form_id: 580e63e98c9a982ac9b8b741 + response: + body: + formSubmissions: + - id: 6321ca84df3949bfc6752327 + displayName: Sample Form + siteId: 62749158efef318abc8d5a0f + workspaceId: 62749158efef318abc8d5a0f + dateSubmitted: '2022-09-14T12:35:16Z' + formResponse: + First Name: Arthur + Last Name: Dent + - id: 660d64fabf6e0a0d4edab981 + displayName: Sample Form + siteId: 62749158efef318abc8d5a0f + workspaceId: 62749158efef318abc8d5a0f + dateSubmitted: '2022-09-14T12:35:16Z' + formResponse: + First Name: Ford + Last Name: Prefect + pagination: + limit: 25 + offset: 0 + total: 2 + get-submission: + path: /form_submissions/{form_submission_id} + method: GET + auth: true + docs: | + Get information about a given form submissio. + + Required scope | `forms:read` + source: + openapi: v2-data.yml + path-parameters: + form_submission_id: + type: string + docs: Unique identifier for a Form Submission + display-name: Get Form Submission + response: + docs: Request was successful + type: FormsGetSubmissionResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + form_submission_id: 580e63e98c9a982ac9b8b741 + response: + body: + id: 6321ca84df3949bfc6752327 + displayName: Sample Form + siteId: 62749158efef318abc8d5a0f + workspaceId: 62749158efef318abc8d5a0f + dateSubmitted: '2022-09-14T12:35:16Z' + formResponse: + First Name: Arthur + Last Name: Dent + update-submission: + path: /form_submissions/{form_submission_id} + method: PATCH + auth: true + docs: | + Update hidden fields on a form submission + + Required scope | `forms:write` + source: + openapi: v2-data.yml + path-parameters: + form_submission_id: + type: string + docs: Unique identifier for a Form Submission + display-name: Modify Form Submission + request: + name: FormsUpdateSubmissionRequest + body: + properties: + formSubmissionData: + type: optional> + docs: >- + An existing **hidden field** defined on the form schema, and the + corresponding value to set + content-type: application/json + response: + docs: Request was successful + type: FormsUpdateSubmissionResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.ConflictError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + form_submission_id: 580e63e98c9a982ac9b8b741 + request: {} + response: + body: + id: 6321ca84df3949bfc6752327 + displayName: Sample Form + siteId: 62749158efef318abc8d5a0f + workspaceId: 62749158efef318abc8d5a0f + dateSubmitted: '2022-09-14T12:35:16Z' + formResponse: + First Name: Arthur + Last Name: Dent + source: + openapi: v2-data.yml + display-name: Forms +webhooks: + form_submission: + method: POST + display-name: Form Submission + headers: {} + payload: + type: FormSubmissionPayload + docs: The Webhook payload for when a form is submitted + examples: + - payload: + triggerType: form_submission + payload: + name: Contact Us + siteId: 65427cf400e02b306eaa049c + data: + First Name: Zaphod + Last Name: Beeblebrox + email: zaphod@heartofgold.ai + Phone Number: 15550000000 + schema: + - fieldName: First Name + fieldType: FormTextInput + fieldElementId: 285042f7-d554-dc7f-102c-aa10d6a2d2c4 + - fieldName: Last Name + fieldType: FormTextInput + fieldElementId: 285042f7-d554-dc7f-102c-aa10d6a2d2c5 + - fieldName: email + fieldType: FormTextInput + fieldElementId: 285042f7-d554-dc7f-102c-aa10d6a2d2c6 + - fieldName: Phone Number + fieldType: FormTextInput + fieldElementId: 285042f7-d554-dc7f-102c-aa10d6a2d2c7 + submittedAt: '2022-09-14T12:35:16.117Z' + id: 6321ca84df3949bfc6752327 + formId: 65429eadebe8a9f3a30f62d0 + formElementId: 4e038d2c-6a1e-4953-7be9-a59a2b453177 + docs: Information about a form that was subitted diff --git a/.mock/definition/inventory.yml b/.mock/definition/inventory.yml new file mode 100644 index 00000000..ca724ada --- /dev/null +++ b/.mock/definition/inventory.yml @@ -0,0 +1,201 @@ +types: + InventoryListResponseInventoryType: + enum: + - infinite + - finite + docs: infinite or finite + source: + openapi: v2-data.yml + InventoryListResponse: + docs: The availabile inventory for an item + properties: + id: + type: optional + docs: Unique identifier for a SKU item + quantity: + type: optional + docs: >- + Total quantity of items remaining in inventory (if inventoryType is + finite) + inventoryType: + type: optional + docs: infinite or finite + source: + openapi: v2-data.yml + InventoryUpdateRequestInventoryType: + enum: + - infinite + - finite + docs: infinite or finite + source: + openapi: v2-data.yml + InventoryUpdateResponseInventoryType: + enum: + - infinite + - finite + docs: infinite or finite + source: + openapi: v2-data.yml + InventoryUpdateResponse: + docs: The availabile inventory for an item + properties: + id: + type: optional + docs: Unique identifier for a SKU item + quantity: + type: optional + docs: >- + Total quantity of items remaining in inventory (if inventoryType is + finite) + inventoryType: + type: optional + docs: infinite or finite + source: + openapi: v2-data.yml + EcommInventoryChangedPayloadInventoryType: + enum: + - infinite + - finite + docs: infinite or finite + source: + openapi: v2-data.yml + EcommInventoryChangedPayload: + docs: The availabile inventory for an item + properties: + id: + type: optional + docs: Unique identifier for a SKU item + quantity: + type: optional + docs: >- + Total quantity of items remaining in inventory (if inventoryType is + finite) + inventoryType: + type: optional + docs: infinite or finite + source: + openapi: v2-data.yml +imports: + root: __package__.yml +service: + auth: false + base-path: '' + endpoints: + list: + path: /collections/{collection_id}/items/{item_id}/inventory + method: GET + auth: true + docs: | + List the current inventory levels for a particular SKU item. + + Required scope | `ecommerce:read` + source: + openapi: v2-data.yml + path-parameters: + collection_id: + type: string + docs: Unique identifier for a Collection + item_id: + type: string + docs: Unique identifier for an Item + display-name: List Inventory + response: + docs: Request was successful + type: InventoryListResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.ConflictError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + item_id: 580e64008c9a982ac9b8b754 + response: + body: + id: 5bfedb42bab0ad90fa7dad39 + quantity: 100 + inventoryType: infinite + update: + path: /collections/{collection_id}/items/{item_id}/inventory + method: PATCH + auth: true + docs: > + Updates the current inventory levels for a particular SKU item. + + + Updates may be given in one or two methods, absolutely or + incrementally. + + - Absolute updates are done by setting `quantity` directly. + + - Incremental updates are by specifying the inventory delta in + `updateQuantity` which is then added to the `quantity` stored on the + server. + + + Required scope | `ecommerce:write` + source: + openapi: v2-data.yml + path-parameters: + collection_id: + type: string + docs: Unique identifier for a Collection + item_id: + type: string + docs: Unique identifier for an Item + display-name: Update Item Inventory + request: + name: InventoryUpdateRequest + body: + properties: + inventoryType: + type: InventoryUpdateRequestInventoryType + docs: infinite or finite + updateQuantity: + type: optional + docs: Adds this quantity to currently store quantity. Can be negative. + quantity: + type: optional + docs: Immediately sets quantity to this value. + content-type: application/json + response: + docs: Request was successful + type: InventoryUpdateResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.ConflictError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + collection_id: 580e63fc8c9a982ac9b8b745 + item_id: 580e64008c9a982ac9b8b754 + request: + inventoryType: infinite + response: + body: + id: 5bfedb42bab0ad90fa7dad39 + quantity: 100 + inventoryType: infinite + source: + openapi: v2-data.yml + display-name: Inventory +webhooks: + ecomm_inventory_changed: + method: POST + display-name: Updated eComm Inventory + headers: {} + payload: + type: EcommInventoryChangedPayload + docs: The availabile inventory for an item + examples: + - payload: + id: 5bfedb42bab0ad90fa7dad39 + quantity: 100 diff --git a/.mock/definition/items.yml b/.mock/definition/items.yml new file mode 100644 index 00000000..4c3bc8cf --- /dev/null +++ b/.mock/definition/items.yml @@ -0,0 +1,220 @@ +types: + CollectionItemCreatedPayloadFieldData: + properties: + name: + type: optional + docs: Name of the Item + slug: + type: optional + docs: >- + URL structure of the Item in your site. Note: Updates to an item slug + will break all links referencing the old slug. + extra-properties: true + source: + openapi: v2-data.yml + CollectionItemCreatedPayload: + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there are + a handful of additional fields that are automatically created for all + items + properties: + id: + type: string + docs: Unique identifier for the Item + cmsLocaleId: + type: optional + docs: Identifier for the locale of the CMS item + lastPublished: + type: optional + docs: The date the item was last published + lastUpdated: + type: optional + docs: The date the item was last updated + createdOn: + type: optional + docs: The date the item was created + isArchived: + type: optional + docs: Boolean determining if the Item is set to archived + default: false + isDraft: + type: optional + docs: Boolean determining if the Item is set to draft + default: false + fieldData: optional + source: + openapi: v2-data.yml + CollectionItemChangedPayloadFieldData: + properties: + name: + type: optional + docs: Name of the Item + slug: + type: optional + docs: >- + URL structure of the Item in your site. Note: Updates to an item slug + will break all links referencing the old slug. + extra-properties: true + source: + openapi: v2-data.yml + CollectionItemChangedPayload: + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there are + a handful of additional fields that are automatically created for all + items + properties: + id: + type: string + docs: Unique identifier for the Item + cmsLocaleId: + type: optional + docs: Identifier for the locale of the CMS item + lastPublished: + type: optional + docs: The date the item was last published + lastUpdated: + type: optional + docs: The date the item was last updated + createdOn: + type: optional + docs: The date the item was created + isArchived: + type: optional + docs: Boolean determining if the Item is set to archived + default: false + isDraft: + type: optional + docs: Boolean determining if the Item is set to draft + default: false + fieldData: optional + source: + openapi: v2-data.yml + CollectionItemDeletedPayloadPayload: + docs: The payload of data sent from Webflow + properties: + id: + type: optional + docs: The ID of the collection item that was deleted + siteId: + type: optional + docs: The ID of the site + workspaceId: + type: optional + docs: The ID of the workspace + collectionId: + type: optional + docs: The ID of the collection + source: + openapi: v2-data.yml + CollectionItemDeletedPayload: + properties: + triggerType: + type: optional + docs: The type of event that triggered the request + payload: + type: optional + docs: The payload of data sent from Webflow + source: + openapi: v2-data.yml + CollectionItemUnpublishedPayloadPayload: + docs: The payload of data sent from Webflow + properties: + id: + type: optional + docs: The ID of the collection item that was deleted + siteId: + type: optional + docs: The ID of the site + workspaceId: + type: optional + docs: The ID of the workspace + collectionId: + type: optional + docs: The ID of the collection + source: + openapi: v2-data.yml + CollectionItemUnpublishedPayload: + properties: + triggerType: + type: optional + docs: The type of event that triggered the request + payload: + type: optional + docs: The payload of data sent from Webflow + source: + openapi: v2-data.yml +webhooks: + collection_item_created: + method: POST + display-name: Item Created + headers: {} + payload: + type: CollectionItemCreatedPayload + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there + are a handful of additional fields that are automatically created for + all items + examples: + - payload: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + collection_item_changed: + method: POST + display-name: Item Updated + headers: {} + payload: + type: CollectionItemChangedPayload + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there + are a handful of additional fields that are automatically created for + all items + examples: + - payload: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + collection_item_deleted: + method: POST + display-name: Item Deleted + headers: {} + payload: CollectionItemDeletedPayload + examples: + - payload: + triggerType: collection_item_deleted, + payload: + id: 66424365e972c886137a1cf1 + siteId: 65427cf400e02b306eaa049c + workspaceId: 625860a7a6c16d624927122f + collectionId: 664243617fcc8b464b23c4ee + collection_item_unpublished: + method: POST + display-name: Item Unpublished + headers: {} + payload: CollectionItemUnpublishedPayload + examples: + - payload: + triggerType: collection_item_deleted, + payload: + id: 66424365e972c886137a1cf1 + siteId: 65427cf400e02b306eaa049c + workspaceId: 625860a7a6c16d624927122f + collectionId: 664243617fcc8b464b23c4ee diff --git a/.mock/definition/orders.yml b/.mock/definition/orders.yml new file mode 100644 index 00000000..24706f72 --- /dev/null +++ b/.mock/definition/orders.yml @@ -0,0 +1,7560 @@ +types: + OrdersListRequestStatus: + enum: + - pending + - refunded + - value: dispute-lost + name: DisputeLost + - fulfilled + - disputed + - unfulfilled + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemStatus: + enum: + - pending + - unfulfilled + - fulfilled + - disputed + - value: dispute-lost + name: DisputeLost + - refunded + docs: | + The status of the Order + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemDisputeLastStatus: + enum: + - warning_needs_response + - warning_under_review + - warning_closed + - needs_response + - under_review + - charge_refunded + - won + - lost + docs: > + If an order was disputed by the customer, then this key will be set with + the [dispute's status](https://stripe.com/docs/api#dispute_object-status). + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemCustomerPaid: + docs: The total paid by the customer + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemNetAmount: + docs: The net amount after application fees + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemApplicationFee: + docs: The application fee assessed by the platform + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemAllAddressesItemType: + enum: + - shipping + - billing + docs: The type of the order address (billing or shipping) + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemAllAddressesItemJapanType: + enum: + - kana + - kanji + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemAllAddressesItem: + docs: A customer address + properties: + type: + type: optional + docs: The type of the order address (billing or shipping) + japanType: + type: optional + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + addressee: + type: optional + docs: Display name on the address + line1: + type: optional + docs: The first line of the address + line2: + type: optional + docs: The second line of the address + city: + type: optional + docs: The city of the address. + state: + type: optional + docs: The state or province of the address + country: + type: optional + docs: The country of the address + postalCode: + type: optional + docs: The postal code of the address + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemShippingAddressType: + enum: + - shipping + - billing + docs: The type of the order address (billing or shipping) + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemShippingAddressJapanType: + enum: + - kana + - kanji + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemShippingAddress: + docs: The shipping address + properties: + type: + type: optional + docs: The type of the order address (billing or shipping) + japanType: + type: optional + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + addressee: + type: optional + docs: Display name on the address + line1: + type: optional + docs: The first line of the address + line2: + type: optional + docs: The second line of the address + city: + type: optional + docs: The city of the address. + state: + type: optional + docs: The state or province of the address + country: + type: optional + docs: The country of the address + postalCode: + type: optional + docs: The postal code of the address + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemBillingAddressType: + enum: + - shipping + - billing + docs: The type of the order address (billing or shipping) + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemBillingAddressJapanType: + enum: + - kana + - kanji + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemBillingAddress: + docs: The billing address + properties: + type: + type: optional + docs: The type of the order address (billing or shipping) + japanType: + type: optional + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + addressee: + type: optional + docs: Display name on the address + line1: + type: optional + docs: The first line of the address + line2: + type: optional + docs: The second line of the address + city: + type: optional + docs: The city of the address. + state: + type: optional + docs: The state or province of the address + country: + type: optional + docs: The country of the address + postalCode: + type: optional + docs: The postal code of the address + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemCustomerInfo: + docs: An object with the keys `fullName` and `email`. + properties: + fullName: + type: optional + docs: The full name of the Customer + email: + type: optional + docs: The Customer's email address + validation: + format: email + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemPurchasedItemsItemRowTotal: + docs: The total for the row + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFileVariantsItem: + properties: + url: + type: optional + docs: The hosted location for the Variant's image + validation: + format: uri + originalFileName: optional + size: + type: optional + docs: The image size in bytes + width: + type: optional + docs: The image width in pixels + height: + type: optional + docs: The image height in pixels + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFile: + properties: + size: + type: optional + docs: The image size in bytes + originalFileName: + type: optional + docs: the original name of the image + createdOn: + type: optional + docs: The creation timestamp of the image + contentType: + type: optional + docs: The MIME type of the image + width: + type: optional + docs: The image width in pixels + height: + type: optional + docs: The image height in pixels + variants: + type: >- + optional> + docs: Variants of the supplied image + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemPurchasedItemsItemVariantImage: + properties: + url: + type: optional + docs: The hosted location for the Variant's image + validation: + format: uri + file: optional + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemPurchasedItemsItemVariantPrice: + docs: The price corresponding to the variant + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemPurchasedItemsItem: + docs: An Item that was purchased + properties: + count: + type: optional + docs: Number of Item purchased. + rowTotal: + type: optional + docs: The total for the row + productId: + type: optional + docs: The unique identifier for the Product + productName: + type: optional + docs: User-facing name of the Product + productSlug: + type: optional + docs: Slug for the Product + variantId: + type: optional + docs: Identifier for the Product Variant (SKU) + variantName: + type: optional + docs: User-facing name of the Product Variant (SKU) + variantSlug: + type: optional + docs: Slug for the Product Variant (SKU) + variantSKU: + type: optional + docs: The user-defined custom SKU of the Product Variant (SKU) + variantImage: optional + variantPrice: + type: optional + docs: The price corresponding to the variant + weight: + type: optional + docs: The physical weight of the variant if provided, or null + width: + type: optional + docs: The physical width of the variant if provided, or null + height: + type: optional + docs: The physical height of the variant if provided, or null + length: + type: optional + docs: The physical length of the variant if provided, or null + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemStripeDetails: + docs: >- + An object with various Stripe IDs, useful for linking into the stripe + dashboard. + properties: + subscriptionId: + type: optional + docs: Stripe-generated identifier for the Subscription + paymentMethod: + type: optional + docs: Stripe-generated identifier for the PaymentMethod used + paymentIntentId: + type: optional + docs: Stripe-generated identifier for the PaymentIntent, or null + customerId: + type: optional + docs: Stripe-generated customer identifier, or null + chargeId: + type: optional + docs: Stripe-generated charge identifier, or null + disputeId: + type: optional + docs: Stripe-generated dispute identifier, or null + refundId: + type: optional + docs: Stripe-generated refund identifier, or null + refundReason: + type: optional + docs: Stripe-generated refund reason, or null + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemStripeCardBrand: + enum: + - Visa + - value: American Express + name: AmericanExpress + - MasterCard + - Discover + - JCB + - value: Diners Club + name: DinersClub + - Unknown + docs: The card's brand (ie. credit card network) + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemStripeCardExpires: + docs: The card's expiration date. + properties: + year: + type: optional + docs: Year that the card expires + month: + type: optional + docs: Month that the card expires + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemStripeCard: + docs: > + Details on the card used to fulfill this order, if this order was + finalized with Stripe. + properties: + last4: + type: optional + docs: The last 4 digits on the card as a string + brand: + type: optional + docs: The card's brand (ie. credit card network) + ownerName: + type: optional + docs: The name on the card. + expires: + type: optional + docs: The card's expiration date. + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemPaypalDetails: + properties: + orderId: + type: optional + docs: PayPal order identifier + payerId: + type: optional + docs: PayPal payer identifier + captureId: + type: optional + docs: PayPal capture identifier + refundId: + type: optional + docs: PayPal refund identifier + refundReason: + type: optional + docs: PayPal-issued reason for the refund + disputeId: + type: optional + docs: PayPal dispute identifier + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemMetadata: + properties: + isBuyNow: optional + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemTotalsSubtotal: + docs: The subtotal price + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemTotalsExtrasItemType: + enum: + - discount + - value: discount-shipping + name: DiscountShipping + - shipping + - tax + docs: The type of extra item this is. + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemTotalsExtrasItemPrice: + docs: The price for the item + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemTotalsExtrasItem: + docs: Extra order items, includes discounts, shipping, and taxes. + properties: + type: + type: optional + docs: The type of extra item this is. + name: + type: optional + docs: A human-readable (but English) name for this extra charge. + description: + type: optional + docs: A human-readable (but English) description of this extra charge. + price: + type: optional + docs: The price for the item + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemTotalsTotal: + docs: The total price + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemTotals: + docs: An object describing various pricing totals + properties: + subtotal: + type: optional + docs: The subtotal price + extras: + type: optional> + docs: An array of extra items, includes discounts, shipping, and taxes. + total: + type: optional + docs: The total price + source: + openapi: v2-data.yml + OrdersListResponseOrdersItemDownloadFilesItem: + properties: + id: + type: optional + docs: The unique identifier for the downloadable file + name: + type: optional + docs: The user-facing name for the downloadable file + url: + type: optional + docs: The hosted location for the downloadable file + validation: + format: uri + source: + openapi: v2-data.yml + OrdersListResponseOrdersItem: + properties: + orderId: + type: optional + docs: | + The order ID. Will usually be 6 hex characters, but can also be 9 + hex characters if the site has a very large number of Orders. + Randomly assigned. + status: + type: optional + docs: | + The status of the Order + comment: + type: optional + docs: >- + A comment string for this Order, which is editable by API user (not + used by Webflow). + orderComment: + type: optional + docs: A comment that the customer left when making their Order + acceptedOn: + type: optional + docs: The ISO8601 timestamp that an Order was placed. + fulfilledOn: + type: optional + docs: > + When an Order is marked as 'fulfilled', this field represents the + timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + refundedOn: + type: optional + docs: >- + When an Order is marked as 'refunded', this field represents the + timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + disputedOn: + type: optional + docs: > + When an Order is marked as 'disputed', this field represents the + timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + disputeUpdatedOn: + type: optional + docs: > + If an Order has been disputed by the customer, this key will be set to + the ISO8601 timestamp of the last update received. If the Order is not + disputed, the key will be null. + disputeLastStatus: + type: optional + docs: > + If an order was disputed by the customer, then this key will be set + with the [dispute's + status](https://stripe.com/docs/api#dispute_object-status). + customerPaid: + type: optional + docs: The total paid by the customer + netAmount: + type: optional + docs: The net amount after application fees + applicationFee: + type: optional + docs: The application fee assessed by the platform + allAddresses: + type: optional> + docs: All addresses provided by the customer during the ordering flow. + shippingAddress: + type: optional + docs: The shipping address + billingAddress: + type: optional + docs: The billing address + shippingProvider: + type: optional + docs: > + A string editable by the API user to note the shipping provider used + (not used by Webflow). + shippingTracking: + type: optional + docs: > + A string editable by the API user to note the shipping tracking number + for the order (not used by Webflow). + shippingTrackingURL: + type: optional + validation: + format: uri + customerInfo: + type: optional + docs: An object with the keys `fullName` and `email`. + purchasedItems: + type: optional> + docs: An array of all things that the Customer purchased. + purchasedItemsCount: + type: optional + docs: The sum of all 'count' fields in 'purchasedItems'. + stripeDetails: + type: optional + docs: >- + An object with various Stripe IDs, useful for linking into the stripe + dashboard. + stripeCard: + type: optional + docs: > + Details on the card used to fulfill this order, if this order was + finalized with Stripe. + paypalDetails: optional + customData: + type: optional>> + docs: > + An array of additional inputs for custom order data gathering. Each + object in the array represents an input with a name, and a textInput, + textArea, or checkbox value. + metadata: optional + isCustomerDeleted: + type: optional + docs: > + A boolean indicating whether the customer has been deleted from the + site. + isShippingRequired: + type: optional + docs: > + A boolean indicating whether the order contains one or more purchased + items that require shipping. + hasDownloads: + type: optional + docs: > + A boolean indicating whether the order contains one or more purchased + items that are downloadable. + paymentProcessor: + type: optional + docs: | + A string indicating the payment processor used for this order. + totals: + type: optional + docs: An object describing various pricing totals + downloadFiles: + type: optional> + docs: An array of downloadable file objects. + source: + openapi: v2-data.yml + OrdersListResponsePagination: + docs: Pagination object + properties: + limit: + type: optional + docs: The limit used for pagination + offset: + type: optional + docs: The offset used for pagination + total: + type: optional + docs: The total number of records + source: + openapi: v2-data.yml + OrdersListResponse: + docs: Results from order list + properties: + orders: + type: optional> + docs: List of orders + pagination: + type: optional + docs: Pagination object + source: + openapi: v2-data.yml + OrdersGetResponseStatus: + enum: + - pending + - unfulfilled + - fulfilled + - disputed + - value: dispute-lost + name: DisputeLost + - refunded + docs: | + The status of the Order + source: + openapi: v2-data.yml + OrdersGetResponseDisputeLastStatus: + enum: + - warning_needs_response + - warning_under_review + - warning_closed + - needs_response + - under_review + - charge_refunded + - won + - lost + docs: > + If an order was disputed by the customer, then this key will be set with + the [dispute's status](https://stripe.com/docs/api#dispute_object-status). + source: + openapi: v2-data.yml + OrdersGetResponseCustomerPaid: + docs: The total paid by the customer + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersGetResponseNetAmount: + docs: The net amount after application fees + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersGetResponseApplicationFee: + docs: The application fee assessed by the platform + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersGetResponseAllAddressesItemType: + enum: + - shipping + - billing + docs: The type of the order address (billing or shipping) + source: + openapi: v2-data.yml + OrdersGetResponseAllAddressesItemJapanType: + enum: + - kana + - kanji + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + source: + openapi: v2-data.yml + OrdersGetResponseAllAddressesItem: + docs: A customer address + properties: + type: + type: optional + docs: The type of the order address (billing or shipping) + japanType: + type: optional + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + addressee: + type: optional + docs: Display name on the address + line1: + type: optional + docs: The first line of the address + line2: + type: optional + docs: The second line of the address + city: + type: optional + docs: The city of the address. + state: + type: optional + docs: The state or province of the address + country: + type: optional + docs: The country of the address + postalCode: + type: optional + docs: The postal code of the address + source: + openapi: v2-data.yml + OrdersGetResponseShippingAddressType: + enum: + - shipping + - billing + docs: The type of the order address (billing or shipping) + source: + openapi: v2-data.yml + OrdersGetResponseShippingAddressJapanType: + enum: + - kana + - kanji + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + source: + openapi: v2-data.yml + OrdersGetResponseShippingAddress: + docs: The shipping address + properties: + type: + type: optional + docs: The type of the order address (billing or shipping) + japanType: + type: optional + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + addressee: + type: optional + docs: Display name on the address + line1: + type: optional + docs: The first line of the address + line2: + type: optional + docs: The second line of the address + city: + type: optional + docs: The city of the address. + state: + type: optional + docs: The state or province of the address + country: + type: optional + docs: The country of the address + postalCode: + type: optional + docs: The postal code of the address + source: + openapi: v2-data.yml + OrdersGetResponseBillingAddressType: + enum: + - shipping + - billing + docs: The type of the order address (billing or shipping) + source: + openapi: v2-data.yml + OrdersGetResponseBillingAddressJapanType: + enum: + - kana + - kanji + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + source: + openapi: v2-data.yml + OrdersGetResponseBillingAddress: + docs: The billing address + properties: + type: + type: optional + docs: The type of the order address (billing or shipping) + japanType: + type: optional + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + addressee: + type: optional + docs: Display name on the address + line1: + type: optional + docs: The first line of the address + line2: + type: optional + docs: The second line of the address + city: + type: optional + docs: The city of the address. + state: + type: optional + docs: The state or province of the address + country: + type: optional + docs: The country of the address + postalCode: + type: optional + docs: The postal code of the address + source: + openapi: v2-data.yml + OrdersGetResponseCustomerInfo: + docs: An object with the keys `fullName` and `email`. + properties: + fullName: + type: optional + docs: The full name of the Customer + email: + type: optional + docs: The Customer's email address + validation: + format: email + source: + openapi: v2-data.yml + OrdersGetResponsePurchasedItemsItemRowTotal: + docs: The total for the row + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersGetResponsePurchasedItemsItemVariantImageFileVariantsItem: + properties: + url: + type: optional + docs: The hosted location for the Variant's image + validation: + format: uri + originalFileName: optional + size: + type: optional + docs: The image size in bytes + width: + type: optional + docs: The image width in pixels + height: + type: optional + docs: The image height in pixels + source: + openapi: v2-data.yml + OrdersGetResponsePurchasedItemsItemVariantImageFile: + properties: + size: + type: optional + docs: The image size in bytes + originalFileName: + type: optional + docs: the original name of the image + createdOn: + type: optional + docs: The creation timestamp of the image + contentType: + type: optional + docs: The MIME type of the image + width: + type: optional + docs: The image width in pixels + height: + type: optional + docs: The image height in pixels + variants: + type: >- + optional> + docs: Variants of the supplied image + source: + openapi: v2-data.yml + OrdersGetResponsePurchasedItemsItemVariantImage: + properties: + url: + type: optional + docs: The hosted location for the Variant's image + validation: + format: uri + file: optional + source: + openapi: v2-data.yml + OrdersGetResponsePurchasedItemsItemVariantPrice: + docs: The price corresponding to the variant + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersGetResponsePurchasedItemsItem: + docs: An Item that was purchased + properties: + count: + type: optional + docs: Number of Item purchased. + rowTotal: + type: optional + docs: The total for the row + productId: + type: optional + docs: The unique identifier for the Product + productName: + type: optional + docs: User-facing name of the Product + productSlug: + type: optional + docs: Slug for the Product + variantId: + type: optional + docs: Identifier for the Product Variant (SKU) + variantName: + type: optional + docs: User-facing name of the Product Variant (SKU) + variantSlug: + type: optional + docs: Slug for the Product Variant (SKU) + variantSKU: + type: optional + docs: The user-defined custom SKU of the Product Variant (SKU) + variantImage: optional + variantPrice: + type: optional + docs: The price corresponding to the variant + weight: + type: optional + docs: The physical weight of the variant if provided, or null + width: + type: optional + docs: The physical width of the variant if provided, or null + height: + type: optional + docs: The physical height of the variant if provided, or null + length: + type: optional + docs: The physical length of the variant if provided, or null + source: + openapi: v2-data.yml + OrdersGetResponseStripeDetails: + docs: >- + An object with various Stripe IDs, useful for linking into the stripe + dashboard. + properties: + subscriptionId: + type: optional + docs: Stripe-generated identifier for the Subscription + paymentMethod: + type: optional + docs: Stripe-generated identifier for the PaymentMethod used + paymentIntentId: + type: optional + docs: Stripe-generated identifier for the PaymentIntent, or null + customerId: + type: optional + docs: Stripe-generated customer identifier, or null + chargeId: + type: optional + docs: Stripe-generated charge identifier, or null + disputeId: + type: optional + docs: Stripe-generated dispute identifier, or null + refundId: + type: optional + docs: Stripe-generated refund identifier, or null + refundReason: + type: optional + docs: Stripe-generated refund reason, or null + source: + openapi: v2-data.yml + OrdersGetResponseStripeCardBrand: + enum: + - Visa + - value: American Express + name: AmericanExpress + - MasterCard + - Discover + - JCB + - value: Diners Club + name: DinersClub + - Unknown + docs: The card's brand (ie. credit card network) + source: + openapi: v2-data.yml + OrdersGetResponseStripeCardExpires: + docs: The card's expiration date. + properties: + year: + type: optional + docs: Year that the card expires + month: + type: optional + docs: Month that the card expires + source: + openapi: v2-data.yml + OrdersGetResponseStripeCard: + docs: > + Details on the card used to fulfill this order, if this order was + finalized with Stripe. + properties: + last4: + type: optional + docs: The last 4 digits on the card as a string + brand: + type: optional + docs: The card's brand (ie. credit card network) + ownerName: + type: optional + docs: The name on the card. + expires: + type: optional + docs: The card's expiration date. + source: + openapi: v2-data.yml + OrdersGetResponsePaypalDetails: + properties: + orderId: + type: optional + docs: PayPal order identifier + payerId: + type: optional + docs: PayPal payer identifier + captureId: + type: optional + docs: PayPal capture identifier + refundId: + type: optional + docs: PayPal refund identifier + refundReason: + type: optional + docs: PayPal-issued reason for the refund + disputeId: + type: optional + docs: PayPal dispute identifier + source: + openapi: v2-data.yml + OrdersGetResponseMetadata: + properties: + isBuyNow: optional + source: + openapi: v2-data.yml + OrdersGetResponseTotalsSubtotal: + docs: The subtotal price + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersGetResponseTotalsExtrasItemType: + enum: + - discount + - value: discount-shipping + name: DiscountShipping + - shipping + - tax + docs: The type of extra item this is. + source: + openapi: v2-data.yml + OrdersGetResponseTotalsExtrasItemPrice: + docs: The price for the item + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersGetResponseTotalsExtrasItem: + docs: Extra order items, includes discounts, shipping, and taxes. + properties: + type: + type: optional + docs: The type of extra item this is. + name: + type: optional + docs: A human-readable (but English) name for this extra charge. + description: + type: optional + docs: A human-readable (but English) description of this extra charge. + price: + type: optional + docs: The price for the item + source: + openapi: v2-data.yml + OrdersGetResponseTotalsTotal: + docs: The total price + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersGetResponseTotals: + docs: An object describing various pricing totals + properties: + subtotal: + type: optional + docs: The subtotal price + extras: + type: optional> + docs: An array of extra items, includes discounts, shipping, and taxes. + total: + type: optional + docs: The total price + source: + openapi: v2-data.yml + OrdersGetResponseDownloadFilesItem: + properties: + id: + type: optional + docs: The unique identifier for the downloadable file + name: + type: optional + docs: The user-facing name for the downloadable file + url: + type: optional + docs: The hosted location for the downloadable file + validation: + format: uri + source: + openapi: v2-data.yml + OrdersGetResponse: + properties: + orderId: + type: optional + docs: | + The order ID. Will usually be 6 hex characters, but can also be 9 + hex characters if the site has a very large number of Orders. + Randomly assigned. + status: + type: optional + docs: | + The status of the Order + comment: + type: optional + docs: >- + A comment string for this Order, which is editable by API user (not + used by Webflow). + orderComment: + type: optional + docs: A comment that the customer left when making their Order + acceptedOn: + type: optional + docs: The ISO8601 timestamp that an Order was placed. + fulfilledOn: + type: optional + docs: > + When an Order is marked as 'fulfilled', this field represents the + timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + refundedOn: + type: optional + docs: >- + When an Order is marked as 'refunded', this field represents the + timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + disputedOn: + type: optional + docs: > + When an Order is marked as 'disputed', this field represents the + timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + disputeUpdatedOn: + type: optional + docs: > + If an Order has been disputed by the customer, this key will be set to + the ISO8601 timestamp of the last update received. If the Order is not + disputed, the key will be null. + disputeLastStatus: + type: optional + docs: > + If an order was disputed by the customer, then this key will be set + with the [dispute's + status](https://stripe.com/docs/api#dispute_object-status). + customerPaid: + type: optional + docs: The total paid by the customer + netAmount: + type: optional + docs: The net amount after application fees + applicationFee: + type: optional + docs: The application fee assessed by the platform + allAddresses: + type: optional> + docs: All addresses provided by the customer during the ordering flow. + shippingAddress: + type: optional + docs: The shipping address + billingAddress: + type: optional + docs: The billing address + shippingProvider: + type: optional + docs: > + A string editable by the API user to note the shipping provider used + (not used by Webflow). + shippingTracking: + type: optional + docs: > + A string editable by the API user to note the shipping tracking number + for the order (not used by Webflow). + shippingTrackingURL: + type: optional + validation: + format: uri + customerInfo: + type: optional + docs: An object with the keys `fullName` and `email`. + purchasedItems: + type: optional> + docs: An array of all things that the Customer purchased. + purchasedItemsCount: + type: optional + docs: The sum of all 'count' fields in 'purchasedItems'. + stripeDetails: + type: optional + docs: >- + An object with various Stripe IDs, useful for linking into the stripe + dashboard. + stripeCard: + type: optional + docs: > + Details on the card used to fulfill this order, if this order was + finalized with Stripe. + paypalDetails: optional + customData: + type: optional>> + docs: > + An array of additional inputs for custom order data gathering. Each + object in the array represents an input with a name, and a textInput, + textArea, or checkbox value. + metadata: optional + isCustomerDeleted: + type: optional + docs: > + A boolean indicating whether the customer has been deleted from the + site. + isShippingRequired: + type: optional + docs: > + A boolean indicating whether the order contains one or more purchased + items that require shipping. + hasDownloads: + type: optional + docs: > + A boolean indicating whether the order contains one or more purchased + items that are downloadable. + paymentProcessor: + type: optional + docs: | + A string indicating the payment processor used for this order. + totals: + type: optional + docs: An object describing various pricing totals + downloadFiles: + type: optional> + docs: An array of downloadable file objects. + source: + openapi: v2-data.yml + OrdersUpdateResponseStatus: + enum: + - pending + - unfulfilled + - fulfilled + - disputed + - value: dispute-lost + name: DisputeLost + - refunded + docs: | + The status of the Order + source: + openapi: v2-data.yml + OrdersUpdateResponseDisputeLastStatus: + enum: + - warning_needs_response + - warning_under_review + - warning_closed + - needs_response + - under_review + - charge_refunded + - won + - lost + docs: > + If an order was disputed by the customer, then this key will be set with + the [dispute's status](https://stripe.com/docs/api#dispute_object-status). + source: + openapi: v2-data.yml + OrdersUpdateResponseCustomerPaid: + docs: The total paid by the customer + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersUpdateResponseNetAmount: + docs: The net amount after application fees + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersUpdateResponseApplicationFee: + docs: The application fee assessed by the platform + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersUpdateResponseAllAddressesItemType: + enum: + - shipping + - billing + docs: The type of the order address (billing or shipping) + source: + openapi: v2-data.yml + OrdersUpdateResponseAllAddressesItemJapanType: + enum: + - kana + - kanji + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + source: + openapi: v2-data.yml + OrdersUpdateResponseAllAddressesItem: + docs: A customer address + properties: + type: + type: optional + docs: The type of the order address (billing or shipping) + japanType: + type: optional + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + addressee: + type: optional + docs: Display name on the address + line1: + type: optional + docs: The first line of the address + line2: + type: optional + docs: The second line of the address + city: + type: optional + docs: The city of the address. + state: + type: optional + docs: The state or province of the address + country: + type: optional + docs: The country of the address + postalCode: + type: optional + docs: The postal code of the address + source: + openapi: v2-data.yml + OrdersUpdateResponseShippingAddressType: + enum: + - shipping + - billing + docs: The type of the order address (billing or shipping) + source: + openapi: v2-data.yml + OrdersUpdateResponseShippingAddressJapanType: + enum: + - kana + - kanji + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + source: + openapi: v2-data.yml + OrdersUpdateResponseShippingAddress: + docs: The shipping address + properties: + type: + type: optional + docs: The type of the order address (billing or shipping) + japanType: + type: optional + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + addressee: + type: optional + docs: Display name on the address + line1: + type: optional + docs: The first line of the address + line2: + type: optional + docs: The second line of the address + city: + type: optional + docs: The city of the address. + state: + type: optional + docs: The state or province of the address + country: + type: optional + docs: The country of the address + postalCode: + type: optional + docs: The postal code of the address + source: + openapi: v2-data.yml + OrdersUpdateResponseBillingAddressType: + enum: + - shipping + - billing + docs: The type of the order address (billing or shipping) + source: + openapi: v2-data.yml + OrdersUpdateResponseBillingAddressJapanType: + enum: + - kana + - kanji + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + source: + openapi: v2-data.yml + OrdersUpdateResponseBillingAddress: + docs: The billing address + properties: + type: + type: optional + docs: The type of the order address (billing or shipping) + japanType: + type: optional + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + addressee: + type: optional + docs: Display name on the address + line1: + type: optional + docs: The first line of the address + line2: + type: optional + docs: The second line of the address + city: + type: optional + docs: The city of the address. + state: + type: optional + docs: The state or province of the address + country: + type: optional + docs: The country of the address + postalCode: + type: optional + docs: The postal code of the address + source: + openapi: v2-data.yml + OrdersUpdateResponseCustomerInfo: + docs: An object with the keys `fullName` and `email`. + properties: + fullName: + type: optional + docs: The full name of the Customer + email: + type: optional + docs: The Customer's email address + validation: + format: email + source: + openapi: v2-data.yml + OrdersUpdateResponsePurchasedItemsItemRowTotal: + docs: The total for the row + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersUpdateResponsePurchasedItemsItemVariantImageFileVariantsItem: + properties: + url: + type: optional + docs: The hosted location for the Variant's image + validation: + format: uri + originalFileName: optional + size: + type: optional + docs: The image size in bytes + width: + type: optional + docs: The image width in pixels + height: + type: optional + docs: The image height in pixels + source: + openapi: v2-data.yml + OrdersUpdateResponsePurchasedItemsItemVariantImageFile: + properties: + size: + type: optional + docs: The image size in bytes + originalFileName: + type: optional + docs: the original name of the image + createdOn: + type: optional + docs: The creation timestamp of the image + contentType: + type: optional + docs: The MIME type of the image + width: + type: optional + docs: The image width in pixels + height: + type: optional + docs: The image height in pixels + variants: + type: >- + optional> + docs: Variants of the supplied image + source: + openapi: v2-data.yml + OrdersUpdateResponsePurchasedItemsItemVariantImage: + properties: + url: + type: optional + docs: The hosted location for the Variant's image + validation: + format: uri + file: optional + source: + openapi: v2-data.yml + OrdersUpdateResponsePurchasedItemsItemVariantPrice: + docs: The price corresponding to the variant + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersUpdateResponsePurchasedItemsItem: + docs: An Item that was purchased + properties: + count: + type: optional + docs: Number of Item purchased. + rowTotal: + type: optional + docs: The total for the row + productId: + type: optional + docs: The unique identifier for the Product + productName: + type: optional + docs: User-facing name of the Product + productSlug: + type: optional + docs: Slug for the Product + variantId: + type: optional + docs: Identifier for the Product Variant (SKU) + variantName: + type: optional + docs: User-facing name of the Product Variant (SKU) + variantSlug: + type: optional + docs: Slug for the Product Variant (SKU) + variantSKU: + type: optional + docs: The user-defined custom SKU of the Product Variant (SKU) + variantImage: optional + variantPrice: + type: optional + docs: The price corresponding to the variant + weight: + type: optional + docs: The physical weight of the variant if provided, or null + width: + type: optional + docs: The physical width of the variant if provided, or null + height: + type: optional + docs: The physical height of the variant if provided, or null + length: + type: optional + docs: The physical length of the variant if provided, or null + source: + openapi: v2-data.yml + OrdersUpdateResponseStripeDetails: + docs: >- + An object with various Stripe IDs, useful for linking into the stripe + dashboard. + properties: + subscriptionId: + type: optional + docs: Stripe-generated identifier for the Subscription + paymentMethod: + type: optional + docs: Stripe-generated identifier for the PaymentMethod used + paymentIntentId: + type: optional + docs: Stripe-generated identifier for the PaymentIntent, or null + customerId: + type: optional + docs: Stripe-generated customer identifier, or null + chargeId: + type: optional + docs: Stripe-generated charge identifier, or null + disputeId: + type: optional + docs: Stripe-generated dispute identifier, or null + refundId: + type: optional + docs: Stripe-generated refund identifier, or null + refundReason: + type: optional + docs: Stripe-generated refund reason, or null + source: + openapi: v2-data.yml + OrdersUpdateResponseStripeCardBrand: + enum: + - Visa + - value: American Express + name: AmericanExpress + - MasterCard + - Discover + - JCB + - value: Diners Club + name: DinersClub + - Unknown + docs: The card's brand (ie. credit card network) + source: + openapi: v2-data.yml + OrdersUpdateResponseStripeCardExpires: + docs: The card's expiration date. + properties: + year: + type: optional + docs: Year that the card expires + month: + type: optional + docs: Month that the card expires + source: + openapi: v2-data.yml + OrdersUpdateResponseStripeCard: + docs: > + Details on the card used to fulfill this order, if this order was + finalized with Stripe. + properties: + last4: + type: optional + docs: The last 4 digits on the card as a string + brand: + type: optional + docs: The card's brand (ie. credit card network) + ownerName: + type: optional + docs: The name on the card. + expires: + type: optional + docs: The card's expiration date. + source: + openapi: v2-data.yml + OrdersUpdateResponsePaypalDetails: + properties: + orderId: + type: optional + docs: PayPal order identifier + payerId: + type: optional + docs: PayPal payer identifier + captureId: + type: optional + docs: PayPal capture identifier + refundId: + type: optional + docs: PayPal refund identifier + refundReason: + type: optional + docs: PayPal-issued reason for the refund + disputeId: + type: optional + docs: PayPal dispute identifier + source: + openapi: v2-data.yml + OrdersUpdateResponseMetadata: + properties: + isBuyNow: optional + source: + openapi: v2-data.yml + OrdersUpdateResponseTotalsSubtotal: + docs: The subtotal price + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersUpdateResponseTotalsExtrasItemType: + enum: + - discount + - value: discount-shipping + name: DiscountShipping + - shipping + - tax + docs: The type of extra item this is. + source: + openapi: v2-data.yml + OrdersUpdateResponseTotalsExtrasItemPrice: + docs: The price for the item + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersUpdateResponseTotalsExtrasItem: + docs: Extra order items, includes discounts, shipping, and taxes. + properties: + type: + type: optional + docs: The type of extra item this is. + name: + type: optional + docs: A human-readable (but English) name for this extra charge. + description: + type: optional + docs: A human-readable (but English) description of this extra charge. + price: + type: optional + docs: The price for the item + source: + openapi: v2-data.yml + OrdersUpdateResponseTotalsTotal: + docs: The total price + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersUpdateResponseTotals: + docs: An object describing various pricing totals + properties: + subtotal: + type: optional + docs: The subtotal price + extras: + type: optional> + docs: An array of extra items, includes discounts, shipping, and taxes. + total: + type: optional + docs: The total price + source: + openapi: v2-data.yml + OrdersUpdateResponseDownloadFilesItem: + properties: + id: + type: optional + docs: The unique identifier for the downloadable file + name: + type: optional + docs: The user-facing name for the downloadable file + url: + type: optional + docs: The hosted location for the downloadable file + validation: + format: uri + source: + openapi: v2-data.yml + OrdersUpdateResponse: + properties: + orderId: + type: optional + docs: | + The order ID. Will usually be 6 hex characters, but can also be 9 + hex characters if the site has a very large number of Orders. + Randomly assigned. + status: + type: optional + docs: | + The status of the Order + comment: + type: optional + docs: >- + A comment string for this Order, which is editable by API user (not + used by Webflow). + orderComment: + type: optional + docs: A comment that the customer left when making their Order + acceptedOn: + type: optional + docs: The ISO8601 timestamp that an Order was placed. + fulfilledOn: + type: optional + docs: > + When an Order is marked as 'fulfilled', this field represents the + timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + refundedOn: + type: optional + docs: >- + When an Order is marked as 'refunded', this field represents the + timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + disputedOn: + type: optional + docs: > + When an Order is marked as 'disputed', this field represents the + timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + disputeUpdatedOn: + type: optional + docs: > + If an Order has been disputed by the customer, this key will be set to + the ISO8601 timestamp of the last update received. If the Order is not + disputed, the key will be null. + disputeLastStatus: + type: optional + docs: > + If an order was disputed by the customer, then this key will be set + with the [dispute's + status](https://stripe.com/docs/api#dispute_object-status). + customerPaid: + type: optional + docs: The total paid by the customer + netAmount: + type: optional + docs: The net amount after application fees + applicationFee: + type: optional + docs: The application fee assessed by the platform + allAddresses: + type: optional> + docs: All addresses provided by the customer during the ordering flow. + shippingAddress: + type: optional + docs: The shipping address + billingAddress: + type: optional + docs: The billing address + shippingProvider: + type: optional + docs: > + A string editable by the API user to note the shipping provider used + (not used by Webflow). + shippingTracking: + type: optional + docs: > + A string editable by the API user to note the shipping tracking number + for the order (not used by Webflow). + shippingTrackingURL: + type: optional + validation: + format: uri + customerInfo: + type: optional + docs: An object with the keys `fullName` and `email`. + purchasedItems: + type: optional> + docs: An array of all things that the Customer purchased. + purchasedItemsCount: + type: optional + docs: The sum of all 'count' fields in 'purchasedItems'. + stripeDetails: + type: optional + docs: >- + An object with various Stripe IDs, useful for linking into the stripe + dashboard. + stripeCard: + type: optional + docs: > + Details on the card used to fulfill this order, if this order was + finalized with Stripe. + paypalDetails: optional + customData: + type: optional>> + docs: > + An array of additional inputs for custom order data gathering. Each + object in the array represents an input with a name, and a textInput, + textArea, or checkbox value. + metadata: optional + isCustomerDeleted: + type: optional + docs: > + A boolean indicating whether the customer has been deleted from the + site. + isShippingRequired: + type: optional + docs: > + A boolean indicating whether the order contains one or more purchased + items that require shipping. + hasDownloads: + type: optional + docs: > + A boolean indicating whether the order contains one or more purchased + items that are downloadable. + paymentProcessor: + type: optional + docs: | + A string indicating the payment processor used for this order. + totals: + type: optional + docs: An object describing various pricing totals + downloadFiles: + type: optional> + docs: An array of downloadable file objects. + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponseStatus: + enum: + - pending + - unfulfilled + - fulfilled + - disputed + - value: dispute-lost + name: DisputeLost + - refunded + docs: | + The status of the Order + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponseDisputeLastStatus: + enum: + - warning_needs_response + - warning_under_review + - warning_closed + - needs_response + - under_review + - charge_refunded + - won + - lost + docs: > + If an order was disputed by the customer, then this key will be set with + the [dispute's status](https://stripe.com/docs/api#dispute_object-status). + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponseCustomerPaid: + docs: The total paid by the customer + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponseNetAmount: + docs: The net amount after application fees + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponseApplicationFee: + docs: The application fee assessed by the platform + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponseAllAddressesItemType: + enum: + - shipping + - billing + docs: The type of the order address (billing or shipping) + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponseAllAddressesItemJapanType: + enum: + - kana + - kanji + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponseAllAddressesItem: + docs: A customer address + properties: + type: + type: optional + docs: The type of the order address (billing or shipping) + japanType: + type: optional + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + addressee: + type: optional + docs: Display name on the address + line1: + type: optional + docs: The first line of the address + line2: + type: optional + docs: The second line of the address + city: + type: optional + docs: The city of the address. + state: + type: optional + docs: The state or province of the address + country: + type: optional + docs: The country of the address + postalCode: + type: optional + docs: The postal code of the address + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponseShippingAddressType: + enum: + - shipping + - billing + docs: The type of the order address (billing or shipping) + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponseShippingAddressJapanType: + enum: + - kana + - kanji + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponseShippingAddress: + docs: The shipping address + properties: + type: + type: optional + docs: The type of the order address (billing or shipping) + japanType: + type: optional + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + addressee: + type: optional + docs: Display name on the address + line1: + type: optional + docs: The first line of the address + line2: + type: optional + docs: The second line of the address + city: + type: optional + docs: The city of the address. + state: + type: optional + docs: The state or province of the address + country: + type: optional + docs: The country of the address + postalCode: + type: optional + docs: The postal code of the address + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponseBillingAddressType: + enum: + - shipping + - billing + docs: The type of the order address (billing or shipping) + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponseBillingAddressJapanType: + enum: + - kana + - kanji + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponseBillingAddress: + docs: The billing address + properties: + type: + type: optional + docs: The type of the order address (billing or shipping) + japanType: + type: optional + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + addressee: + type: optional + docs: Display name on the address + line1: + type: optional + docs: The first line of the address + line2: + type: optional + docs: The second line of the address + city: + type: optional + docs: The city of the address. + state: + type: optional + docs: The state or province of the address + country: + type: optional + docs: The country of the address + postalCode: + type: optional + docs: The postal code of the address + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponseCustomerInfo: + docs: An object with the keys `fullName` and `email`. + properties: + fullName: + type: optional + docs: The full name of the Customer + email: + type: optional + docs: The Customer's email address + validation: + format: email + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponsePurchasedItemsItemRowTotal: + docs: The total for the row + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFileVariantsItem: + properties: + url: + type: optional + docs: The hosted location for the Variant's image + validation: + format: uri + originalFileName: optional + size: + type: optional + docs: The image size in bytes + width: + type: optional + docs: The image width in pixels + height: + type: optional + docs: The image height in pixels + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFile: + properties: + size: + type: optional + docs: The image size in bytes + originalFileName: + type: optional + docs: the original name of the image + createdOn: + type: optional + docs: The creation timestamp of the image + contentType: + type: optional + docs: The MIME type of the image + width: + type: optional + docs: The image width in pixels + height: + type: optional + docs: The image height in pixels + variants: + type: >- + optional> + docs: Variants of the supplied image + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponsePurchasedItemsItemVariantImage: + properties: + url: + type: optional + docs: The hosted location for the Variant's image + validation: + format: uri + file: optional + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponsePurchasedItemsItemVariantPrice: + docs: The price corresponding to the variant + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponsePurchasedItemsItem: + docs: An Item that was purchased + properties: + count: + type: optional + docs: Number of Item purchased. + rowTotal: + type: optional + docs: The total for the row + productId: + type: optional + docs: The unique identifier for the Product + productName: + type: optional + docs: User-facing name of the Product + productSlug: + type: optional + docs: Slug for the Product + variantId: + type: optional + docs: Identifier for the Product Variant (SKU) + variantName: + type: optional + docs: User-facing name of the Product Variant (SKU) + variantSlug: + type: optional + docs: Slug for the Product Variant (SKU) + variantSKU: + type: optional + docs: The user-defined custom SKU of the Product Variant (SKU) + variantImage: optional + variantPrice: + type: optional + docs: The price corresponding to the variant + weight: + type: optional + docs: The physical weight of the variant if provided, or null + width: + type: optional + docs: The physical width of the variant if provided, or null + height: + type: optional + docs: The physical height of the variant if provided, or null + length: + type: optional + docs: The physical length of the variant if provided, or null + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponseStripeDetails: + docs: >- + An object with various Stripe IDs, useful for linking into the stripe + dashboard. + properties: + subscriptionId: + type: optional + docs: Stripe-generated identifier for the Subscription + paymentMethod: + type: optional + docs: Stripe-generated identifier for the PaymentMethod used + paymentIntentId: + type: optional + docs: Stripe-generated identifier for the PaymentIntent, or null + customerId: + type: optional + docs: Stripe-generated customer identifier, or null + chargeId: + type: optional + docs: Stripe-generated charge identifier, or null + disputeId: + type: optional + docs: Stripe-generated dispute identifier, or null + refundId: + type: optional + docs: Stripe-generated refund identifier, or null + refundReason: + type: optional + docs: Stripe-generated refund reason, or null + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponseStripeCardBrand: + enum: + - Visa + - value: American Express + name: AmericanExpress + - MasterCard + - Discover + - JCB + - value: Diners Club + name: DinersClub + - Unknown + docs: The card's brand (ie. credit card network) + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponseStripeCardExpires: + docs: The card's expiration date. + properties: + year: + type: optional + docs: Year that the card expires + month: + type: optional + docs: Month that the card expires + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponseStripeCard: + docs: > + Details on the card used to fulfill this order, if this order was + finalized with Stripe. + properties: + last4: + type: optional + docs: The last 4 digits on the card as a string + brand: + type: optional + docs: The card's brand (ie. credit card network) + ownerName: + type: optional + docs: The name on the card. + expires: + type: optional + docs: The card's expiration date. + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponsePaypalDetails: + properties: + orderId: + type: optional + docs: PayPal order identifier + payerId: + type: optional + docs: PayPal payer identifier + captureId: + type: optional + docs: PayPal capture identifier + refundId: + type: optional + docs: PayPal refund identifier + refundReason: + type: optional + docs: PayPal-issued reason for the refund + disputeId: + type: optional + docs: PayPal dispute identifier + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponseMetadata: + properties: + isBuyNow: optional + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponseTotalsSubtotal: + docs: The subtotal price + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponseTotalsExtrasItemType: + enum: + - discount + - value: discount-shipping + name: DiscountShipping + - shipping + - tax + docs: The type of extra item this is. + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponseTotalsExtrasItemPrice: + docs: The price for the item + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponseTotalsExtrasItem: + docs: Extra order items, includes discounts, shipping, and taxes. + properties: + type: + type: optional + docs: The type of extra item this is. + name: + type: optional + docs: A human-readable (but English) name for this extra charge. + description: + type: optional + docs: A human-readable (but English) description of this extra charge. + price: + type: optional + docs: The price for the item + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponseTotalsTotal: + docs: The total price + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponseTotals: + docs: An object describing various pricing totals + properties: + subtotal: + type: optional + docs: The subtotal price + extras: + type: optional> + docs: An array of extra items, includes discounts, shipping, and taxes. + total: + type: optional + docs: The total price + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponseDownloadFilesItem: + properties: + id: + type: optional + docs: The unique identifier for the downloadable file + name: + type: optional + docs: The user-facing name for the downloadable file + url: + type: optional + docs: The hosted location for the downloadable file + validation: + format: uri + source: + openapi: v2-data.yml + OrdersUpdateFulfillResponse: + properties: + orderId: + type: optional + docs: | + The order ID. Will usually be 6 hex characters, but can also be 9 + hex characters if the site has a very large number of Orders. + Randomly assigned. + status: + type: optional + docs: | + The status of the Order + comment: + type: optional + docs: >- + A comment string for this Order, which is editable by API user (not + used by Webflow). + orderComment: + type: optional + docs: A comment that the customer left when making their Order + acceptedOn: + type: optional + docs: The ISO8601 timestamp that an Order was placed. + fulfilledOn: + type: optional + docs: > + When an Order is marked as 'fulfilled', this field represents the + timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + refundedOn: + type: optional + docs: >- + When an Order is marked as 'refunded', this field represents the + timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + disputedOn: + type: optional + docs: > + When an Order is marked as 'disputed', this field represents the + timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + disputeUpdatedOn: + type: optional + docs: > + If an Order has been disputed by the customer, this key will be set to + the ISO8601 timestamp of the last update received. If the Order is not + disputed, the key will be null. + disputeLastStatus: + type: optional + docs: > + If an order was disputed by the customer, then this key will be set + with the [dispute's + status](https://stripe.com/docs/api#dispute_object-status). + customerPaid: + type: optional + docs: The total paid by the customer + netAmount: + type: optional + docs: The net amount after application fees + applicationFee: + type: optional + docs: The application fee assessed by the platform + allAddresses: + type: optional> + docs: All addresses provided by the customer during the ordering flow. + shippingAddress: + type: optional + docs: The shipping address + billingAddress: + type: optional + docs: The billing address + shippingProvider: + type: optional + docs: > + A string editable by the API user to note the shipping provider used + (not used by Webflow). + shippingTracking: + type: optional + docs: > + A string editable by the API user to note the shipping tracking number + for the order (not used by Webflow). + shippingTrackingURL: + type: optional + validation: + format: uri + customerInfo: + type: optional + docs: An object with the keys `fullName` and `email`. + purchasedItems: + type: optional> + docs: An array of all things that the Customer purchased. + purchasedItemsCount: + type: optional + docs: The sum of all 'count' fields in 'purchasedItems'. + stripeDetails: + type: optional + docs: >- + An object with various Stripe IDs, useful for linking into the stripe + dashboard. + stripeCard: + type: optional + docs: > + Details on the card used to fulfill this order, if this order was + finalized with Stripe. + paypalDetails: optional + customData: + type: optional>> + docs: > + An array of additional inputs for custom order data gathering. Each + object in the array represents an input with a name, and a textInput, + textArea, or checkbox value. + metadata: optional + isCustomerDeleted: + type: optional + docs: > + A boolean indicating whether the customer has been deleted from the + site. + isShippingRequired: + type: optional + docs: > + A boolean indicating whether the order contains one or more purchased + items that require shipping. + hasDownloads: + type: optional + docs: > + A boolean indicating whether the order contains one or more purchased + items that are downloadable. + paymentProcessor: + type: optional + docs: | + A string indicating the payment processor used for this order. + totals: + type: optional + docs: An object describing various pricing totals + downloadFiles: + type: optional> + docs: An array of downloadable file objects. + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponseStatus: + enum: + - pending + - unfulfilled + - fulfilled + - disputed + - value: dispute-lost + name: DisputeLost + - refunded + docs: | + The status of the Order + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponseDisputeLastStatus: + enum: + - warning_needs_response + - warning_under_review + - warning_closed + - needs_response + - under_review + - charge_refunded + - won + - lost + docs: > + If an order was disputed by the customer, then this key will be set with + the [dispute's status](https://stripe.com/docs/api#dispute_object-status). + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponseCustomerPaid: + docs: The total paid by the customer + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponseNetAmount: + docs: The net amount after application fees + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponseApplicationFee: + docs: The application fee assessed by the platform + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponseAllAddressesItemType: + enum: + - shipping + - billing + docs: The type of the order address (billing or shipping) + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponseAllAddressesItemJapanType: + enum: + - kana + - kanji + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponseAllAddressesItem: + docs: A customer address + properties: + type: + type: optional + docs: The type of the order address (billing or shipping) + japanType: + type: optional + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + addressee: + type: optional + docs: Display name on the address + line1: + type: optional + docs: The first line of the address + line2: + type: optional + docs: The second line of the address + city: + type: optional + docs: The city of the address. + state: + type: optional + docs: The state or province of the address + country: + type: optional + docs: The country of the address + postalCode: + type: optional + docs: The postal code of the address + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponseShippingAddressType: + enum: + - shipping + - billing + docs: The type of the order address (billing or shipping) + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponseShippingAddressJapanType: + enum: + - kana + - kanji + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponseShippingAddress: + docs: The shipping address + properties: + type: + type: optional + docs: The type of the order address (billing or shipping) + japanType: + type: optional + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + addressee: + type: optional + docs: Display name on the address + line1: + type: optional + docs: The first line of the address + line2: + type: optional + docs: The second line of the address + city: + type: optional + docs: The city of the address. + state: + type: optional + docs: The state or province of the address + country: + type: optional + docs: The country of the address + postalCode: + type: optional + docs: The postal code of the address + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponseBillingAddressType: + enum: + - shipping + - billing + docs: The type of the order address (billing or shipping) + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponseBillingAddressJapanType: + enum: + - kana + - kanji + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponseBillingAddress: + docs: The billing address + properties: + type: + type: optional + docs: The type of the order address (billing or shipping) + japanType: + type: optional + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + addressee: + type: optional + docs: Display name on the address + line1: + type: optional + docs: The first line of the address + line2: + type: optional + docs: The second line of the address + city: + type: optional + docs: The city of the address. + state: + type: optional + docs: The state or province of the address + country: + type: optional + docs: The country of the address + postalCode: + type: optional + docs: The postal code of the address + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponseCustomerInfo: + docs: An object with the keys `fullName` and `email`. + properties: + fullName: + type: optional + docs: The full name of the Customer + email: + type: optional + docs: The Customer's email address + validation: + format: email + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponsePurchasedItemsItemRowTotal: + docs: The total for the row + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFileVariantsItem: + properties: + url: + type: optional + docs: The hosted location for the Variant's image + validation: + format: uri + originalFileName: optional + size: + type: optional + docs: The image size in bytes + width: + type: optional + docs: The image width in pixels + height: + type: optional + docs: The image height in pixels + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFile: + properties: + size: + type: optional + docs: The image size in bytes + originalFileName: + type: optional + docs: the original name of the image + createdOn: + type: optional + docs: The creation timestamp of the image + contentType: + type: optional + docs: The MIME type of the image + width: + type: optional + docs: The image width in pixels + height: + type: optional + docs: The image height in pixels + variants: + type: >- + optional> + docs: Variants of the supplied image + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImage: + properties: + url: + type: optional + docs: The hosted location for the Variant's image + validation: + format: uri + file: >- + optional + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantPrice: + docs: The price corresponding to the variant + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponsePurchasedItemsItem: + docs: An Item that was purchased + properties: + count: + type: optional + docs: Number of Item purchased. + rowTotal: + type: optional + docs: The total for the row + productId: + type: optional + docs: The unique identifier for the Product + productName: + type: optional + docs: User-facing name of the Product + productSlug: + type: optional + docs: Slug for the Product + variantId: + type: optional + docs: Identifier for the Product Variant (SKU) + variantName: + type: optional + docs: User-facing name of the Product Variant (SKU) + variantSlug: + type: optional + docs: Slug for the Product Variant (SKU) + variantSKU: + type: optional + docs: The user-defined custom SKU of the Product Variant (SKU) + variantImage: optional + variantPrice: + type: optional + docs: The price corresponding to the variant + weight: + type: optional + docs: The physical weight of the variant if provided, or null + width: + type: optional + docs: The physical width of the variant if provided, or null + height: + type: optional + docs: The physical height of the variant if provided, or null + length: + type: optional + docs: The physical length of the variant if provided, or null + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponseStripeDetails: + docs: >- + An object with various Stripe IDs, useful for linking into the stripe + dashboard. + properties: + subscriptionId: + type: optional + docs: Stripe-generated identifier for the Subscription + paymentMethod: + type: optional + docs: Stripe-generated identifier for the PaymentMethod used + paymentIntentId: + type: optional + docs: Stripe-generated identifier for the PaymentIntent, or null + customerId: + type: optional + docs: Stripe-generated customer identifier, or null + chargeId: + type: optional + docs: Stripe-generated charge identifier, or null + disputeId: + type: optional + docs: Stripe-generated dispute identifier, or null + refundId: + type: optional + docs: Stripe-generated refund identifier, or null + refundReason: + type: optional + docs: Stripe-generated refund reason, or null + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponseStripeCardBrand: + enum: + - Visa + - value: American Express + name: AmericanExpress + - MasterCard + - Discover + - JCB + - value: Diners Club + name: DinersClub + - Unknown + docs: The card's brand (ie. credit card network) + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponseStripeCardExpires: + docs: The card's expiration date. + properties: + year: + type: optional + docs: Year that the card expires + month: + type: optional + docs: Month that the card expires + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponseStripeCard: + docs: > + Details on the card used to fulfill this order, if this order was + finalized with Stripe. + properties: + last4: + type: optional + docs: The last 4 digits on the card as a string + brand: + type: optional + docs: The card's brand (ie. credit card network) + ownerName: + type: optional + docs: The name on the card. + expires: + type: optional + docs: The card's expiration date. + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponsePaypalDetails: + properties: + orderId: + type: optional + docs: PayPal order identifier + payerId: + type: optional + docs: PayPal payer identifier + captureId: + type: optional + docs: PayPal capture identifier + refundId: + type: optional + docs: PayPal refund identifier + refundReason: + type: optional + docs: PayPal-issued reason for the refund + disputeId: + type: optional + docs: PayPal dispute identifier + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponseMetadata: + properties: + isBuyNow: optional + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponseTotalsSubtotal: + docs: The subtotal price + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponseTotalsExtrasItemType: + enum: + - discount + - value: discount-shipping + name: DiscountShipping + - shipping + - tax + docs: The type of extra item this is. + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponseTotalsExtrasItemPrice: + docs: The price for the item + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponseTotalsExtrasItem: + docs: Extra order items, includes discounts, shipping, and taxes. + properties: + type: + type: optional + docs: The type of extra item this is. + name: + type: optional + docs: A human-readable (but English) name for this extra charge. + description: + type: optional + docs: A human-readable (but English) description of this extra charge. + price: + type: optional + docs: The price for the item + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponseTotalsTotal: + docs: The total price + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponseTotals: + docs: An object describing various pricing totals + properties: + subtotal: + type: optional + docs: The subtotal price + extras: + type: optional> + docs: An array of extra items, includes discounts, shipping, and taxes. + total: + type: optional + docs: The total price + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponseDownloadFilesItem: + properties: + id: + type: optional + docs: The unique identifier for the downloadable file + name: + type: optional + docs: The user-facing name for the downloadable file + url: + type: optional + docs: The hosted location for the downloadable file + validation: + format: uri + source: + openapi: v2-data.yml + OrdersUpdateUnfulfillResponse: + properties: + orderId: + type: optional + docs: | + The order ID. Will usually be 6 hex characters, but can also be 9 + hex characters if the site has a very large number of Orders. + Randomly assigned. + status: + type: optional + docs: | + The status of the Order + comment: + type: optional + docs: >- + A comment string for this Order, which is editable by API user (not + used by Webflow). + orderComment: + type: optional + docs: A comment that the customer left when making their Order + acceptedOn: + type: optional + docs: The ISO8601 timestamp that an Order was placed. + fulfilledOn: + type: optional + docs: > + When an Order is marked as 'fulfilled', this field represents the + timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + refundedOn: + type: optional + docs: >- + When an Order is marked as 'refunded', this field represents the + timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + disputedOn: + type: optional + docs: > + When an Order is marked as 'disputed', this field represents the + timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + disputeUpdatedOn: + type: optional + docs: > + If an Order has been disputed by the customer, this key will be set to + the ISO8601 timestamp of the last update received. If the Order is not + disputed, the key will be null. + disputeLastStatus: + type: optional + docs: > + If an order was disputed by the customer, then this key will be set + with the [dispute's + status](https://stripe.com/docs/api#dispute_object-status). + customerPaid: + type: optional + docs: The total paid by the customer + netAmount: + type: optional + docs: The net amount after application fees + applicationFee: + type: optional + docs: The application fee assessed by the platform + allAddresses: + type: optional> + docs: All addresses provided by the customer during the ordering flow. + shippingAddress: + type: optional + docs: The shipping address + billingAddress: + type: optional + docs: The billing address + shippingProvider: + type: optional + docs: > + A string editable by the API user to note the shipping provider used + (not used by Webflow). + shippingTracking: + type: optional + docs: > + A string editable by the API user to note the shipping tracking number + for the order (not used by Webflow). + shippingTrackingURL: + type: optional + validation: + format: uri + customerInfo: + type: optional + docs: An object with the keys `fullName` and `email`. + purchasedItems: + type: optional> + docs: An array of all things that the Customer purchased. + purchasedItemsCount: + type: optional + docs: The sum of all 'count' fields in 'purchasedItems'. + stripeDetails: + type: optional + docs: >- + An object with various Stripe IDs, useful for linking into the stripe + dashboard. + stripeCard: + type: optional + docs: > + Details on the card used to fulfill this order, if this order was + finalized with Stripe. + paypalDetails: optional + customData: + type: optional>> + docs: > + An array of additional inputs for custom order data gathering. Each + object in the array represents an input with a name, and a textInput, + textArea, or checkbox value. + metadata: optional + isCustomerDeleted: + type: optional + docs: > + A boolean indicating whether the customer has been deleted from the + site. + isShippingRequired: + type: optional + docs: > + A boolean indicating whether the order contains one or more purchased + items that require shipping. + hasDownloads: + type: optional + docs: > + A boolean indicating whether the order contains one or more purchased + items that are downloadable. + paymentProcessor: + type: optional + docs: | + A string indicating the payment processor used for this order. + totals: + type: optional + docs: An object describing various pricing totals + downloadFiles: + type: optional> + docs: An array of downloadable file objects. + source: + openapi: v2-data.yml + OrdersRefundRequestReason: + enum: + - duplicate + - fraudulent + - requested + docs: The reason for the refund + source: + openapi: v2-data.yml + OrdersRefundResponseStatus: + enum: + - pending + - unfulfilled + - fulfilled + - disputed + - value: dispute-lost + name: DisputeLost + - refunded + docs: | + The status of the Order + source: + openapi: v2-data.yml + OrdersRefundResponseDisputeLastStatus: + enum: + - warning_needs_response + - warning_under_review + - warning_closed + - needs_response + - under_review + - charge_refunded + - won + - lost + docs: > + If an order was disputed by the customer, then this key will be set with + the [dispute's status](https://stripe.com/docs/api#dispute_object-status). + source: + openapi: v2-data.yml + OrdersRefundResponseCustomerPaid: + docs: The total paid by the customer + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersRefundResponseNetAmount: + docs: The net amount after application fees + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersRefundResponseApplicationFee: + docs: The application fee assessed by the platform + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersRefundResponseAllAddressesItemType: + enum: + - shipping + - billing + docs: The type of the order address (billing or shipping) + source: + openapi: v2-data.yml + OrdersRefundResponseAllAddressesItemJapanType: + enum: + - kana + - kanji + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + source: + openapi: v2-data.yml + OrdersRefundResponseAllAddressesItem: + docs: A customer address + properties: + type: + type: optional + docs: The type of the order address (billing or shipping) + japanType: + type: optional + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + addressee: + type: optional + docs: Display name on the address + line1: + type: optional + docs: The first line of the address + line2: + type: optional + docs: The second line of the address + city: + type: optional + docs: The city of the address. + state: + type: optional + docs: The state or province of the address + country: + type: optional + docs: The country of the address + postalCode: + type: optional + docs: The postal code of the address + source: + openapi: v2-data.yml + OrdersRefundResponseShippingAddressType: + enum: + - shipping + - billing + docs: The type of the order address (billing or shipping) + source: + openapi: v2-data.yml + OrdersRefundResponseShippingAddressJapanType: + enum: + - kana + - kanji + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + source: + openapi: v2-data.yml + OrdersRefundResponseShippingAddress: + docs: The shipping address + properties: + type: + type: optional + docs: The type of the order address (billing or shipping) + japanType: + type: optional + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + addressee: + type: optional + docs: Display name on the address + line1: + type: optional + docs: The first line of the address + line2: + type: optional + docs: The second line of the address + city: + type: optional + docs: The city of the address. + state: + type: optional + docs: The state or province of the address + country: + type: optional + docs: The country of the address + postalCode: + type: optional + docs: The postal code of the address + source: + openapi: v2-data.yml + OrdersRefundResponseBillingAddressType: + enum: + - shipping + - billing + docs: The type of the order address (billing or shipping) + source: + openapi: v2-data.yml + OrdersRefundResponseBillingAddressJapanType: + enum: + - kana + - kanji + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + source: + openapi: v2-data.yml + OrdersRefundResponseBillingAddress: + docs: The billing address + properties: + type: + type: optional + docs: The type of the order address (billing or shipping) + japanType: + type: optional + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + addressee: + type: optional + docs: Display name on the address + line1: + type: optional + docs: The first line of the address + line2: + type: optional + docs: The second line of the address + city: + type: optional + docs: The city of the address. + state: + type: optional + docs: The state or province of the address + country: + type: optional + docs: The country of the address + postalCode: + type: optional + docs: The postal code of the address + source: + openapi: v2-data.yml + OrdersRefundResponseCustomerInfo: + docs: An object with the keys `fullName` and `email`. + properties: + fullName: + type: optional + docs: The full name of the Customer + email: + type: optional + docs: The Customer's email address + validation: + format: email + source: + openapi: v2-data.yml + OrdersRefundResponsePurchasedItemsItemRowTotal: + docs: The total for the row + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersRefundResponsePurchasedItemsItemVariantImageFileVariantsItem: + properties: + url: + type: optional + docs: The hosted location for the Variant's image + validation: + format: uri + originalFileName: optional + size: + type: optional + docs: The image size in bytes + width: + type: optional + docs: The image width in pixels + height: + type: optional + docs: The image height in pixels + source: + openapi: v2-data.yml + OrdersRefundResponsePurchasedItemsItemVariantImageFile: + properties: + size: + type: optional + docs: The image size in bytes + originalFileName: + type: optional + docs: the original name of the image + createdOn: + type: optional + docs: The creation timestamp of the image + contentType: + type: optional + docs: The MIME type of the image + width: + type: optional + docs: The image width in pixels + height: + type: optional + docs: The image height in pixels + variants: + type: >- + optional> + docs: Variants of the supplied image + source: + openapi: v2-data.yml + OrdersRefundResponsePurchasedItemsItemVariantImage: + properties: + url: + type: optional + docs: The hosted location for the Variant's image + validation: + format: uri + file: optional + source: + openapi: v2-data.yml + OrdersRefundResponsePurchasedItemsItemVariantPrice: + docs: The price corresponding to the variant + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersRefundResponsePurchasedItemsItem: + docs: An Item that was purchased + properties: + count: + type: optional + docs: Number of Item purchased. + rowTotal: + type: optional + docs: The total for the row + productId: + type: optional + docs: The unique identifier for the Product + productName: + type: optional + docs: User-facing name of the Product + productSlug: + type: optional + docs: Slug for the Product + variantId: + type: optional + docs: Identifier for the Product Variant (SKU) + variantName: + type: optional + docs: User-facing name of the Product Variant (SKU) + variantSlug: + type: optional + docs: Slug for the Product Variant (SKU) + variantSKU: + type: optional + docs: The user-defined custom SKU of the Product Variant (SKU) + variantImage: optional + variantPrice: + type: optional + docs: The price corresponding to the variant + weight: + type: optional + docs: The physical weight of the variant if provided, or null + width: + type: optional + docs: The physical width of the variant if provided, or null + height: + type: optional + docs: The physical height of the variant if provided, or null + length: + type: optional + docs: The physical length of the variant if provided, or null + source: + openapi: v2-data.yml + OrdersRefundResponseStripeDetails: + docs: >- + An object with various Stripe IDs, useful for linking into the stripe + dashboard. + properties: + subscriptionId: + type: optional + docs: Stripe-generated identifier for the Subscription + paymentMethod: + type: optional + docs: Stripe-generated identifier for the PaymentMethod used + paymentIntentId: + type: optional + docs: Stripe-generated identifier for the PaymentIntent, or null + customerId: + type: optional + docs: Stripe-generated customer identifier, or null + chargeId: + type: optional + docs: Stripe-generated charge identifier, or null + disputeId: + type: optional + docs: Stripe-generated dispute identifier, or null + refundId: + type: optional + docs: Stripe-generated refund identifier, or null + refundReason: + type: optional + docs: Stripe-generated refund reason, or null + source: + openapi: v2-data.yml + OrdersRefundResponseStripeCardBrand: + enum: + - Visa + - value: American Express + name: AmericanExpress + - MasterCard + - Discover + - JCB + - value: Diners Club + name: DinersClub + - Unknown + docs: The card's brand (ie. credit card network) + source: + openapi: v2-data.yml + OrdersRefundResponseStripeCardExpires: + docs: The card's expiration date. + properties: + year: + type: optional + docs: Year that the card expires + month: + type: optional + docs: Month that the card expires + source: + openapi: v2-data.yml + OrdersRefundResponseStripeCard: + docs: > + Details on the card used to fulfill this order, if this order was + finalized with Stripe. + properties: + last4: + type: optional + docs: The last 4 digits on the card as a string + brand: + type: optional + docs: The card's brand (ie. credit card network) + ownerName: + type: optional + docs: The name on the card. + expires: + type: optional + docs: The card's expiration date. + source: + openapi: v2-data.yml + OrdersRefundResponsePaypalDetails: + properties: + orderId: + type: optional + docs: PayPal order identifier + payerId: + type: optional + docs: PayPal payer identifier + captureId: + type: optional + docs: PayPal capture identifier + refundId: + type: optional + docs: PayPal refund identifier + refundReason: + type: optional + docs: PayPal-issued reason for the refund + disputeId: + type: optional + docs: PayPal dispute identifier + source: + openapi: v2-data.yml + OrdersRefundResponseMetadata: + properties: + isBuyNow: optional + source: + openapi: v2-data.yml + OrdersRefundResponseTotalsSubtotal: + docs: The subtotal price + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersRefundResponseTotalsExtrasItemType: + enum: + - discount + - value: discount-shipping + name: DiscountShipping + - shipping + - tax + docs: The type of extra item this is. + source: + openapi: v2-data.yml + OrdersRefundResponseTotalsExtrasItemPrice: + docs: The price for the item + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersRefundResponseTotalsExtrasItem: + docs: Extra order items, includes discounts, shipping, and taxes. + properties: + type: + type: optional + docs: The type of extra item this is. + name: + type: optional + docs: A human-readable (but English) name for this extra charge. + description: + type: optional + docs: A human-readable (but English) description of this extra charge. + price: + type: optional + docs: The price for the item + source: + openapi: v2-data.yml + OrdersRefundResponseTotalsTotal: + docs: The total price + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + OrdersRefundResponseTotals: + docs: An object describing various pricing totals + properties: + subtotal: + type: optional + docs: The subtotal price + extras: + type: optional> + docs: An array of extra items, includes discounts, shipping, and taxes. + total: + type: optional + docs: The total price + source: + openapi: v2-data.yml + OrdersRefundResponseDownloadFilesItem: + properties: + id: + type: optional + docs: The unique identifier for the downloadable file + name: + type: optional + docs: The user-facing name for the downloadable file + url: + type: optional + docs: The hosted location for the downloadable file + validation: + format: uri + source: + openapi: v2-data.yml + OrdersRefundResponse: + properties: + orderId: + type: optional + docs: | + The order ID. Will usually be 6 hex characters, but can also be 9 + hex characters if the site has a very large number of Orders. + Randomly assigned. + status: + type: optional + docs: | + The status of the Order + comment: + type: optional + docs: >- + A comment string for this Order, which is editable by API user (not + used by Webflow). + orderComment: + type: optional + docs: A comment that the customer left when making their Order + acceptedOn: + type: optional + docs: The ISO8601 timestamp that an Order was placed. + fulfilledOn: + type: optional + docs: > + When an Order is marked as 'fulfilled', this field represents the + timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + refundedOn: + type: optional + docs: >- + When an Order is marked as 'refunded', this field represents the + timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + disputedOn: + type: optional + docs: > + When an Order is marked as 'disputed', this field represents the + timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + disputeUpdatedOn: + type: optional + docs: > + If an Order has been disputed by the customer, this key will be set to + the ISO8601 timestamp of the last update received. If the Order is not + disputed, the key will be null. + disputeLastStatus: + type: optional + docs: > + If an order was disputed by the customer, then this key will be set + with the [dispute's + status](https://stripe.com/docs/api#dispute_object-status). + customerPaid: + type: optional + docs: The total paid by the customer + netAmount: + type: optional + docs: The net amount after application fees + applicationFee: + type: optional + docs: The application fee assessed by the platform + allAddresses: + type: optional> + docs: All addresses provided by the customer during the ordering flow. + shippingAddress: + type: optional + docs: The shipping address + billingAddress: + type: optional + docs: The billing address + shippingProvider: + type: optional + docs: > + A string editable by the API user to note the shipping provider used + (not used by Webflow). + shippingTracking: + type: optional + docs: > + A string editable by the API user to note the shipping tracking number + for the order (not used by Webflow). + shippingTrackingURL: + type: optional + validation: + format: uri + customerInfo: + type: optional + docs: An object with the keys `fullName` and `email`. + purchasedItems: + type: optional> + docs: An array of all things that the Customer purchased. + purchasedItemsCount: + type: optional + docs: The sum of all 'count' fields in 'purchasedItems'. + stripeDetails: + type: optional + docs: >- + An object with various Stripe IDs, useful for linking into the stripe + dashboard. + stripeCard: + type: optional + docs: > + Details on the card used to fulfill this order, if this order was + finalized with Stripe. + paypalDetails: optional + customData: + type: optional>> + docs: > + An array of additional inputs for custom order data gathering. Each + object in the array represents an input with a name, and a textInput, + textArea, or checkbox value. + metadata: optional + isCustomerDeleted: + type: optional + docs: > + A boolean indicating whether the customer has been deleted from the + site. + isShippingRequired: + type: optional + docs: > + A boolean indicating whether the order contains one or more purchased + items that require shipping. + hasDownloads: + type: optional + docs: > + A boolean indicating whether the order contains one or more purchased + items that are downloadable. + paymentProcessor: + type: optional + docs: | + A string indicating the payment processor used for this order. + totals: + type: optional + docs: An object describing various pricing totals + downloadFiles: + type: optional> + docs: An array of downloadable file objects. + source: + openapi: v2-data.yml + EcommNewOrderPayloadStatus: + enum: + - pending + - unfulfilled + - fulfilled + - disputed + - value: dispute-lost + name: DisputeLost + - refunded + docs: | + The status of the Order + source: + openapi: v2-data.yml + EcommNewOrderPayloadDisputeLastStatus: + enum: + - warning_needs_response + - warning_under_review + - warning_closed + - needs_response + - under_review + - charge_refunded + - won + - lost + docs: > + If an order was disputed by the customer, then this key will be set with + the [dispute's status](https://stripe.com/docs/api#dispute_object-status). + source: + openapi: v2-data.yml + EcommNewOrderPayloadCustomerPaid: + docs: The total paid by the customer + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + EcommNewOrderPayloadNetAmount: + docs: The net amount after application fees + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + EcommNewOrderPayloadApplicationFee: + docs: The application fee assessed by the platform + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + EcommNewOrderPayloadAllAddressesItemType: + enum: + - shipping + - billing + docs: The type of the order address (billing or shipping) + source: + openapi: v2-data.yml + EcommNewOrderPayloadAllAddressesItemJapanType: + enum: + - kana + - kanji + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + source: + openapi: v2-data.yml + EcommNewOrderPayloadAllAddressesItem: + docs: A customer address + properties: + type: + type: optional + docs: The type of the order address (billing or shipping) + japanType: + type: optional + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + addressee: + type: optional + docs: Display name on the address + line1: + type: optional + docs: The first line of the address + line2: + type: optional + docs: The second line of the address + city: + type: optional + docs: The city of the address. + state: + type: optional + docs: The state or province of the address + country: + type: optional + docs: The country of the address + postalCode: + type: optional + docs: The postal code of the address + source: + openapi: v2-data.yml + EcommNewOrderPayloadShippingAddressType: + enum: + - shipping + - billing + docs: The type of the order address (billing or shipping) + source: + openapi: v2-data.yml + EcommNewOrderPayloadShippingAddressJapanType: + enum: + - kana + - kanji + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + source: + openapi: v2-data.yml + EcommNewOrderPayloadShippingAddress: + docs: The shipping address + properties: + type: + type: optional + docs: The type of the order address (billing or shipping) + japanType: + type: optional + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + addressee: + type: optional + docs: Display name on the address + line1: + type: optional + docs: The first line of the address + line2: + type: optional + docs: The second line of the address + city: + type: optional + docs: The city of the address. + state: + type: optional + docs: The state or province of the address + country: + type: optional + docs: The country of the address + postalCode: + type: optional + docs: The postal code of the address + source: + openapi: v2-data.yml + EcommNewOrderPayloadBillingAddressType: + enum: + - shipping + - billing + docs: The type of the order address (billing or shipping) + source: + openapi: v2-data.yml + EcommNewOrderPayloadBillingAddressJapanType: + enum: + - kana + - kanji + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + source: + openapi: v2-data.yml + EcommNewOrderPayloadBillingAddress: + docs: The billing address + properties: + type: + type: optional + docs: The type of the order address (billing or shipping) + japanType: + type: optional + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + addressee: + type: optional + docs: Display name on the address + line1: + type: optional + docs: The first line of the address + line2: + type: optional + docs: The second line of the address + city: + type: optional + docs: The city of the address. + state: + type: optional + docs: The state or province of the address + country: + type: optional + docs: The country of the address + postalCode: + type: optional + docs: The postal code of the address + source: + openapi: v2-data.yml + EcommNewOrderPayloadCustomerInfo: + docs: An object with the keys `fullName` and `email`. + properties: + fullName: + type: optional + docs: The full name of the Customer + email: + type: optional + docs: The Customer's email address + validation: + format: email + source: + openapi: v2-data.yml + EcommNewOrderPayloadPurchasedItemsItemRowTotal: + docs: The total for the row + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + EcommNewOrderPayloadPurchasedItemsItemVariantImageFileVariantsItem: + properties: + url: + type: optional + docs: The hosted location for the Variant's image + validation: + format: uri + originalFileName: optional + size: + type: optional + docs: The image size in bytes + width: + type: optional + docs: The image width in pixels + height: + type: optional + docs: The image height in pixels + source: + openapi: v2-data.yml + EcommNewOrderPayloadPurchasedItemsItemVariantImageFile: + properties: + size: + type: optional + docs: The image size in bytes + originalFileName: + type: optional + docs: the original name of the image + createdOn: + type: optional + docs: The creation timestamp of the image + contentType: + type: optional + docs: The MIME type of the image + width: + type: optional + docs: The image width in pixels + height: + type: optional + docs: The image height in pixels + variants: + type: >- + optional> + docs: Variants of the supplied image + source: + openapi: v2-data.yml + EcommNewOrderPayloadPurchasedItemsItemVariantImage: + properties: + url: + type: optional + docs: The hosted location for the Variant's image + validation: + format: uri + file: optional + source: + openapi: v2-data.yml + EcommNewOrderPayloadPurchasedItemsItemVariantPrice: + docs: The price corresponding to the variant + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + EcommNewOrderPayloadPurchasedItemsItem: + docs: An Item that was purchased + properties: + count: + type: optional + docs: Number of Item purchased. + rowTotal: + type: optional + docs: The total for the row + productId: + type: optional + docs: The unique identifier for the Product + productName: + type: optional + docs: User-facing name of the Product + productSlug: + type: optional + docs: Slug for the Product + variantId: + type: optional + docs: Identifier for the Product Variant (SKU) + variantName: + type: optional + docs: User-facing name of the Product Variant (SKU) + variantSlug: + type: optional + docs: Slug for the Product Variant (SKU) + variantSKU: + type: optional + docs: The user-defined custom SKU of the Product Variant (SKU) + variantImage: optional + variantPrice: + type: optional + docs: The price corresponding to the variant + weight: + type: optional + docs: The physical weight of the variant if provided, or null + width: + type: optional + docs: The physical width of the variant if provided, or null + height: + type: optional + docs: The physical height of the variant if provided, or null + length: + type: optional + docs: The physical length of the variant if provided, or null + source: + openapi: v2-data.yml + EcommNewOrderPayloadStripeDetails: + docs: >- + An object with various Stripe IDs, useful for linking into the stripe + dashboard. + properties: + subscriptionId: + type: optional + docs: Stripe-generated identifier for the Subscription + paymentMethod: + type: optional + docs: Stripe-generated identifier for the PaymentMethod used + paymentIntentId: + type: optional + docs: Stripe-generated identifier for the PaymentIntent, or null + customerId: + type: optional + docs: Stripe-generated customer identifier, or null + chargeId: + type: optional + docs: Stripe-generated charge identifier, or null + disputeId: + type: optional + docs: Stripe-generated dispute identifier, or null + refundId: + type: optional + docs: Stripe-generated refund identifier, or null + refundReason: + type: optional + docs: Stripe-generated refund reason, or null + source: + openapi: v2-data.yml + EcommNewOrderPayloadStripeCardBrand: + enum: + - Visa + - value: American Express + name: AmericanExpress + - MasterCard + - Discover + - JCB + - value: Diners Club + name: DinersClub + - Unknown + docs: The card's brand (ie. credit card network) + source: + openapi: v2-data.yml + EcommNewOrderPayloadStripeCardExpires: + docs: The card's expiration date. + properties: + year: + type: optional + docs: Year that the card expires + month: + type: optional + docs: Month that the card expires + source: + openapi: v2-data.yml + EcommNewOrderPayloadStripeCard: + docs: > + Details on the card used to fulfill this order, if this order was + finalized with Stripe. + properties: + last4: + type: optional + docs: The last 4 digits on the card as a string + brand: + type: optional + docs: The card's brand (ie. credit card network) + ownerName: + type: optional + docs: The name on the card. + expires: + type: optional + docs: The card's expiration date. + source: + openapi: v2-data.yml + EcommNewOrderPayloadPaypalDetails: + properties: + orderId: + type: optional + docs: PayPal order identifier + payerId: + type: optional + docs: PayPal payer identifier + captureId: + type: optional + docs: PayPal capture identifier + refundId: + type: optional + docs: PayPal refund identifier + refundReason: + type: optional + docs: PayPal-issued reason for the refund + disputeId: + type: optional + docs: PayPal dispute identifier + source: + openapi: v2-data.yml + EcommNewOrderPayloadMetadata: + properties: + isBuyNow: optional + source: + openapi: v2-data.yml + EcommNewOrderPayloadTotalsSubtotal: + docs: The subtotal price + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + EcommNewOrderPayloadTotalsExtrasItemType: + enum: + - discount + - value: discount-shipping + name: DiscountShipping + - shipping + - tax + docs: The type of extra item this is. + source: + openapi: v2-data.yml + EcommNewOrderPayloadTotalsExtrasItemPrice: + docs: The price for the item + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + EcommNewOrderPayloadTotalsExtrasItem: + docs: Extra order items, includes discounts, shipping, and taxes. + properties: + type: + type: optional + docs: The type of extra item this is. + name: + type: optional + docs: A human-readable (but English) name for this extra charge. + description: + type: optional + docs: A human-readable (but English) description of this extra charge. + price: + type: optional + docs: The price for the item + source: + openapi: v2-data.yml + EcommNewOrderPayloadTotalsTotal: + docs: The total price + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + EcommNewOrderPayloadTotals: + docs: An object describing various pricing totals + properties: + subtotal: + type: optional + docs: The subtotal price + extras: + type: optional> + docs: An array of extra items, includes discounts, shipping, and taxes. + total: + type: optional + docs: The total price + source: + openapi: v2-data.yml + EcommNewOrderPayloadDownloadFilesItem: + properties: + id: + type: optional + docs: The unique identifier for the downloadable file + name: + type: optional + docs: The user-facing name for the downloadable file + url: + type: optional + docs: The hosted location for the downloadable file + validation: + format: uri + source: + openapi: v2-data.yml + EcommNewOrderPayload: + properties: + orderId: + type: optional + docs: | + The order ID. Will usually be 6 hex characters, but can also be 9 + hex characters if the site has a very large number of Orders. + Randomly assigned. + status: + type: optional + docs: | + The status of the Order + comment: + type: optional + docs: >- + A comment string for this Order, which is editable by API user (not + used by Webflow). + orderComment: + type: optional + docs: A comment that the customer left when making their Order + acceptedOn: + type: optional + docs: The ISO8601 timestamp that an Order was placed. + fulfilledOn: + type: optional + docs: > + When an Order is marked as 'fulfilled', this field represents the + timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + refundedOn: + type: optional + docs: >- + When an Order is marked as 'refunded', this field represents the + timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + disputedOn: + type: optional + docs: > + When an Order is marked as 'disputed', this field represents the + timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + disputeUpdatedOn: + type: optional + docs: > + If an Order has been disputed by the customer, this key will be set to + the ISO8601 timestamp of the last update received. If the Order is not + disputed, the key will be null. + disputeLastStatus: + type: optional + docs: > + If an order was disputed by the customer, then this key will be set + with the [dispute's + status](https://stripe.com/docs/api#dispute_object-status). + customerPaid: + type: optional + docs: The total paid by the customer + netAmount: + type: optional + docs: The net amount after application fees + applicationFee: + type: optional + docs: The application fee assessed by the platform + allAddresses: + type: optional> + docs: All addresses provided by the customer during the ordering flow. + shippingAddress: + type: optional + docs: The shipping address + billingAddress: + type: optional + docs: The billing address + shippingProvider: + type: optional + docs: > + A string editable by the API user to note the shipping provider used + (not used by Webflow). + shippingTracking: + type: optional + docs: > + A string editable by the API user to note the shipping tracking number + for the order (not used by Webflow). + shippingTrackingURL: + type: optional + validation: + format: uri + customerInfo: + type: optional + docs: An object with the keys `fullName` and `email`. + purchasedItems: + type: optional> + docs: An array of all things that the Customer purchased. + purchasedItemsCount: + type: optional + docs: The sum of all 'count' fields in 'purchasedItems'. + stripeDetails: + type: optional + docs: >- + An object with various Stripe IDs, useful for linking into the stripe + dashboard. + stripeCard: + type: optional + docs: > + Details on the card used to fulfill this order, if this order was + finalized with Stripe. + paypalDetails: optional + customData: + type: optional>> + docs: > + An array of additional inputs for custom order data gathering. Each + object in the array represents an input with a name, and a textInput, + textArea, or checkbox value. + metadata: optional + isCustomerDeleted: + type: optional + docs: > + A boolean indicating whether the customer has been deleted from the + site. + isShippingRequired: + type: optional + docs: > + A boolean indicating whether the order contains one or more purchased + items that require shipping. + hasDownloads: + type: optional + docs: > + A boolean indicating whether the order contains one or more purchased + items that are downloadable. + paymentProcessor: + type: optional + docs: | + A string indicating the payment processor used for this order. + totals: + type: optional + docs: An object describing various pricing totals + downloadFiles: + type: optional> + docs: An array of downloadable file objects. + source: + openapi: v2-data.yml + EcommOrderChangedPayloadStatus: + enum: + - pending + - unfulfilled + - fulfilled + - disputed + - value: dispute-lost + name: DisputeLost + - refunded + docs: | + The status of the Order + source: + openapi: v2-data.yml + EcommOrderChangedPayloadDisputeLastStatus: + enum: + - warning_needs_response + - warning_under_review + - warning_closed + - needs_response + - under_review + - charge_refunded + - won + - lost + docs: > + If an order was disputed by the customer, then this key will be set with + the [dispute's status](https://stripe.com/docs/api#dispute_object-status). + source: + openapi: v2-data.yml + EcommOrderChangedPayloadCustomerPaid: + docs: The total paid by the customer + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + EcommOrderChangedPayloadNetAmount: + docs: The net amount after application fees + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + EcommOrderChangedPayloadApplicationFee: + docs: The application fee assessed by the platform + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + EcommOrderChangedPayloadAllAddressesItemType: + enum: + - shipping + - billing + docs: The type of the order address (billing or shipping) + source: + openapi: v2-data.yml + EcommOrderChangedPayloadAllAddressesItemJapanType: + enum: + - kana + - kanji + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + source: + openapi: v2-data.yml + EcommOrderChangedPayloadAllAddressesItem: + docs: A customer address + properties: + type: + type: optional + docs: The type of the order address (billing or shipping) + japanType: + type: optional + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + addressee: + type: optional + docs: Display name on the address + line1: + type: optional + docs: The first line of the address + line2: + type: optional + docs: The second line of the address + city: + type: optional + docs: The city of the address. + state: + type: optional + docs: The state or province of the address + country: + type: optional + docs: The country of the address + postalCode: + type: optional + docs: The postal code of the address + source: + openapi: v2-data.yml + EcommOrderChangedPayloadShippingAddressType: + enum: + - shipping + - billing + docs: The type of the order address (billing or shipping) + source: + openapi: v2-data.yml + EcommOrderChangedPayloadShippingAddressJapanType: + enum: + - kana + - kanji + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + source: + openapi: v2-data.yml + EcommOrderChangedPayloadShippingAddress: + docs: The shipping address + properties: + type: + type: optional + docs: The type of the order address (billing or shipping) + japanType: + type: optional + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + addressee: + type: optional + docs: Display name on the address + line1: + type: optional + docs: The first line of the address + line2: + type: optional + docs: The second line of the address + city: + type: optional + docs: The city of the address. + state: + type: optional + docs: The state or province of the address + country: + type: optional + docs: The country of the address + postalCode: + type: optional + docs: The postal code of the address + source: + openapi: v2-data.yml + EcommOrderChangedPayloadBillingAddressType: + enum: + - shipping + - billing + docs: The type of the order address (billing or shipping) + source: + openapi: v2-data.yml + EcommOrderChangedPayloadBillingAddressJapanType: + enum: + - kana + - kanji + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + source: + openapi: v2-data.yml + EcommOrderChangedPayloadBillingAddress: + docs: The billing address + properties: + type: + type: optional + docs: The type of the order address (billing or shipping) + japanType: + type: optional + docs: >- + Represents a Japan-only address format. This field will only appear on + orders placed from Japan. + addressee: + type: optional + docs: Display name on the address + line1: + type: optional + docs: The first line of the address + line2: + type: optional + docs: The second line of the address + city: + type: optional + docs: The city of the address. + state: + type: optional + docs: The state or province of the address + country: + type: optional + docs: The country of the address + postalCode: + type: optional + docs: The postal code of the address + source: + openapi: v2-data.yml + EcommOrderChangedPayloadCustomerInfo: + docs: An object with the keys `fullName` and `email`. + properties: + fullName: + type: optional + docs: The full name of the Customer + email: + type: optional + docs: The Customer's email address + validation: + format: email + source: + openapi: v2-data.yml + EcommOrderChangedPayloadPurchasedItemsItemRowTotal: + docs: The total for the row + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + EcommOrderChangedPayloadPurchasedItemsItemVariantImageFileVariantsItem: + properties: + url: + type: optional + docs: The hosted location for the Variant's image + validation: + format: uri + originalFileName: optional + size: + type: optional + docs: The image size in bytes + width: + type: optional + docs: The image width in pixels + height: + type: optional + docs: The image height in pixels + source: + openapi: v2-data.yml + EcommOrderChangedPayloadPurchasedItemsItemVariantImageFile: + properties: + size: + type: optional + docs: The image size in bytes + originalFileName: + type: optional + docs: the original name of the image + createdOn: + type: optional + docs: The creation timestamp of the image + contentType: + type: optional + docs: The MIME type of the image + width: + type: optional + docs: The image width in pixels + height: + type: optional + docs: The image height in pixels + variants: + type: >- + optional> + docs: Variants of the supplied image + source: + openapi: v2-data.yml + EcommOrderChangedPayloadPurchasedItemsItemVariantImage: + properties: + url: + type: optional + docs: The hosted location for the Variant's image + validation: + format: uri + file: optional + source: + openapi: v2-data.yml + EcommOrderChangedPayloadPurchasedItemsItemVariantPrice: + docs: The price corresponding to the variant + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + EcommOrderChangedPayloadPurchasedItemsItem: + docs: An Item that was purchased + properties: + count: + type: optional + docs: Number of Item purchased. + rowTotal: + type: optional + docs: The total for the row + productId: + type: optional + docs: The unique identifier for the Product + productName: + type: optional + docs: User-facing name of the Product + productSlug: + type: optional + docs: Slug for the Product + variantId: + type: optional + docs: Identifier for the Product Variant (SKU) + variantName: + type: optional + docs: User-facing name of the Product Variant (SKU) + variantSlug: + type: optional + docs: Slug for the Product Variant (SKU) + variantSKU: + type: optional + docs: The user-defined custom SKU of the Product Variant (SKU) + variantImage: optional + variantPrice: + type: optional + docs: The price corresponding to the variant + weight: + type: optional + docs: The physical weight of the variant if provided, or null + width: + type: optional + docs: The physical width of the variant if provided, or null + height: + type: optional + docs: The physical height of the variant if provided, or null + length: + type: optional + docs: The physical length of the variant if provided, or null + source: + openapi: v2-data.yml + EcommOrderChangedPayloadStripeDetails: + docs: >- + An object with various Stripe IDs, useful for linking into the stripe + dashboard. + properties: + subscriptionId: + type: optional + docs: Stripe-generated identifier for the Subscription + paymentMethod: + type: optional + docs: Stripe-generated identifier for the PaymentMethod used + paymentIntentId: + type: optional + docs: Stripe-generated identifier for the PaymentIntent, or null + customerId: + type: optional + docs: Stripe-generated customer identifier, or null + chargeId: + type: optional + docs: Stripe-generated charge identifier, or null + disputeId: + type: optional + docs: Stripe-generated dispute identifier, or null + refundId: + type: optional + docs: Stripe-generated refund identifier, or null + refundReason: + type: optional + docs: Stripe-generated refund reason, or null + source: + openapi: v2-data.yml + EcommOrderChangedPayloadStripeCardBrand: + enum: + - Visa + - value: American Express + name: AmericanExpress + - MasterCard + - Discover + - JCB + - value: Diners Club + name: DinersClub + - Unknown + docs: The card's brand (ie. credit card network) + source: + openapi: v2-data.yml + EcommOrderChangedPayloadStripeCardExpires: + docs: The card's expiration date. + properties: + year: + type: optional + docs: Year that the card expires + month: + type: optional + docs: Month that the card expires + source: + openapi: v2-data.yml + EcommOrderChangedPayloadStripeCard: + docs: > + Details on the card used to fulfill this order, if this order was + finalized with Stripe. + properties: + last4: + type: optional + docs: The last 4 digits on the card as a string + brand: + type: optional + docs: The card's brand (ie. credit card network) + ownerName: + type: optional + docs: The name on the card. + expires: + type: optional + docs: The card's expiration date. + source: + openapi: v2-data.yml + EcommOrderChangedPayloadPaypalDetails: + properties: + orderId: + type: optional + docs: PayPal order identifier + payerId: + type: optional + docs: PayPal payer identifier + captureId: + type: optional + docs: PayPal capture identifier + refundId: + type: optional + docs: PayPal refund identifier + refundReason: + type: optional + docs: PayPal-issued reason for the refund + disputeId: + type: optional + docs: PayPal dispute identifier + source: + openapi: v2-data.yml + EcommOrderChangedPayloadMetadata: + properties: + isBuyNow: optional + source: + openapi: v2-data.yml + EcommOrderChangedPayloadTotalsSubtotal: + docs: The subtotal price + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + EcommOrderChangedPayloadTotalsExtrasItemType: + enum: + - discount + - value: discount-shipping + name: DiscountShipping + - shipping + - tax + docs: The type of extra item this is. + source: + openapi: v2-data.yml + EcommOrderChangedPayloadTotalsExtrasItemPrice: + docs: The price for the item + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + EcommOrderChangedPayloadTotalsExtrasItem: + docs: Extra order items, includes discounts, shipping, and taxes. + properties: + type: + type: optional + docs: The type of extra item this is. + name: + type: optional + docs: A human-readable (but English) name for this extra charge. + description: + type: optional + docs: A human-readable (but English) description of this extra charge. + price: + type: optional + docs: The price for the item + source: + openapi: v2-data.yml + EcommOrderChangedPayloadTotalsTotal: + docs: The total price + properties: + unit: + type: optional + docs: The three-letter ISO currency code + value: + type: optional + docs: The numeric value in the base unit of the currency + string: + type: optional + docs: The user-facing string representation of the amount + source: + openapi: v2-data.yml + EcommOrderChangedPayloadTotals: + docs: An object describing various pricing totals + properties: + subtotal: + type: optional + docs: The subtotal price + extras: + type: optional> + docs: An array of extra items, includes discounts, shipping, and taxes. + total: + type: optional + docs: The total price + source: + openapi: v2-data.yml + EcommOrderChangedPayloadDownloadFilesItem: + properties: + id: + type: optional + docs: The unique identifier for the downloadable file + name: + type: optional + docs: The user-facing name for the downloadable file + url: + type: optional + docs: The hosted location for the downloadable file + validation: + format: uri + source: + openapi: v2-data.yml + EcommOrderChangedPayload: + properties: + orderId: + type: optional + docs: | + The order ID. Will usually be 6 hex characters, but can also be 9 + hex characters if the site has a very large number of Orders. + Randomly assigned. + status: + type: optional + docs: | + The status of the Order + comment: + type: optional + docs: >- + A comment string for this Order, which is editable by API user (not + used by Webflow). + orderComment: + type: optional + docs: A comment that the customer left when making their Order + acceptedOn: + type: optional + docs: The ISO8601 timestamp that an Order was placed. + fulfilledOn: + type: optional + docs: > + When an Order is marked as 'fulfilled', this field represents the + timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + refundedOn: + type: optional + docs: >- + When an Order is marked as 'refunded', this field represents the + timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + disputedOn: + type: optional + docs: > + When an Order is marked as 'disputed', this field represents the + timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + disputeUpdatedOn: + type: optional + docs: > + If an Order has been disputed by the customer, this key will be set to + the ISO8601 timestamp of the last update received. If the Order is not + disputed, the key will be null. + disputeLastStatus: + type: optional + docs: > + If an order was disputed by the customer, then this key will be set + with the [dispute's + status](https://stripe.com/docs/api#dispute_object-status). + customerPaid: + type: optional + docs: The total paid by the customer + netAmount: + type: optional + docs: The net amount after application fees + applicationFee: + type: optional + docs: The application fee assessed by the platform + allAddresses: + type: optional> + docs: All addresses provided by the customer during the ordering flow. + shippingAddress: + type: optional + docs: The shipping address + billingAddress: + type: optional + docs: The billing address + shippingProvider: + type: optional + docs: > + A string editable by the API user to note the shipping provider used + (not used by Webflow). + shippingTracking: + type: optional + docs: > + A string editable by the API user to note the shipping tracking number + for the order (not used by Webflow). + shippingTrackingURL: + type: optional + validation: + format: uri + customerInfo: + type: optional + docs: An object with the keys `fullName` and `email`. + purchasedItems: + type: optional> + docs: An array of all things that the Customer purchased. + purchasedItemsCount: + type: optional + docs: The sum of all 'count' fields in 'purchasedItems'. + stripeDetails: + type: optional + docs: >- + An object with various Stripe IDs, useful for linking into the stripe + dashboard. + stripeCard: + type: optional + docs: > + Details on the card used to fulfill this order, if this order was + finalized with Stripe. + paypalDetails: optional + customData: + type: optional>> + docs: > + An array of additional inputs for custom order data gathering. Each + object in the array represents an input with a name, and a textInput, + textArea, or checkbox value. + metadata: optional + isCustomerDeleted: + type: optional + docs: > + A boolean indicating whether the customer has been deleted from the + site. + isShippingRequired: + type: optional + docs: > + A boolean indicating whether the order contains one or more purchased + items that require shipping. + hasDownloads: + type: optional + docs: > + A boolean indicating whether the order contains one or more purchased + items that are downloadable. + paymentProcessor: + type: optional + docs: | + A string indicating the payment processor used for this order. + totals: + type: optional + docs: An object describing various pricing totals + downloadFiles: + type: optional> + docs: An array of downloadable file objects. + source: + openapi: v2-data.yml +imports: + root: __package__.yml +service: + auth: false + base-path: '' + endpoints: + list: + path: /sites/{site_id}/orders + method: GET + auth: true + docs: | + List all orders created for a given site. + + Required scope | `ecommerce:read` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + display-name: List Orders + request: + name: OrdersListRequest + query-parameters: + status: + type: optional + docs: Filter the orders by status + offset: + type: optional + docs: >- + Offset used for pagination if the results have more than limit + records + limit: + type: optional + docs: 'Maximum number of records to be returned (max limit: 100)' + response: + docs: Request was successful + type: OrdersListResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.ConflictError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + response: + body: + orders: + - orderId: 7c1-9fd + status: unfulfilled + comment: >- + Customer requested gift wrapping and a personalized note + saying: Happy Birthday, Ford! 🎉 Please ensure the item is + packed with extra bubble wrap for safe transit. + orderComment: >- + Please gift wrap with a personal note saying "Happy + Birthday, Ford! 🎉 + acceptedOn: '2024-04-10T13:16:21Z' + fulfilledOn: '2018-12-03T22:06:15Z' + refundedOn: '2018-12-03T22:06:15Z' + disputedOn: '2018-12-03T22:06:15Z' + disputeUpdatedOn: '2018-12-03T22:06:15Z' + disputeLastStatus: warning_needs_response + customerPaid: + unit: USD + value: '5892' + string: ' 211.55 USD' + netAmount: + unit: USD + value: '5892' + string: ' 200.89 USD' + applicationFee: + unit: USD + value: '5892' + string: ' 4.23 USD' + allAddresses: + - type: billing + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + - type: shipping + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingAddress: + type: shipping + japanType: kanji + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + billingAddress: + type: billing + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingProvider: Shipping Company, Co. + shippingTracking: tr00000000002 + shippingTrackingURL: https://www.shippingcompany.com/tracking/tr00000000002 + customerInfo: + fullName: Arthur Dent + email: arthur.dent@example.com + purchasedItems: + - count: 2 + rowTotal: + unit: USD + value: '5892' + string: ' 111.22 USD' + productId: 66072fb61b89448912e26791 + productName: Luxurious Fresh Ball + productSlug: luxurious-fresh-ball + variantId: 66072fb71b89448912e2683f + variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic' + variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic + variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic + variantImage: + url: >- + https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg + variantPrice: + unit: USD + value: '5892' + string: ' 55.61 USD' + weight: 11 + width: 82 + height: 70 + length: 9 + - count: 1 + rowTotal: + unit: USD + value: '5892' + string: ' 83.09 USD' + productId: 66072fb61b89448912e2678b + productName: Incredible Bronze Towels + productSlug: incredible-bronze-towels + variantId: 66072fb71b89448912e2681e + variantName: >- + Incredible Bronze Towels Sleek: Frozen, Incredible: + Metal + variantSlug: incredible-bronze-towels-sleek-frozen-incredible-metal + variantSKU: incredible-bronze-towels-sleek-frozen-incredible-metal + variantImage: + url: >- + https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e26729_image16.jpeg + variantPrice: + unit: USD + value: '5892' + string: ' 83.09 USD' + width: 19 + height: 72 + length: 18 + purchasedItemsCount: 3 + stripeDetails: + paymentMethod: pm_1P410gJYFi4lcbXWbeKghqjK + paymentIntentId: pi_3P410iJYFi4lcbXW0EKKgcVg + customerId: cus_Ptod8KJBiiPgnH + chargeId: ch_3P410iJYFi4lcbXW0DxUkzCH + stripeCard: + last4: '4242' + brand: Visa + ownerName: Arthur Dent + expires: + year: 2025 + month: 4 + paypalDetails: + orderId: 1a2b3c4d5e6f7g8h9i0j + payerId: 9k8j7i6h5g4f3e2d1c0b + captureId: qwe123rty456uio789p + refundId: abcde12345fghij67890 + refundReason: Customer requested refund + disputeId: zxcvbnm987poiuytrewq + customData: + - key: value + metadata: + isBuyNow: false + isCustomerDeleted: false + isShippingRequired: false + hasDownloads: false + paymentProcessor: stripe + totals: + extras: + - type: tax + name: State Taxes + description: CA Taxes (6.25%) + price: + unit: USD + value: '5892' + string: '3.44' + downloadFiles: + - id: 5e9a5eba75e0ac242e1b6f64 + name: The modern web design process - Webflow Ebook.pdf + url: >- + https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa + - orderId: fc7-128 + status: refunded + comment: Example comment to myself + orderComment: '' + acceptedOn: '2024-03-29T21:29:21Z' + fulfilledOn: '2018-12-03T22:06:15Z' + refundedOn: '2024-04-08T18:25:04Z' + disputedOn: '2018-12-03T22:06:15Z' + disputeUpdatedOn: '2018-12-03T22:06:15Z' + disputeLastStatus: warning_needs_response + customerPaid: + unit: USD + value: '5892' + string: ' 118.73 USD' + netAmount: + unit: USD + value: '5892' + string: ' 112.62 USD' + applicationFee: + unit: USD + value: '5892' + string: ' 2.37 USD' + allAddresses: + - type: billing + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + - type: shipping + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingAddress: + type: shipping + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + billingAddress: + type: billing + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingProvider: Shipping Company, Co. + shippingTracking: tr00000000001 + shippingTrackingURL: https://www.shippingcompany.com/tracking/tr00000000001 + customerInfo: + fullName: Arthur Dent + email: arthur.dent@example.com + purchasedItems: + - count: 1 + rowTotal: + unit: USD + value: '5892' + string: ' 55.61 USD' + productId: 66072fb61b89448912e26791 + productName: Luxurious Fresh Ball + productSlug: luxurious-fresh-ball + variantId: 66072fb71b89448912e2683f + variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic' + variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic + variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic + variantImage: + url: >- + https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg + variantPrice: + unit: USD + value: '5892' + string: ' 55.61 USD' + weight: 11 + width: 82 + height: 70 + length: 9 + - count: 1 + rowTotal: + unit: USD + value: '5892' + string: ' 53.44 USD' + productId: 66072fb61b89448912e26799 + productName: Recycled Steel Gloves + productSlug: recycled-steel-gloves + variantId: 66072fb91b89448912e26ab9 + variantName: >- + Recycled Steel Gloves Electronic: Granite, Handcrafted: + grey + variantSlug: >- + recycled-steel-gloves-electronic-granite-handcrafted-grey + variantSKU: >- + recycled-steel-gloves-electronic-granite-handcrafted-grey + variantImage: + url: >- + https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2671e_image2.jpeg + variantPrice: + unit: USD + value: '5892' + string: ' 53.44 USD' + weight: 38 + width: 76 + height: 85 + length: 40 + purchasedItemsCount: 2 + stripeDetails: + paymentMethod: pm_1OzmzBJYFi4lcbXWHKNdXU7j + paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft + customerId: cus_PpRsNHwWdUoRKR + chargeId: ch_3OzmzDJYFi4lcbXW1ndkkrH2 + refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk + refundReason: fraudulent + stripeCard: + last4: '4242' + brand: Visa + ownerName: Arthur Dent + expires: + year: 2024 + month: 4 + paypalDetails: + orderId: 1a2b3c4d5e6f7g8h9i0j + payerId: 9k8j7i6h5g4f3e2d1c0b + captureId: qwe123rty456uio789p + refundId: abcde12345fghij67890 + refundReason: Customer requested refund + disputeId: zxcvbnm987poiuytrewq + customData: + - key: value + metadata: + isBuyNow: false + isCustomerDeleted: false + isShippingRequired: true + hasDownloads: false + paymentProcessor: stripe + totals: + subtotal: + unit: USD + value: '5892' + string: ' 109.05 USD' + extras: + - type: tax + name: State Taxes + description: NY Taxes (4.00%) + price: + unit: USD + value: '5892' + string: ' 4.36 USD' + - type: tax + name: City Taxes + description: NEW YORK Taxes (4.88%) + price: + unit: USD + value: '5892' + string: ' 5.32 USD' + - type: shipping + name: Flat + description: '' + price: + unit: USD + value: '5892' + string: ' 0.00 USD' + total: + unit: USD + value: '5892' + string: ' 118.73 USD' + downloadFiles: + - id: 5e9a5eba75e0ac242e1b6f64 + name: New product guide + url: >- + https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa + pagination: + limit: 100 + offset: 0 + total: 2 + get: + path: /sites/{site_id}/orders/{order_id} + method: GET + auth: true + docs: | + Retrieve a single product by its ID. All of its SKUs will also be + retrieved. + + Required scope | `ecommerce:read` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + order_id: + type: string + docs: Unique identifier for an Order + display-name: Get Order + response: + docs: Request was successful + type: OrdersGetResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.ConflictError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + order_id: 5e8518516e147040726cc415 + response: + body: + orderId: fc7-128 + status: refunded + comment: >- + Customer requested gift wrapping and a personalized note saying: + Happy Birthday, Ford! 🎉 Please ensure the item is packed with + extra bubble wrap for safe transit. + orderComment: >- + Please gift wrap with a personal note saying "Happy Birthday, + Ford! 🎉 + acceptedOn: '2024-03-29T21:29:21Z' + fulfilledOn: '2024-03-29T21:29:21Z' + refundedOn: '2024-04-08T18:25:04Z' + disputedOn: '2024-03-29T21:29:21Z' + disputeUpdatedOn: '2024-03-29T21:29:21Z' + disputeLastStatus: charge_refunded + customerPaid: + unit: USD + value: '5892' + string: ' 118.73 USD' + netAmount: + unit: USD + value: '5892' + string: ' 112.62 USD' + applicationFee: + unit: USD + value: '5892' + string: ' 2.37 USD' + allAddresses: + - type: billing + japanType: kana + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + - type: shipping + japanType: kana + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingAddress: + type: shipping + japanType: kanji + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + billingAddress: + type: billing + japanType: kana + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingProvider: Shipping Company, Co. + shippingTracking: tr00000000001 + shippingTrackingURL: https://www.shippingcompany.com/tracking/tr00000000001 + customerInfo: + fullName: Arthur Dent + email: arthur.dent@example.com + purchasedItems: + - count: 1 + rowTotal: + unit: USD + value: '5892' + string: ' 55.61 USD' + productId: 66072fb61b89448912e26791 + productName: Luxurious Fresh Ball + productSlug: luxurious-fresh-ball + variantId: 66072fb71b89448912e2683f + variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic' + variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic + variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic + variantImage: + url: >- + https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg + variantPrice: + unit: USD + value: '5892' + string: ' 55.61 USD' + weight: 11 + width: 82 + height: 70 + length: 9 + - count: 1 + rowTotal: + unit: USD + value: '5892' + string: ' 53.44 USD' + productId: 66072fb61b89448912e26799 + productName: Recycled Steel Gloves + productSlug: recycled-steel-gloves + variantId: 66072fb91b89448912e26ab9 + variantName: 'Recycled Steel Gloves Electronic: Granite, Handcrafted: grey' + variantSlug: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantSKU: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantImage: + url: >- + https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2671e_image2.jpeg + variantPrice: + unit: USD + value: '5892' + string: ' 53.44 USD' + weight: 38 + width: 76 + height: 85 + length: 40 + purchasedItemsCount: 2 + stripeDetails: + subscriptionId: sub_1J6xwG2eZvKYlo2CXu9Zt0Tn + paymentMethod: pm_1OzmzBJYFi4lcbXWHKNdXU7j + paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft + customerId: cus_PpRsNHwWdUoRKR + chargeId: ch_3OzmzDJYFi4lcbXW1ndkkrH2 + disputeId: disputeId + refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk + refundReason: fraudulent + stripeCard: + last4: '4242' + brand: Visa + ownerName: Arthur Dent + expires: + year: 2024 + month: 4 + paypalDetails: + orderId: 1a2b3c4d5e6f7g8h9i0j + payerId: 9k8j7i6h5g4f3e2d1c0b + captureId: qwe123rty456uio789p + refundId: abcde12345fghij67890 + refundReason: Customer requested refund + disputeId: zxcvbnm987poiuytrewq + customData: + - key: value + metadata: + isBuyNow: false + isCustomerDeleted: false + isShippingRequired: true + hasDownloads: false + paymentProcessor: stripe + totals: + subtotal: + unit: USD + value: '5892' + string: ' 109.05 USD' + extras: + - type: tax + name: State Taxes + description: NY Taxes (4.00%) + price: + unit: USD + value: '5892' + string: ' 4.36 USD' + - type: tax + name: City Taxes + description: NEW YORK Taxes (4.88%) + price: + unit: USD + value: '5892' + string: ' 5.32 USD' + - type: shipping + name: Flat + description: '' + price: + unit: USD + value: '5892' + string: ' 0.00 USD' + total: + unit: USD + value: '5892' + string: ' 118.73 USD' + downloadFiles: + - id: 5e9a5eba75e0ac242e1b6f64 + name: New product guide + url: >- + https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa + update: + path: /sites/{site_id}/orders/{order_id} + method: PATCH + auth: true + docs: | + This API lets you update the fields, `comment`, `shippingProvider`, + and/or `shippingTracking` for a given order. All three fields can be + updated simultaneously or independently. + + Required scope | `ecommerce:write` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + order_id: + type: string + docs: Unique identifier for an Order + display-name: Update Order + request: + name: OrdersUpdateRequest + body: + properties: + comment: + type: optional + docs: Arbitrary data for your records + shippingProvider: + type: optional + docs: Company or method used to ship order + shippingTracking: + type: optional + docs: Tracking number for order shipment + shippingTrackingURL: + type: optional + docs: URL to track order shipment + content-type: application/json + response: + docs: Request was successful + type: OrdersUpdateResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.ConflictError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + order_id: 5e8518516e147040726cc415 + request: {} + response: + body: + orderId: fc7-128 + status: refunded + comment: >- + Customer requested gift wrapping and a personalized note saying: + Happy Birthday, Ford! 🎉 Please ensure the item is packed with + extra bubble wrap for safe transit. + orderComment: >- + Please gift wrap with a personal note saying "Happy Birthday, + Ford! 🎉 + acceptedOn: '2024-03-29T21:29:21Z' + fulfilledOn: '2024-03-29T21:29:21Z' + refundedOn: '2024-04-08T18:25:04Z' + disputedOn: '2024-03-29T21:29:21Z' + disputeUpdatedOn: '2024-03-29T21:29:21Z' + disputeLastStatus: charge_refunded + customerPaid: + unit: USD + value: '5892' + string: ' 118.73 USD' + netAmount: + unit: USD + value: '5892' + string: ' 112.62 USD' + applicationFee: + unit: USD + value: '5892' + string: ' 2.37 USD' + allAddresses: + - type: billing + japanType: kana + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + - type: shipping + japanType: kana + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingAddress: + type: shipping + japanType: kanji + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + billingAddress: + type: billing + japanType: kana + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingProvider: Shipping Company, Co. + shippingTracking: tr00000000001 + shippingTrackingURL: https://www.shippingcompany.com/tracking/tr00000000001 + customerInfo: + fullName: Arthur Dent + email: arthur.dent@example.com + purchasedItems: + - count: 1 + rowTotal: + unit: USD + value: '5892' + string: ' 55.61 USD' + productId: 66072fb61b89448912e26791 + productName: Luxurious Fresh Ball + productSlug: luxurious-fresh-ball + variantId: 66072fb71b89448912e2683f + variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic' + variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic + variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic + variantImage: + url: >- + https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg + variantPrice: + unit: USD + value: '5892' + string: ' 55.61 USD' + weight: 11 + width: 82 + height: 70 + length: 9 + - count: 1 + rowTotal: + unit: USD + value: '5892' + string: ' 53.44 USD' + productId: 66072fb61b89448912e26799 + productName: Recycled Steel Gloves + productSlug: recycled-steel-gloves + variantId: 66072fb91b89448912e26ab9 + variantName: 'Recycled Steel Gloves Electronic: Granite, Handcrafted: grey' + variantSlug: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantSKU: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantImage: + url: >- + https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2671e_image2.jpeg + variantPrice: + unit: USD + value: '5892' + string: ' 53.44 USD' + weight: 38 + width: 76 + height: 85 + length: 40 + purchasedItemsCount: 2 + stripeDetails: + subscriptionId: sub_1J6xwG2eZvKYlo2CXu9Zt0Tn + paymentMethod: pm_1OzmzBJYFi4lcbXWHKNdXU7j + paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft + customerId: cus_PpRsNHwWdUoRKR + chargeId: ch_3OzmzDJYFi4lcbXW1ndkkrH2 + disputeId: disputeId + refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk + refundReason: fraudulent + stripeCard: + last4: '4242' + brand: Visa + ownerName: Arthur Dent + expires: + year: 2024 + month: 4 + paypalDetails: + orderId: 1a2b3c4d5e6f7g8h9i0j + payerId: 9k8j7i6h5g4f3e2d1c0b + captureId: qwe123rty456uio789p + refundId: abcde12345fghij67890 + refundReason: Customer requested refund + disputeId: zxcvbnm987poiuytrewq + customData: + - key: value + metadata: + isBuyNow: false + isCustomerDeleted: false + isShippingRequired: true + hasDownloads: false + paymentProcessor: stripe + totals: + subtotal: + unit: USD + value: '5892' + string: ' 109.05 USD' + extras: + - type: tax + name: State Taxes + description: NY Taxes (4.00%) + price: + unit: USD + value: '5892' + string: ' 4.36 USD' + - type: tax + name: City Taxes + description: NEW YORK Taxes (4.88%) + price: + unit: USD + value: '5892' + string: ' 5.32 USD' + - type: shipping + name: Flat + description: '' + price: + unit: USD + value: '5892' + string: ' 0.00 USD' + total: + unit: USD + value: '5892' + string: ' 118.73 USD' + downloadFiles: + - id: 5e9a5eba75e0ac242e1b6f64 + name: New product guide + url: >- + https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa + update-fulfill: + path: /sites/{site_id}/orders/{order_id}/fulfill + method: POST + auth: true + docs: | + Updates an order's status to fulfilled + + Required scope | `ecommerce:write` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + order_id: + type: string + docs: Unique identifier for an Order + display-name: Fulfill Order + request: + name: OrdersUpdateFulfillRequest + body: + properties: + sendOrderFulfilledEmail: + type: optional + docs: Whether or not the Order Fulfilled email should be sent + default: false + content-type: application/json + response: + docs: Request was successful + type: OrdersUpdateFulfillResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.ConflictError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + order_id: 5e8518516e147040726cc415 + request: {} + response: + body: + orderId: fc7-128 + status: refunded + comment: >- + Customer requested gift wrapping and a personalized note saying: + Happy Birthday, Ford! 🎉 Please ensure the item is packed with + extra bubble wrap for safe transit. + orderComment: >- + Please gift wrap with a personal note saying "Happy Birthday, + Ford! 🎉 + acceptedOn: '2024-03-29T21:29:21Z' + fulfilledOn: '2024-03-29T21:29:21Z' + refundedOn: '2024-04-08T18:25:04Z' + disputedOn: '2024-03-29T21:29:21Z' + disputeUpdatedOn: '2024-03-29T21:29:21Z' + disputeLastStatus: charge_refunded + customerPaid: + unit: USD + value: '5892' + string: ' 118.73 USD' + netAmount: + unit: USD + value: '5892' + string: ' 112.62 USD' + applicationFee: + unit: USD + value: '5892' + string: ' 2.37 USD' + allAddresses: + - type: billing + japanType: kana + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + - type: shipping + japanType: kana + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingAddress: + type: shipping + japanType: kanji + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + billingAddress: + type: billing + japanType: kana + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingProvider: Shipping Company, Co. + shippingTracking: tr00000000001 + shippingTrackingURL: https://www.shippingcompany.com/tracking/tr00000000001 + customerInfo: + fullName: Arthur Dent + email: arthur.dent@example.com + purchasedItems: + - count: 1 + rowTotal: + unit: USD + value: '5892' + string: ' 55.61 USD' + productId: 66072fb61b89448912e26791 + productName: Luxurious Fresh Ball + productSlug: luxurious-fresh-ball + variantId: 66072fb71b89448912e2683f + variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic' + variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic + variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic + variantImage: + url: >- + https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg + variantPrice: + unit: USD + value: '5892' + string: ' 55.61 USD' + weight: 11 + width: 82 + height: 70 + length: 9 + - count: 1 + rowTotal: + unit: USD + value: '5892' + string: ' 53.44 USD' + productId: 66072fb61b89448912e26799 + productName: Recycled Steel Gloves + productSlug: recycled-steel-gloves + variantId: 66072fb91b89448912e26ab9 + variantName: 'Recycled Steel Gloves Electronic: Granite, Handcrafted: grey' + variantSlug: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantSKU: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantImage: + url: >- + https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2671e_image2.jpeg + variantPrice: + unit: USD + value: '5892' + string: ' 53.44 USD' + weight: 38 + width: 76 + height: 85 + length: 40 + purchasedItemsCount: 2 + stripeDetails: + subscriptionId: sub_1J6xwG2eZvKYlo2CXu9Zt0Tn + paymentMethod: pm_1OzmzBJYFi4lcbXWHKNdXU7j + paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft + customerId: cus_PpRsNHwWdUoRKR + chargeId: ch_3OzmzDJYFi4lcbXW1ndkkrH2 + disputeId: disputeId + refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk + refundReason: fraudulent + stripeCard: + last4: '4242' + brand: Visa + ownerName: Arthur Dent + expires: + year: 2024 + month: 4 + paypalDetails: + orderId: 1a2b3c4d5e6f7g8h9i0j + payerId: 9k8j7i6h5g4f3e2d1c0b + captureId: qwe123rty456uio789p + refundId: abcde12345fghij67890 + refundReason: Customer requested refund + disputeId: zxcvbnm987poiuytrewq + customData: + - key: value + metadata: + isBuyNow: false + isCustomerDeleted: false + isShippingRequired: true + hasDownloads: false + paymentProcessor: stripe + totals: + subtotal: + unit: USD + value: '5892' + string: ' 109.05 USD' + extras: + - type: tax + name: State Taxes + description: NY Taxes (4.00%) + price: + unit: USD + value: '5892' + string: ' 4.36 USD' + - type: tax + name: City Taxes + description: NEW YORK Taxes (4.88%) + price: + unit: USD + value: '5892' + string: ' 5.32 USD' + - type: shipping + name: Flat + description: '' + price: + unit: USD + value: '5892' + string: ' 0.00 USD' + total: + unit: USD + value: '5892' + string: ' 118.73 USD' + downloadFiles: + - id: 5e9a5eba75e0ac242e1b6f64 + name: New product guide + url: >- + https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa + update-unfulfill: + path: /sites/{site_id}/orders/{order_id}/unfulfill + method: POST + auth: true + docs: | + Updates an order's status to unfulfilled + + Required scope | `ecommerce:write` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + order_id: + type: string + docs: Unique identifier for an Order + display-name: Unfulfill Order + response: + docs: Request was successful + type: OrdersUpdateUnfulfillResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.ConflictError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + order_id: 5e8518516e147040726cc415 + response: + body: + orderId: fc7-128 + status: refunded + comment: >- + Customer requested gift wrapping and a personalized note saying: + Happy Birthday, Ford! 🎉 Please ensure the item is packed with + extra bubble wrap for safe transit. + orderComment: >- + Please gift wrap with a personal note saying "Happy Birthday, + Ford! 🎉 + acceptedOn: '2024-03-29T21:29:21Z' + fulfilledOn: '2024-03-29T21:29:21Z' + refundedOn: '2024-04-08T18:25:04Z' + disputedOn: '2024-03-29T21:29:21Z' + disputeUpdatedOn: '2024-03-29T21:29:21Z' + disputeLastStatus: charge_refunded + customerPaid: + unit: USD + value: '5892' + string: ' 118.73 USD' + netAmount: + unit: USD + value: '5892' + string: ' 112.62 USD' + applicationFee: + unit: USD + value: '5892' + string: ' 2.37 USD' + allAddresses: + - type: billing + japanType: kana + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + - type: shipping + japanType: kana + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingAddress: + type: shipping + japanType: kanji + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + billingAddress: + type: billing + japanType: kana + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingProvider: Shipping Company, Co. + shippingTracking: tr00000000001 + shippingTrackingURL: https://www.shippingcompany.com/tracking/tr00000000001 + customerInfo: + fullName: Arthur Dent + email: arthur.dent@example.com + purchasedItems: + - count: 1 + rowTotal: + unit: USD + value: '5892' + string: ' 55.61 USD' + productId: 66072fb61b89448912e26791 + productName: Luxurious Fresh Ball + productSlug: luxurious-fresh-ball + variantId: 66072fb71b89448912e2683f + variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic' + variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic + variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic + variantImage: + url: >- + https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg + variantPrice: + unit: USD + value: '5892' + string: ' 55.61 USD' + weight: 11 + width: 82 + height: 70 + length: 9 + - count: 1 + rowTotal: + unit: USD + value: '5892' + string: ' 53.44 USD' + productId: 66072fb61b89448912e26799 + productName: Recycled Steel Gloves + productSlug: recycled-steel-gloves + variantId: 66072fb91b89448912e26ab9 + variantName: 'Recycled Steel Gloves Electronic: Granite, Handcrafted: grey' + variantSlug: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantSKU: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantImage: + url: >- + https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2671e_image2.jpeg + variantPrice: + unit: USD + value: '5892' + string: ' 53.44 USD' + weight: 38 + width: 76 + height: 85 + length: 40 + purchasedItemsCount: 2 + stripeDetails: + subscriptionId: sub_1J6xwG2eZvKYlo2CXu9Zt0Tn + paymentMethod: pm_1OzmzBJYFi4lcbXWHKNdXU7j + paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft + customerId: cus_PpRsNHwWdUoRKR + chargeId: ch_3OzmzDJYFi4lcbXW1ndkkrH2 + disputeId: disputeId + refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk + refundReason: fraudulent + stripeCard: + last4: '4242' + brand: Visa + ownerName: Arthur Dent + expires: + year: 2024 + month: 4 + paypalDetails: + orderId: 1a2b3c4d5e6f7g8h9i0j + payerId: 9k8j7i6h5g4f3e2d1c0b + captureId: qwe123rty456uio789p + refundId: abcde12345fghij67890 + refundReason: Customer requested refund + disputeId: zxcvbnm987poiuytrewq + customData: + - key: value + metadata: + isBuyNow: false + isCustomerDeleted: false + isShippingRequired: true + hasDownloads: false + paymentProcessor: stripe + totals: + subtotal: + unit: USD + value: '5892' + string: ' 109.05 USD' + extras: + - type: tax + name: State Taxes + description: NY Taxes (4.00%) + price: + unit: USD + value: '5892' + string: ' 4.36 USD' + - type: tax + name: City Taxes + description: NEW YORK Taxes (4.88%) + price: + unit: USD + value: '5892' + string: ' 5.32 USD' + - type: shipping + name: Flat + description: '' + price: + unit: USD + value: '5892' + string: ' 0.00 USD' + total: + unit: USD + value: '5892' + string: ' 118.73 USD' + downloadFiles: + - id: 5e9a5eba75e0ac242e1b6f64 + name: New product guide + url: >- + https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa + refund: + path: /sites/{site_id}/orders/{order_id}/refund + method: POST + auth: true + docs: | + This API will reverse a Stripe charge and refund an order back to a + customer. It will also set the order's status to `refunded`. + + Required scope | `ecommerce:write` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + order_id: + type: string + docs: Unique identifier for an Order + display-name: Refund Order + request: + name: OrdersRefundRequest + body: + properties: + reason: + type: optional + docs: The reason for the refund + content-type: application/json + response: + docs: Request was successful + type: OrdersRefundResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.ConflictError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + order_id: 5e8518516e147040726cc415 + request: {} + response: + body: + orderId: fc7-128 + status: refunded + comment: >- + Customer requested gift wrapping and a personalized note saying: + Happy Birthday, Ford! 🎉 Please ensure the item is packed with + extra bubble wrap for safe transit. + orderComment: >- + Please gift wrap with a personal note saying "Happy Birthday, + Ford! 🎉 + acceptedOn: '2024-03-29T21:29:21Z' + fulfilledOn: '2024-03-29T21:29:21Z' + refundedOn: '2024-04-08T18:25:04Z' + disputedOn: '2024-03-29T21:29:21Z' + disputeUpdatedOn: '2024-03-29T21:29:21Z' + disputeLastStatus: charge_refunded + customerPaid: + unit: USD + value: '5892' + string: ' 118.73 USD' + netAmount: + unit: USD + value: '5892' + string: ' 112.62 USD' + applicationFee: + unit: USD + value: '5892' + string: ' 2.37 USD' + allAddresses: + - type: billing + japanType: kana + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + - type: shipping + japanType: kana + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingAddress: + type: shipping + japanType: kanji + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + billingAddress: + type: billing + japanType: kana + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingProvider: Shipping Company, Co. + shippingTracking: tr00000000001 + shippingTrackingURL: https://www.shippingcompany.com/tracking/tr00000000001 + customerInfo: + fullName: Arthur Dent + email: arthur.dent@example.com + purchasedItems: + - count: 1 + rowTotal: + unit: USD + value: '5892' + string: ' 55.61 USD' + productId: 66072fb61b89448912e26791 + productName: Luxurious Fresh Ball + productSlug: luxurious-fresh-ball + variantId: 66072fb71b89448912e2683f + variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic' + variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic + variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic + variantImage: + url: >- + https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg + variantPrice: + unit: USD + value: '5892' + string: ' 55.61 USD' + weight: 11 + width: 82 + height: 70 + length: 9 + - count: 1 + rowTotal: + unit: USD + value: '5892' + string: ' 53.44 USD' + productId: 66072fb61b89448912e26799 + productName: Recycled Steel Gloves + productSlug: recycled-steel-gloves + variantId: 66072fb91b89448912e26ab9 + variantName: 'Recycled Steel Gloves Electronic: Granite, Handcrafted: grey' + variantSlug: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantSKU: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantImage: + url: >- + https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2671e_image2.jpeg + variantPrice: + unit: USD + value: '5892' + string: ' 53.44 USD' + weight: 38 + width: 76 + height: 85 + length: 40 + purchasedItemsCount: 2 + stripeDetails: + subscriptionId: sub_1J6xwG2eZvKYlo2CXu9Zt0Tn + paymentMethod: pm_1OzmzBJYFi4lcbXWHKNdXU7j + paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft + customerId: cus_PpRsNHwWdUoRKR + chargeId: ch_3OzmzDJYFi4lcbXW1ndkkrH2 + disputeId: disputeId + refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk + refundReason: fraudulent + stripeCard: + last4: '4242' + brand: Visa + ownerName: Arthur Dent + expires: + year: 2024 + month: 4 + paypalDetails: + orderId: 1a2b3c4d5e6f7g8h9i0j + payerId: 9k8j7i6h5g4f3e2d1c0b + captureId: qwe123rty456uio789p + refundId: abcde12345fghij67890 + refundReason: Customer requested refund + disputeId: zxcvbnm987poiuytrewq + customData: + - key: value + metadata: + isBuyNow: false + isCustomerDeleted: false + isShippingRequired: true + hasDownloads: false + paymentProcessor: stripe + totals: + subtotal: + unit: USD + value: '5892' + string: ' 109.05 USD' + extras: + - type: tax + name: State Taxes + description: NY Taxes (4.00%) + price: + unit: USD + value: '5892' + string: ' 4.36 USD' + - type: tax + name: City Taxes + description: NEW YORK Taxes (4.88%) + price: + unit: USD + value: '5892' + string: ' 5.32 USD' + - type: shipping + name: Flat + description: '' + price: + unit: USD + value: '5892' + string: ' 0.00 USD' + total: + unit: USD + value: '5892' + string: ' 118.73 USD' + downloadFiles: + - id: 5e9a5eba75e0ac242e1b6f64 + name: New product guide + url: >- + https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa + source: + openapi: v2-data.yml + display-name: Orders +webhooks: + ecomm_new_order: + method: POST + display-name: New eComm Order + headers: {} + payload: EcommNewOrderPayload + examples: + - payload: + orderId: fc7-128 + status: refunded + comment: >- + Customer requested gift wrapping and a personalized note saying: + Happy Birthday, Ford! 🎉 Please ensure the item is packed with extra + bubble wrap for safe transit. + orderComment: >- + Please gift wrap with a personal note saying "Happy Birthday, Ford! + 🎉 + acceptedOn: '2024-03-29T21:29:21Z' + fulfilledOn: '2024-03-29T21:29:21Z' + refundedOn: '2024-04-08T18:25:04Z' + disputedOn: '2024-03-29T21:29:21Z' + disputeUpdatedOn: '2024-03-29T21:29:21Z' + disputeLastStatus: charge_refunded + customerPaid: + unit: USD + value: '5892' + string: ' 118.73 USD' + netAmount: + unit: USD + value: '5892' + string: ' 112.62 USD' + applicationFee: + unit: USD + value: '5892' + string: ' 2.37 USD' + allAddresses: + - type: billing + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + - type: shipping + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingAddress: + type: shipping + japanType: kanji + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + billingAddress: + type: billing + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingProvider: Shipping Company, Co. + shippingTracking: tr00000000001 + shippingTrackingURL: https://www.shippingcompany.com/tracking/tr00000000001 + customerInfo: + fullName: Arthur Dent + email: arthur.dent@example.com + purchasedItems: + - count: 1 + rowTotal: + unit: USD + value: '5892' + string: ' 55.61 USD' + productId: 66072fb61b89448912e26791 + productName: Luxurious Fresh Ball + productSlug: luxurious-fresh-ball + variantId: 66072fb71b89448912e2683f + variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic' + variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic + variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic + variantImage: + url: >- + https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg + variantPrice: + unit: USD + value: '5892' + string: ' 55.61 USD' + weight: 11 + width: 82 + height: 70 + length: 9 + - count: 1 + rowTotal: + unit: USD + value: '5892' + string: ' 53.44 USD' + productId: 66072fb61b89448912e26799 + productName: Recycled Steel Gloves + productSlug: recycled-steel-gloves + variantId: 66072fb91b89448912e26ab9 + variantName: 'Recycled Steel Gloves Electronic: Granite, Handcrafted: grey' + variantSlug: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantSKU: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantImage: + url: >- + https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2671e_image2.jpeg + variantPrice: + unit: USD + value: '5892' + string: ' 53.44 USD' + weight: 38 + width: 76 + height: 85 + length: 40 + purchasedItemsCount: 2 + stripeDetails: + paymentMethod: pm_1OzmzBJYFi4lcbXWHKNdXU7j + paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft + customerId: cus_PpRsNHwWdUoRKR + chargeId: ch_3OzmzDJYFi4lcbXW1ndkkrH2 + refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk + refundReason: fraudulent + stripeCard: + last4: '4242' + brand: Visa + ownerName: Arthur Dent + expires: + year: 2024 + month: 4 + customData: + - key: value + metadata: + isBuyNow: false + isCustomerDeleted: false + isShippingRequired: true + hasDownloads: false + paymentProcessor: stripe + totals: + subtotal: + unit: USD + value: '5892' + string: ' 109.05 USD' + extras: + - type: tax + name: State Taxes + description: NY Taxes (4.00%) + price: + unit: USD + value: '5892' + string: ' 4.36 USD' + - type: tax + name: City Taxes + description: NEW YORK Taxes (4.88%) + price: + unit: USD + value: '5892' + string: ' 5.32 USD' + - type: shipping + name: Flat + description: '' + price: + unit: USD + value: '5892' + string: ' 0.00 USD' + total: + unit: USD + value: '5892' + string: ' 118.73 USD' + downloadFiles: + - id: 5e9a5eba75e0ac242e1b6f64 + name: New product guide + url: >- + https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa + ecomm_order_changed: + method: POST + display-name: Updated eComm Order + headers: {} + payload: EcommOrderChangedPayload + examples: + - payload: + orderId: fc7-128 + status: refunded + comment: >- + Customer requested gift wrapping and a personalized note saying: + Happy Birthday, Ford! 🎉 Please ensure the item is packed with extra + bubble wrap for safe transit. + orderComment: >- + Please gift wrap with a personal note saying "Happy Birthday, Ford! + 🎉 + acceptedOn: '2024-03-29T21:29:21Z' + fulfilledOn: '2024-03-29T21:29:21Z' + refundedOn: '2024-04-08T18:25:04Z' + disputedOn: '2024-03-29T21:29:21Z' + disputeUpdatedOn: '2024-03-29T21:29:21Z' + disputeLastStatus: charge_refunded + customerPaid: + unit: USD + value: '5892' + string: ' 118.73 USD' + netAmount: + unit: USD + value: '5892' + string: ' 112.62 USD' + applicationFee: + unit: USD + value: '5892' + string: ' 2.37 USD' + allAddresses: + - type: billing + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + - type: shipping + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingAddress: + type: shipping + japanType: kanji + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + billingAddress: + type: billing + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingProvider: Shipping Company, Co. + shippingTracking: tr00000000001 + shippingTrackingURL: https://www.shippingcompany.com/tracking/tr00000000001 + customerInfo: + fullName: Arthur Dent + email: arthur.dent@example.com + purchasedItems: + - count: 1 + rowTotal: + unit: USD + value: '5892' + string: ' 55.61 USD' + productId: 66072fb61b89448912e26791 + productName: Luxurious Fresh Ball + productSlug: luxurious-fresh-ball + variantId: 66072fb71b89448912e2683f + variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic' + variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic + variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic + variantImage: + url: >- + https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg + variantPrice: + unit: USD + value: '5892' + string: ' 55.61 USD' + weight: 11 + width: 82 + height: 70 + length: 9 + - count: 1 + rowTotal: + unit: USD + value: '5892' + string: ' 53.44 USD' + productId: 66072fb61b89448912e26799 + productName: Recycled Steel Gloves + productSlug: recycled-steel-gloves + variantId: 66072fb91b89448912e26ab9 + variantName: 'Recycled Steel Gloves Electronic: Granite, Handcrafted: grey' + variantSlug: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantSKU: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantImage: + url: >- + https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2671e_image2.jpeg + variantPrice: + unit: USD + value: '5892' + string: ' 53.44 USD' + weight: 38 + width: 76 + height: 85 + length: 40 + purchasedItemsCount: 2 + stripeDetails: + paymentMethod: pm_1OzmzBJYFi4lcbXWHKNdXU7j + paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft + customerId: cus_PpRsNHwWdUoRKR + chargeId: ch_3OzmzDJYFi4lcbXW1ndkkrH2 + refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk + refundReason: fraudulent + stripeCard: + last4: '4242' + brand: Visa + ownerName: Arthur Dent + expires: + year: 2024 + month: 4 + customData: + - key: value + metadata: + isBuyNow: false + isCustomerDeleted: false + isShippingRequired: true + hasDownloads: false + paymentProcessor: stripe + totals: + subtotal: + unit: USD + value: '5892' + string: ' 109.05 USD' + extras: + - type: tax + name: State Taxes + description: NY Taxes (4.00%) + price: + unit: USD + value: '5892' + string: ' 4.36 USD' + - type: tax + name: City Taxes + description: NEW YORK Taxes (4.88%) + price: + unit: USD + value: '5892' + string: ' 5.32 USD' + - type: shipping + name: Flat + description: '' + price: + unit: USD + value: '5892' + string: ' 0.00 USD' + total: + unit: USD + value: '5892' + string: ' 118.73 USD' + downloadFiles: + - id: 5e9a5eba75e0ac242e1b6f64 + name: New product guide + url: >- + https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa diff --git a/.mock/definition/pages.yml b/.mock/definition/pages.yml new file mode 100644 index 00000000..c028f79f --- /dev/null +++ b/.mock/definition/pages.yml @@ -0,0 +1,987 @@ +types: + PagesListResponsePagesItemSeo: + docs: SEO-related fields for the Page + properties: + title: + type: optional + docs: The Page title shown in search engine results + description: + type: optional + docs: The Page description shown in search engine results + source: + openapi: v2-data.yml + PagesListResponsePagesItemOpenGraph: + docs: Open Graph fields for the Page + properties: + title: + type: optional + docs: The title supplied to Open Graph annotations + titleCopied: + type: optional + docs: Indicates the Open Graph title was copied from the SEO title + default: true + description: + type: optional + docs: The description supplied to Open Graph annotations + descriptionCopied: + type: optional + docs: >- + Indicates the Open Graph description was copied from the SEO + description + default: true + source: + openapi: v2-data.yml + PagesListResponsePagesItem: + docs: The Page object + properties: + id: + type: string + docs: Unique identifier for the Page + siteId: + type: optional + docs: Unique identifier for the Site + title: + type: optional + docs: Title of the Page + slug: + type: optional + docs: slug of the Page (derived from title) + parentId: + type: optional + docs: Identifier of the parent folder + collectionId: + type: optional + docs: >- + Unique identifier for a linked Collection, value will be null if the + Page is not part of a Collection. + createdOn: + type: optional + docs: The date the Page was created + lastUpdated: + type: optional + docs: The date the Page was most recently updated + archived: + type: optional + docs: Whether the Page has been archived + default: false + draft: + type: optional + docs: Whether the Page is a draft + default: false + canBranch: + type: optional + docs: >- + Indicates whether the Page supports [Page + Branching](https://university.webflow.com/lesson/page-branching) + default: false + isBranch: + type: optional + docs: >- + Indicates whether the Page is a Branch of another Page [Page + Branching](https://university.webflow.com/lesson/page-branching) + default: false + isMembersOnly: + type: optional + docs: >- + Indicates whether the Page is restricted by [Memberships + Controls](https://university.webflow.com/lesson/webflow-memberships-overview#how-to-manage-page-restrictions) + default: false + seo: + type: optional + docs: SEO-related fields for the Page + openGraph: + type: optional + docs: Open Graph fields for the Page + localeId: + type: optional + docs: Unique ID of the page locale + publishedPath: + type: optional + docs: Relative path of the published page URL + source: + openapi: v2-data.yml + PagesListResponsePagination: + docs: Pagination object + properties: + limit: + type: optional + docs: The limit used for pagination + offset: + type: optional + docs: The offset used for pagination + total: + type: optional + docs: The total number of records + source: + openapi: v2-data.yml + PagesListResponse: + docs: The Page object + properties: + pages: optional> + pagination: + type: optional + docs: Pagination object + source: + openapi: v2-data.yml + PagesGetMetadataResponseSeo: + docs: SEO-related fields for the Page + properties: + title: + type: optional + docs: The Page title shown in search engine results + description: + type: optional + docs: The Page description shown in search engine results + source: + openapi: v2-data.yml + PagesGetMetadataResponseOpenGraph: + docs: Open Graph fields for the Page + properties: + title: + type: optional + docs: The title supplied to Open Graph annotations + titleCopied: + type: optional + docs: Indicates the Open Graph title was copied from the SEO title + default: true + description: + type: optional + docs: The description supplied to Open Graph annotations + descriptionCopied: + type: optional + docs: >- + Indicates the Open Graph description was copied from the SEO + description + default: true + source: + openapi: v2-data.yml + PagesGetMetadataResponse: + docs: The Page object + properties: + id: + type: string + docs: Unique identifier for the Page + siteId: + type: optional + docs: Unique identifier for the Site + title: + type: optional + docs: Title of the Page + slug: + type: optional + docs: slug of the Page (derived from title) + parentId: + type: optional + docs: Identifier of the parent folder + collectionId: + type: optional + docs: >- + Unique identifier for a linked Collection, value will be null if the + Page is not part of a Collection. + createdOn: + type: optional + docs: The date the Page was created + lastUpdated: + type: optional + docs: The date the Page was most recently updated + archived: + type: optional + docs: Whether the Page has been archived + default: false + draft: + type: optional + docs: Whether the Page is a draft + default: false + canBranch: + type: optional + docs: >- + Indicates whether the Page supports [Page + Branching](https://university.webflow.com/lesson/page-branching) + default: false + isBranch: + type: optional + docs: >- + Indicates whether the Page is a Branch of another Page [Page + Branching](https://university.webflow.com/lesson/page-branching) + default: false + isMembersOnly: + type: optional + docs: >- + Indicates whether the Page is restricted by [Memberships + Controls](https://university.webflow.com/lesson/webflow-memberships-overview#how-to-manage-page-restrictions) + default: false + seo: + type: optional + docs: SEO-related fields for the Page + openGraph: + type: optional + docs: Open Graph fields for the Page + localeId: + type: optional + docs: Unique ID of the page locale + publishedPath: + type: optional + docs: Relative path of the published page URL + source: + openapi: v2-data.yml + UpdatePageSettingsRequestSeo: + docs: SEO-related fields for the Page + properties: + title: + type: optional + docs: The Page title shown in search engine results + description: + type: optional + docs: The Page description shown in search engine results + source: + openapi: v2-data.yml + UpdatePageSettingsRequestOpenGraph: + docs: Open Graph fields for the Page + properties: + title: + type: optional + docs: The title supplied to Open Graph annotations + description: + type: optional + docs: The description supplied to Open Graph annotations + source: + openapi: v2-data.yml + UpdatePageSettingsResponseSeo: + docs: SEO-related fields for the Page + properties: + title: + type: optional + docs: The Page title shown in search engine results + description: + type: optional + docs: The Page description shown in search engine results + source: + openapi: v2-data.yml + UpdatePageSettingsResponseOpenGraph: + docs: Open Graph fields for the Page + properties: + title: + type: optional + docs: The title supplied to Open Graph annotations + titleCopied: + type: optional + docs: Indicates the Open Graph title was copied from the SEO title + default: true + description: + type: optional + docs: The description supplied to Open Graph annotations + descriptionCopied: + type: optional + docs: >- + Indicates the Open Graph description was copied from the SEO + description + default: true + source: + openapi: v2-data.yml + UpdatePageSettingsResponse: + docs: The Page object + properties: + id: + type: string + docs: Unique identifier for the Page + siteId: + type: optional + docs: Unique identifier for the Site + title: + type: optional + docs: Title of the Page + slug: + type: optional + docs: slug of the Page (derived from title) + parentId: + type: optional + docs: Identifier of the parent folder + collectionId: + type: optional + docs: >- + Unique identifier for a linked Collection, value will be null if the + Page is not part of a Collection. + createdOn: + type: optional + docs: The date the Page was created + lastUpdated: + type: optional + docs: The date the Page was most recently updated + archived: + type: optional + docs: Whether the Page has been archived + default: false + draft: + type: optional + docs: Whether the Page is a draft + default: false + canBranch: + type: optional + docs: >- + Indicates whether the Page supports [Page + Branching](https://university.webflow.com/lesson/page-branching) + default: false + isBranch: + type: optional + docs: >- + Indicates whether the Page is a Branch of another Page [Page + Branching](https://university.webflow.com/lesson/page-branching) + default: false + isMembersOnly: + type: optional + docs: >- + Indicates whether the Page is restricted by [Memberships + Controls](https://university.webflow.com/lesson/webflow-memberships-overview#how-to-manage-page-restrictions) + default: false + seo: + type: optional + docs: SEO-related fields for the Page + openGraph: + type: optional + docs: Open Graph fields for the Page + localeId: + type: optional + docs: Unique ID of the page locale + publishedPath: + type: optional + docs: Relative path of the published page URL + source: + openapi: v2-data.yml + PagesGetContentResponseNodesItemType: + enum: + - text + - image + source: + openapi: v2-data.yml + PagesGetContentResponseNodesItemText: + docs: > + Represents textual content within the DOM. It contains both the raw text + and its HTML representation, allowing for flexibility in rendering and + processing. Additional attributes can be associated with the text for + styling or other purposes. + properties: + html: optional + text: optional + source: + openapi: v2-data.yml + PagesGetContentResponseNodesItemImage: + docs: > + Represents an image within the DOM. It contains details about the image, + such as its alternative text (alt) for accessibility and an asset + identifier for fetching the actual image resource. Additional attributes + can be associated with the image for styling or other purposes. + properties: + alt: optional + assetId: optional + source: + openapi: v2-data.yml + PagesGetContentResponseNodesItem: + docs: > + A generic representation of a content element within the Document Object + Model (DOM). Each node has a unique identifier and a specific type that + determines its content structure and attributes. + properties: + id: + type: optional + docs: Node UUID + type: optional + text: + type: optional + docs: > + Represents textual content within the DOM. It contains both the raw + text and its HTML representation, allowing for flexibility in + rendering and processing. Additional attributes can be associated with + the text for styling or other purposes. + image: + type: optional + docs: > + Represents an image within the DOM. It contains details about the + image, such as its alternative text (alt) for accessibility and an + asset identifier for fetching the actual image resource. Additional + attributes can be associated with the image for styling or other + purposes. + attributes: + type: optional> + docs: The custom attributes of the node + source: + openapi: v2-data.yml + PagesGetContentResponsePagination: + docs: Pagination object + properties: + limit: + type: optional + docs: The limit used for pagination + offset: + type: optional + docs: The offset used for pagination + total: + type: optional + docs: The total number of records + source: + openapi: v2-data.yml + PagesGetContentResponse: + docs: > + The DOM (Document Object Model) schema represents the content structure of + a web page. It captures various content nodes, such as text and images, + along with their associated attributes. Each node has a unique identifier + and can be of different types like text or image. The schema also provides + pagination details for scenarios where the content nodes are too many to + be fetched in a single request. + properties: + pageId: + type: optional + docs: Page ID + nodes: optional> + pagination: + type: optional + docs: Pagination object + source: + openapi: v2-data.yml + UpdateStaticContentRequestNodesItem: + properties: + nodeId: + type: string + docs: Node UUID + text: + type: string + docs: >- + HTML content of the node, including the HTML tag. The HTML tags must + be the same as what's returned from the Get Content endpoint. + source: + openapi: v2-data.yml + UpdateStaticContentResponse: + properties: + errors: + docs: A list of error messages, if any. + type: list + source: + openapi: v2-data.yml + PageCreatedPayloadPayload: + docs: The payload of data sent from Webflow + properties: + siteId: optional + pageId: optional + pageTitle: optional + createdOn: optional + source: + openapi: v2-data.yml + PageCreatedPayload: + docs: The Webhook payload for when a Page is created + properties: + triggerType: + type: optional + docs: The type of event that triggered the request + payload: + type: optional + docs: The payload of data sent from Webflow + source: + openapi: v2-data.yml + PageMetadataUpdatedPayloadPayload: + docs: The payload of data sent from Webflow + properties: + siteId: optional + pageId: optional + pageTitle: optional + lastUpdated: optional + source: + openapi: v2-data.yml + PageMetadataUpdatedPayload: + docs: The Webhook payload for when a Page's metadata is updated + properties: + triggerType: + type: optional + docs: The type of event that triggered the request + payload: + type: optional + docs: The payload of data sent from Webflow + source: + openapi: v2-data.yml + PageDeletedPayloadPayload: + docs: The payload of data sent from Webflow + properties: + siteId: optional + pageId: optional + pageTitle: optional + deletedOn: optional + source: + openapi: v2-data.yml + PageDeletedPayload: + docs: The Webhook payload for when a Page is deleted + properties: + triggerType: + type: optional + docs: The type of event that triggered the request + payload: + type: optional + docs: The payload of data sent from Webflow + source: + openapi: v2-data.yml +imports: + root: __package__.yml +service: + auth: false + base-path: '' + endpoints: + list: + path: /sites/{site_id}/pages + method: GET + auth: true + docs: | + List of all pages for a site. + + Required scope | `pages:read` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + display-name: List Pages + request: + name: PagesListRequest + query-parameters: + localeId: + type: optional + docs: >- + Unique identifier for a specific locale. Applicable, when using + localization. + limit: + type: optional + docs: 'Maximum number of records to be returned (max limit: 100)' + offset: + type: optional + docs: >- + Offset used for pagination if the results have more than limit + records + response: + docs: Request was successful + type: PagesListResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + query-parameters: + localeId: 65427cf400e02b306eaa04a0 + response: + body: + pages: + - id: 6596da6045e56dee495bcbba + siteId: 6258612d1ee792848f805dcf + title: Guide to the Galaxy + slug: guide-to-the-galaxy + parentId: 6419db964a9c435aa3af6251 + collectionId: 6390c49774a71f12831a08e3 + createdOn: '2024-03-11T10:42:00Z' + lastUpdated: '2024-03-11T10:42:42Z' + archived: false + draft: false + canBranch: true + isBranch: false + isMembersOnly: false + seo: + title: The Ultimate Hitchhiker's Guide to the Galaxy + description: >- + Everything you need to know about the galaxy, from + avoiding Vogon poetry to the importance of towels. + openGraph: + title: Explore the Cosmos with The Ultimate Guide + titleCopied: false + description: >- + Dive deep into the mysteries of the universe with your + guide to everything galactic. + descriptionCopied: false + localeId: 653fd9af6a07fc9cfd7a5e57 + publishedPath: /en-us/guide-to-the-galaxy + - id: 6596da6045e56dee495bcbad + siteId: 6258612d1ee792848f805dcf + title: Towel Day Celebrations + slug: towel-day + parentId: 6419db964a9c435aa3af6251 + collectionId: 6390c49774a71f12831a08e3 + createdOn: '2024-05-25T09:00:00Z' + lastUpdated: '2024-05-25T09:42:00Z' + archived: false + draft: false + canBranch: true + isBranch: false + isMembersOnly: false + seo: + title: Celebrate Towel Day - The Hitchhiker's Guide to the Galaxy + description: >- + A guide to celebrating Towel Day, in honor of the most + massively useful thing an interstellar hitchhiker can + have. + openGraph: + title: Towel Day - Don't Panic + titleCopied: false + description: >- + Join the galaxy in celebrating Towel Day, the day + dedicated to carrying towels everywhere in memory of + Douglas Adams. + descriptionCopied: false + localeId: 653fd9af6a07fc9cfd7a5e57 + publishedPath: /en-us/towel-day + pagination: + limit: 20 + offset: 0 + total: 2 + get-metadata: + path: /pages/{page_id} + method: GET + auth: true + docs: | + Get metadata information for a single page. + + Required scope | `pages:read` + source: + openapi: v2-data.yml + path-parameters: + page_id: + type: string + docs: Unique identifier for a Page + display-name: Get Page Metadata + request: + name: PagesGetMetadataRequest + query-parameters: + localeId: + type: optional + docs: >- + Unique identifier for a specific locale. Applicable, when using + localization. + response: + docs: Request was successful + type: PagesGetMetadataResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + page_id: 63c720f9347c2139b248e552 + query-parameters: + localeId: 65427cf400e02b306eaa04a0 + response: + body: + id: 6596da6045e56dee495bcbba + siteId: 6258612d1ee792848f805dcf + title: Guide to the Galaxy + slug: guide-to-the-galaxy + parentId: 6419db964a9c435aa3af6251 + collectionId: 6390c49774a71f12831a08e3 + createdOn: '2024-03-11T10:42:00Z' + lastUpdated: '2024-03-11T10:42:42Z' + archived: false + draft: false + canBranch: true + isBranch: false + isMembersOnly: false + seo: + title: The Ultimate Hitchhiker's Guide to the Galaxy + description: >- + Everything you need to know about the galaxy, from avoiding + Vogon poetry to the importance of towels. + openGraph: + title: Explore the Cosmos with The Ultimate Guide + titleCopied: false + description: >- + Dive deep into the mysteries of the universe with your guide + to everything galactic. + descriptionCopied: false + localeId: 653fd9af6a07fc9cfd7a5e57 + publishedPath: /en-us/guide-to-the-galaxy + update-page-settings: + path: /pages/{page_id} + method: PUT + auth: true + docs: | + Update Page-level metadata, including SEO and Open Graph fields. + + Required scope | `pages:write` + source: + openapi: v2-data.yml + path-parameters: + page_id: + type: string + docs: Unique identifier for a Page + display-name: Update Page Metadata + request: + name: UpdatePageSettingsRequest + query-parameters: + localeId: + type: optional + docs: >- + Unique identifier for a specific locale. Applicable, when using + localization. + body: + properties: + title: + type: optional + docs: Title of the Page + slug: + type: optional + docs: slug of the Page (derived from title) + seo: + type: optional + docs: SEO-related fields for the Page + openGraph: + type: optional + docs: Open Graph fields for the Page + content-type: application/json + response: + docs: Request was successful + type: UpdatePageSettingsResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + page_id: 63c720f9347c2139b248e552 + query-parameters: + localeId: 65427cf400e02b306eaa04a0 + request: + title: Guide to the Galaxy + slug: guide-to-the-galaxy + seo: + title: The Ultimate Hitchhiker's Guide to the Galaxy + description: >- + Everything you need to know about the galaxy, from avoiding + Vogon poetry to the importance of towels. + openGraph: + title: Explore the Cosmos with The Ultimate Guide + description: >- + Dive deep into the mysteries of the universe with your guide to + everything galactic. + response: + body: + id: 6596da6045e56dee495bcbba + siteId: 6258612d1ee792848f805dcf + title: Guide to the Galaxy + slug: guide-to-the-galaxy + parentId: 6419db964a9c435aa3af6251 + collectionId: 6390c49774a71f12831a08e3 + createdOn: '2024-03-11T10:42:00Z' + lastUpdated: '2024-03-11T10:42:42Z' + archived: false + draft: false + canBranch: true + isBranch: false + isMembersOnly: false + seo: + title: The Ultimate Hitchhiker's Guide to the Galaxy + description: >- + Everything you need to know about the galaxy, from avoiding + Vogon poetry to the importance of towels. + openGraph: + title: Explore the Cosmos with The Ultimate Guide + titleCopied: false + description: >- + Dive deep into the mysteries of the universe with your guide + to everything galactic. + descriptionCopied: false + localeId: 653fd9af6a07fc9cfd7a5e57 + publishedPath: /en-us/guide-to-the-galaxy + get-content: + path: /pages/{page_id}/dom + method: GET + auth: true + docs: > + Get static content from a static page. + + + If you do not provide a Locale ID in your request, the response will + return any content that can be localized from the Primary locale. + + + Required scope | `pages:read` + source: + openapi: v2-data.yml + path-parameters: + page_id: + type: string + docs: Unique identifier for a Page + display-name: Get Page Content + request: + name: PagesGetContentRequest + query-parameters: + localeId: + type: optional + docs: >- + Unique identifier for a specific locale. Applicable, when using + localization. + limit: + type: optional + docs: 'Maximum number of records to be returned (max limit: 100)' + offset: + type: optional + docs: >- + Offset used for pagination if the results have more than limit + records + response: + docs: Request was successful + type: PagesGetContentResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + page_id: 63c720f9347c2139b248e552 + query-parameters: + localeId: 65427cf400e02b306eaa04a0 + response: + body: + pageId: 658205daa3e8206a523b5ad4 + nodes: + - id: a245c12d-995b-55ee-5ec7-aa36a6cad623 + type: text + text: + html:

The Hitchhiker's Guide to the Galaxy

+ text: The Hitchhiker's Guide to the Galaxy + attributes: + key: value + - id: a245c12d-995b-55ee-5ec7-aa36a6cad627 + type: text + text: + html: >- +

Don't Panic!

Always know where your towel + is.

+ attributes: + key: value + - id: a245c12d-995b-55ee-5ec7-aa36a6cad629 + type: image + image: + alt: Marvin, the Paranoid Android + assetId: 659595234426a9fcbad57043 + attributes: + key: value + pagination: + limit: 3 + offset: 0 + total: 3 + update-static-content: + path: /pages/{page_id}/dom + method: POST + auth: true + docs: > + This endpoint allows for updating static content on a static page within + a secondary locale. It is designed specifically for localized pages and + can handle up to 1000 nodes per request. + +

Note:This + endpoint is specifically for localized pages. Ensure that the locale + specified is a valid secondary locale for the site.

+ + + Required scope | `pages:write` + source: + openapi: v2-data.yml + path-parameters: + page_id: + type: string + docs: Unique identifier for a Page + display-name: Update Page Content + request: + name: UpdateStaticContentRequest + query-parameters: + localeId: + type: optional + docs: >- + Unique identifier for a specific locale. Applicable, when using + localization. + body: + properties: + nodes: list + content-type: application/json + response: + docs: Request was successful + type: UpdateStaticContentResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + page_id: 63c720f9347c2139b248e552 + query-parameters: + localeId: 65427cf400e02b306eaa04a0 + request: + nodes: + - nodeId: a245c12d-995b-55ee-5ec7-aa36a6cad623 + text:

The Hitchhiker’s Guide to the Galaxy

+ - nodeId: a245c12d-995b-55ee-5ec7-aa36a6cad627 + text: >- +

Don’t Panic!

Always know where your towel + is.

+ - nodeId: a245c12d-995b-55ee-5ec7-aa36a6cad629 + text: >- + Marvin, the Paranoid Android + response: + body: + errors: + - errors + source: + openapi: v2-data.yml + display-name: Pages +webhooks: + page_created: + method: POST + display-name: Page Created + headers: {} + payload: + type: PageCreatedPayload + docs: The Webhook payload for when a Page is created + examples: + - payload: + triggerType: page_created + payload: + siteId: 65427cf400e02b306eaa049c + pageId: 66a3cfb276641574f5d58311 + pageTitle: Heart of Gold Specs + createdOn: '2024-07-26T16:32:50Z' + page_metadata_updated: + method: POST + display-name: Page Metadata Updated + headers: {} + payload: + type: PageMetadataUpdatedPayload + docs: The Webhook payload for when a Page's metadata is updated + examples: + - payload: + triggerType: page_metadata_updated + payload: + siteId: 65427cf400e02b306eaa049c + pageId: 66a3cfb276641574f5d58311 + pageTitle: Heart of Gold Specs + lastUpdated: '2024-07-26T16:32:50Z' + page_deleted: + method: POST + display-name: Page Deleted + headers: {} + payload: + type: PageDeletedPayload + docs: The Webhook payload for when a Page is deleted + examples: + - payload: + triggerType: page_deleted + payload: + siteId: 65427cf400e02b306eaa049c + pageId: 66a3cfb276641574f5d58311 + pageTitle: Heart of Gold Specs + deletedOn: '2024-07-26T16:32:50Z' diff --git a/.mock/definition/pages/scripts.yml b/.mock/definition/pages/scripts.yml new file mode 100644 index 00000000..e6ad8e54 --- /dev/null +++ b/.mock/definition/pages/scripts.yml @@ -0,0 +1,294 @@ +types: + ScriptsGetCustomCodeResponseScriptsItemLocation: + enum: + - header + - footer + docs: >- + Location of the script, either in the header or footer of the published + site + default: header + source: + openapi: v2-data.yml + ScriptsGetCustomCodeResponseScriptsItem: + properties: + id: + type: string + docs: ID of the registered custom code script + location: + type: ScriptsGetCustomCodeResponseScriptsItemLocation + docs: >- + Location of the script, either in the header or footer of the + published site + default: header + version: + type: string + docs: Semantic Version String for the registered script *e.g. 0.0.1* + attributes: + type: optional> + docs: >- + Developer-specified key/value pairs to be applied as attributes to the + script + source: + openapi: v2-data.yml + ScriptsGetCustomCodeResponse: + properties: + scripts: + type: optional> + docs: A list of scripts applied to a Site or a Page + lastUpdated: + type: optional + docs: Date when the Site's scripts were last updated + createdOn: + type: optional + docs: Date when the Site's scripts were created + source: + openapi: v2-data.yml + ScriptsUpsertCustomCodeRequestScriptsItemLocation: + enum: + - header + - footer + docs: >- + Location of the script, either in the header or footer of the published + site + default: header + source: + openapi: v2-data.yml + ScriptsUpsertCustomCodeRequestScriptsItem: + properties: + id: + type: string + docs: ID of the registered custom code script + location: + type: ScriptsUpsertCustomCodeRequestScriptsItemLocation + docs: >- + Location of the script, either in the header or footer of the + published site + default: header + version: + type: string + docs: Semantic Version String for the registered script *e.g. 0.0.1* + attributes: + type: optional> + docs: >- + Developer-specified key/value pairs to be applied as attributes to the + script + source: + openapi: v2-data.yml + ScriptsUpsertCustomCodeResponseScriptsItemLocation: + enum: + - header + - footer + docs: >- + Location of the script, either in the header or footer of the published + site + default: header + source: + openapi: v2-data.yml + ScriptsUpsertCustomCodeResponseScriptsItem: + properties: + id: + type: string + docs: ID of the registered custom code script + location: + type: ScriptsUpsertCustomCodeResponseScriptsItemLocation + docs: >- + Location of the script, either in the header or footer of the + published site + default: header + version: + type: string + docs: Semantic Version String for the registered script *e.g. 0.0.1* + attributes: + type: optional> + docs: >- + Developer-specified key/value pairs to be applied as attributes to the + script + source: + openapi: v2-data.yml + ScriptsUpsertCustomCodeResponse: + properties: + scripts: + type: optional> + docs: A list of scripts applied to a Site or a Page + lastUpdated: + type: optional + docs: Date when the Site's scripts were last updated + createdOn: + type: optional + docs: Date when the Site's scripts were created + source: + openapi: v2-data.yml +imports: + root: ../__package__.yml +service: + auth: false + base-path: '' + endpoints: + get-custom-code: + path: /pages/{page_id}/custom_code + method: GET + auth: true + docs: > + Get all registered scripts that have been applied to a specific Page. + + + In order to use the Custom Code APIs for Sites and Pages, Custom Code + Scripts must first be registered + + to a Site via the `registered_scripts` endpoints, and then applied to a + Site or Page using the appropriate + + `custom_code` endpoints. + +
Access to this + endpoint requires a bearer token from a Data + Client App.
+ + + Required scope | `custom_code:read` + source: + openapi: v2-data.yml + path-parameters: + page_id: + type: string + docs: Unique identifier for a Page + display-name: Get Custom Code + response: + docs: Request was successful + type: ScriptsGetCustomCodeResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + page_id: 63c720f9347c2139b248e552 + response: + body: + scripts: + - id: id + location: header + version: version + attributes: + key: value + lastUpdated: lastUpdated + createdOn: createdOn + upsert-custom-code: + path: /pages/{page_id}/custom_code + method: PUT + auth: true + docs: > + Add a registered script to a Page. + + + In order to use the Custom Code APIs for Sites and Pages, Custom Code + Scripts must first be registered + + to a Site via the `registered_scripts` endpoints, and then applied to a + Site or Page using the appropriate + + `custom_code` endpoints. + +
Access to this + endpoint requires a bearer token from a Data + Client App.
+ + + Required scope | `custom_code:write` + source: + openapi: v2-data.yml + path-parameters: + page_id: + type: string + docs: Unique identifier for a Page + display-name: Add/Update Custom Code + request: + name: ScriptsUpsertCustomCodeRequest + body: + properties: + scripts: + type: optional> + docs: A list of scripts applied to a Site or a Page + content-type: application/json + response: + docs: Request was successful + type: ScriptsUpsertCustomCodeResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + page_id: 63c720f9347c2139b248e552 + request: + scripts: + - id: cms_slider + location: header + version: 1.0.0 + attributes: + my-attribute: some-value + - id: alert + location: header + version: 0.0.1 + response: + body: + scripts: + - id: cms_slider + location: header + version: 1.0.0 + attributes: + my-attribute: some-value + - id: alert + location: header + version: 0.0.1 + attributes: + key: value + lastUpdated: '2022-10-26T00:28:54.191Z' + createdOn: '2022-10-26T00:28:54.191Z' + delete-custom-code: + path: /pages/{page_id}/custom_code + method: DELETE + auth: true + docs: > + Delete the custom code block that an app has created for a page + + + In order to use the Custom Code APIs for Sites and Pages, Custom Code + Scripts must first be registered + + to a Site via the `registered_scripts` endpoints, and then applied to a + Site or Page using the appropriate + + `custom_code` endpoints. + +
Access to this + endpoint requires a bearer token from a Data + Client App.
+ + + Required scope | `custom_code:write` + source: + openapi: v2-data.yml + path-parameters: + page_id: + type: string + docs: Unique identifier for a Page + display-name: Delete Custom Code + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + page_id: 63c720f9347c2139b248e552 + source: + openapi: v2-data.yml diff --git a/.mock/definition/products.yml b/.mock/definition/products.yml new file mode 100644 index 00000000..f3781e7c --- /dev/null +++ b/.mock/definition/products.yml @@ -0,0 +1,2765 @@ +types: + ProductsListResponseItemsItemProductFieldDataSkuPropertiesItemEnumItem: + docs: Enumerated Product variants/Options for the SKU + properties: + id: + type: string + docs: Unique identifier for a Product variant/Option + name: + type: string + docs: Name of the Product variant/Option + slug: + type: string + docs: Slug for the Product variant/Option in the Site URL structure + source: + openapi: v2-data.yml + ProductsListResponseItemsItemProductFieldDataSkuPropertiesItem: + docs: A variant/option type for a SKU + properties: + id: + type: string + docs: Unique identifier for a collection of Product Variants + name: + type: string + docs: Name of the collection of Product Variants + enum: + docs: >- + The individual Product variants that are contained within the + collection + type: >- + list + source: + openapi: v2-data.yml + ProductsListResponseItemsItemProductFieldDataTaxCategory: + enum: + - value: standard-taxable + name: StandardTaxable + - value: standard-exempt + name: StandardExempt + - value: books-religious + name: BooksReligious + - value: books-textbook + name: BooksTextbook + - clothing + - value: clothing-swimwear + name: ClothingSwimwear + - value: digital-goods + name: DigitalGoods + - value: digital-service + name: DigitalService + - value: drugs-non-prescription + name: DrugsNonPrescription + - value: drugs-prescription + name: DrugsPrescription + - value: food-bottled-water + name: FoodBottledWater + - value: food-candy + name: FoodCandy + - value: food-groceries + name: FoodGroceries + - value: food-prepared + name: FoodPrepared + - value: food-soda + name: FoodSoda + - value: food-supplements + name: FoodSupplements + - value: magazine-individual + name: MagazineIndividual + - value: magazine-subscription + name: MagazineSubscription + - value: service-admission + name: ServiceAdmission + - value: service-advertising + name: ServiceAdvertising + - value: service-dry-cleaning + name: ServiceDryCleaning + - value: service-hairdressing + name: ServiceHairdressing + - value: service-installation + name: ServiceInstallation + - value: service-miscellaneous + name: ServiceMiscellaneous + - value: service-parking + name: ServiceParking + - value: service-printing + name: ServicePrinting + - value: service-professional + name: ServiceProfessional + - value: service-repair + name: ServiceRepair + - value: service-training + name: ServiceTraining + docs: Product tax class + source: + openapi: v2-data.yml + ProductsListResponseItemsItemProductFieldDataEcProductType: + enum: + - ff42fee0113744f693a764e3431a9cc2 + - f22027db68002190aef89a4a2b7ac8a1 + - c599e43b1a1c34d5a323aedf75d3adf6 + - b6ccc1830db4b1babeb06a9ac5f6dd76 + docs: >- + Product + types. Enums reflect the following values in order: Physical, Digital, + Service, Advanced" + source: + openapi: v2-data.yml + ProductsListResponseItemsItemProductFieldData: + docs: >- + Contains content-specific details for a product, covering both standard + (e.g., title, description) and custom fields tailored to the product + setup. + properties: + name: + type: optional + docs: Name of the Product + slug: + type: optional + docs: URL structure of the Product in your site. + description: + type: optional + docs: A description of your product + shippable: + type: optional + docs: Boolean determining if the Product is shippable + sku-properties: + type: >- + optional> + docs: Variant types to include in SKUs + categories: + type: optional> + docs: The categories your product belongs to. + tax-category: + type: optional + docs: Product tax class + default-sku: + type: optional + docs: The default SKU associated with this product. + ec-product-type: + type: optional + docs: >- + Product + types. Enums reflect the following values in order: Physical, + Digital, Service, Advanced" + source: + openapi: v2-data.yml + ProductsListResponseItemsItemProduct: + docs: The Product object + properties: + id: + type: optional + docs: Unique identifier for the Product + cmsLocaleId: + type: optional + docs: Identifier for the locale of the CMS item + lastPublished: + type: optional + docs: The date the Product was last published + lastUpdated: + type: optional + docs: The date the Product was last updated + createdOn: + type: optional + docs: The date the Product was created + isArchived: + type: optional + docs: Boolean determining if the Product is set to archived + default: false + isDraft: + type: optional + docs: Boolean determining if the Product is set to draft + default: false + fieldData: + type: optional + docs: >- + Contains content-specific details for a product, covering both + standard (e.g., title, description) and custom fields tailored to the + product setup. + source: + openapi: v2-data.yml + ProductsListResponseItemsItemSkusItemFieldDataPrice: + docs: price of SKU + properties: + value: + type: optional + docs: Price of SKU + unit: + type: optional + docs: Currency of Item + source: + openapi: v2-data.yml + ProductsListResponseItemsItemSkusItemFieldDataCompareAtPrice: + docs: comparison price of SKU + properties: + value: + type: optional + docs: Price of SKU + unit: + type: optional + docs: Currency of Item + source: + openapi: v2-data.yml + ProductsListResponseItemsItemSkusItemFieldDataEcSkuBillingMethod: + enum: + - value: one-time + name: OneTime + - subscription + source: + openapi: v2-data.yml + ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanInterval: + enum: + - day + - week + - month + - year + docs: Interval of subscription renewal + source: + openapi: v2-data.yml + ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus: + enum: + - active + - inactive + - canceled + docs: The status of the plan + source: + openapi: v2-data.yml + ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItem: + properties: + platform: + type: optional> + docs: The platform of the subscription plan + id: + type: optional + docs: The unique identifier of the plan + status: + type: >- + optional + docs: The status of the plan + source: + openapi: v2-data.yml + ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlan: + properties: + interval: + type: >- + optional + docs: Interval of subscription renewal + frequency: + type: optional + docs: Frequncy of billing within interval + trial: + type: optional + docs: Number of days of a trial + plans: >- + optional> + source: + openapi: v2-data.yml + ProductsListResponseItemsItemSkusItemFieldData: + docs: Standard and Custom fields for a SKU + properties: + sku-values: + type: optional> + docs: > + A dictionary that maps a SKU property to a SKU value. The key of the + dictionary is the SKU property ID, and the value is the SKU value ID. + name: + type: string + docs: Name of the Product + slug: + type: string + docs: URL structure of the Product in your site. + price: + type: ProductsListResponseItemsItemSkusItemFieldDataPrice + docs: price of SKU + compare-at-price: + type: optional + docs: comparison price of SKU + ec-sku-billing-method: >- + optional + ec-sku-subscription-plan: >- + optional + track-inventory: + type: optional + docs: >- + A boolean indicating whether inventory for this product should be + tracked. + default: false + quantity: + type: optional + docs: Quantity of SKU that will be tracked as items are ordered. + source: + openapi: v2-data.yml + ProductsListResponseItemsItemSkusItem: + docs: The SKU object + properties: + id: + type: optional + docs: Unique identifier for the Product + cmsLocaleId: + type: optional + docs: Identifier for the locale of the CMS item + lastPublished: + type: optional + docs: The date the Product was last published + lastUpdated: + type: optional + docs: The date the Product was last updated + createdOn: + type: optional + docs: The date the Product was created + fieldData: + type: optional + docs: Standard and Custom fields for a SKU + source: + openapi: v2-data.yml + ProductsListResponseItemsItem: + docs: A product and its SKUs. + properties: + product: + type: optional + docs: The Product object + skus: + type: optional> + docs: A list of SKU Objects + source: + openapi: v2-data.yml + ProductsListResponsePagination: + docs: Pagination object + properties: + limit: + type: optional + docs: The limit used for pagination + offset: + type: optional + docs: The offset used for pagination + total: + type: optional + docs: The total number of records + source: + openapi: v2-data.yml + ProductsListResponse: + docs: Results from product list + properties: + items: + type: optional> + docs: >- + List of Item objects within the Collection. Contains product and skus + keys for each Item + pagination: + type: optional + docs: Pagination object + source: + openapi: v2-data.yml + ProductsCreateRequestPublishStatus: + enum: + - staging + - live + docs: Indicate whether your Product should be set as "staging" or "live" + default: staging + source: + openapi: v2-data.yml + ProductsCreateRequestProductFieldDataSkuPropertiesItemEnumItem: + docs: Enumerated Product variants/Options for the SKU + properties: + id: + type: string + docs: Unique identifier for a Product variant/Option + name: + type: string + docs: Name of the Product variant/Option + slug: + type: string + docs: Slug for the Product variant/Option in the Site URL structure + source: + openapi: v2-data.yml + ProductsCreateRequestProductFieldDataSkuPropertiesItem: + docs: A variant/option type for a SKU + properties: + id: + type: string + docs: Unique identifier for a collection of Product Variants + name: + type: string + docs: Name of the collection of Product Variants + enum: + docs: >- + The individual Product variants that are contained within the + collection + type: list + source: + openapi: v2-data.yml + ProductsCreateRequestProductFieldDataTaxCategory: + enum: + - value: standard-taxable + name: StandardTaxable + - value: standard-exempt + name: StandardExempt + - value: books-religious + name: BooksReligious + - value: books-textbook + name: BooksTextbook + - clothing + - value: clothing-swimwear + name: ClothingSwimwear + - value: digital-goods + name: DigitalGoods + - value: digital-service + name: DigitalService + - value: drugs-non-prescription + name: DrugsNonPrescription + - value: drugs-prescription + name: DrugsPrescription + - value: food-bottled-water + name: FoodBottledWater + - value: food-candy + name: FoodCandy + - value: food-groceries + name: FoodGroceries + - value: food-prepared + name: FoodPrepared + - value: food-soda + name: FoodSoda + - value: food-supplements + name: FoodSupplements + - value: magazine-individual + name: MagazineIndividual + - value: magazine-subscription + name: MagazineSubscription + - value: service-admission + name: ServiceAdmission + - value: service-advertising + name: ServiceAdvertising + - value: service-dry-cleaning + name: ServiceDryCleaning + - value: service-hairdressing + name: ServiceHairdressing + - value: service-installation + name: ServiceInstallation + - value: service-miscellaneous + name: ServiceMiscellaneous + - value: service-parking + name: ServiceParking + - value: service-printing + name: ServicePrinting + - value: service-professional + name: ServiceProfessional + - value: service-repair + name: ServiceRepair + - value: service-training + name: ServiceTraining + docs: Product tax class + source: + openapi: v2-data.yml + ProductsCreateRequestProductFieldDataEcProductType: + enum: + - ff42fee0113744f693a764e3431a9cc2 + - f22027db68002190aef89a4a2b7ac8a1 + - c599e43b1a1c34d5a323aedf75d3adf6 + - b6ccc1830db4b1babeb06a9ac5f6dd76 + docs: >- + Product + types. Enums reflect the following values in order: Physical, Digital, + Service, Advanced" + source: + openapi: v2-data.yml + ProductsCreateRequestProductFieldData: + docs: >- + Contains content-specific details for a product, covering both standard + (e.g., title, description) and custom fields tailored to the product + setup. + properties: + name: + type: optional + docs: Name of the Product + slug: + type: optional + docs: URL structure of the Product in your site. + description: + type: optional + docs: A description of your product + shippable: + type: optional + docs: Boolean determining if the Product is shippable + sku-properties: + type: optional> + docs: Variant types to include in SKUs + categories: + type: optional> + docs: The categories your product belongs to. + tax-category: + type: optional + docs: Product tax class + default-sku: + type: optional + docs: The default SKU associated with this product. + ec-product-type: + type: optional + docs: >- + Product + types. Enums reflect the following values in order: Physical, + Digital, Service, Advanced" + source: + openapi: v2-data.yml + ProductsCreateRequestProduct: + docs: The Product object + properties: + fieldData: + type: optional + docs: >- + Contains content-specific details for a product, covering both + standard (e.g., title, description) and custom fields tailored to the + product setup. + source: + openapi: v2-data.yml + ProductsCreateRequestSkuFieldDataPrice: + docs: price of SKU + properties: + value: + type: optional + docs: Price of SKU + unit: + type: optional + docs: Currency of Item + source: + openapi: v2-data.yml + ProductsCreateRequestSkuFieldDataCompareAtPrice: + docs: comparison price of SKU + properties: + value: + type: optional + docs: Price of SKU + unit: + type: optional + docs: Currency of Item + source: + openapi: v2-data.yml + ProductsCreateRequestSkuFieldDataEcSkuBillingMethod: + enum: + - value: one-time + name: OneTime + - subscription + source: + openapi: v2-data.yml + ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlanInterval: + enum: + - day + - week + - month + - year + docs: Interval of subscription renewal + source: + openapi: v2-data.yml + ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlan: + properties: + interval: + type: >- + optional + docs: Interval of subscription renewal + frequency: + type: optional + docs: Frequncy of billing within interval + trial: + type: optional + docs: Number of days of a trial + source: + openapi: v2-data.yml + ProductsCreateRequestSkuFieldData: + docs: Standard and Custom fields for a SKU + properties: + sku-values: + type: optional> + docs: > + A dictionary that maps a SKU property to a SKU value. The key of the + dictionary is the SKU property ID, and the value is the SKU value ID. + name: + type: string + docs: Name of the Product + slug: + type: string + docs: URL structure of the Product in your site. + price: + type: ProductsCreateRequestSkuFieldDataPrice + docs: price of SKU + compare-at-price: + type: optional + docs: comparison price of SKU + ec-sku-billing-method: optional + ec-sku-subscription-plan: optional + track-inventory: + type: optional + docs: >- + A boolean indicating whether inventory for this product should be + tracked. + default: false + quantity: + type: optional + docs: Quantity of SKU that will be tracked as items are ordered. + source: + openapi: v2-data.yml + ProductsCreateRequestSku: + docs: The SKU object + properties: + fieldData: + type: optional + docs: Standard and Custom fields for a SKU + source: + openapi: v2-data.yml + ProductsCreateResponseProductFieldDataSkuPropertiesItemEnumItem: + docs: Enumerated Product variants/Options for the SKU + properties: + id: + type: string + docs: Unique identifier for a Product variant/Option + name: + type: string + docs: Name of the Product variant/Option + slug: + type: string + docs: Slug for the Product variant/Option in the Site URL structure + source: + openapi: v2-data.yml + ProductsCreateResponseProductFieldDataSkuPropertiesItem: + docs: A variant/option type for a SKU + properties: + id: + type: string + docs: Unique identifier for a collection of Product Variants + name: + type: string + docs: Name of the collection of Product Variants + enum: + docs: >- + The individual Product variants that are contained within the + collection + type: list + source: + openapi: v2-data.yml + ProductsCreateResponseProductFieldDataTaxCategory: + enum: + - value: standard-taxable + name: StandardTaxable + - value: standard-exempt + name: StandardExempt + - value: books-religious + name: BooksReligious + - value: books-textbook + name: BooksTextbook + - clothing + - value: clothing-swimwear + name: ClothingSwimwear + - value: digital-goods + name: DigitalGoods + - value: digital-service + name: DigitalService + - value: drugs-non-prescription + name: DrugsNonPrescription + - value: drugs-prescription + name: DrugsPrescription + - value: food-bottled-water + name: FoodBottledWater + - value: food-candy + name: FoodCandy + - value: food-groceries + name: FoodGroceries + - value: food-prepared + name: FoodPrepared + - value: food-soda + name: FoodSoda + - value: food-supplements + name: FoodSupplements + - value: magazine-individual + name: MagazineIndividual + - value: magazine-subscription + name: MagazineSubscription + - value: service-admission + name: ServiceAdmission + - value: service-advertising + name: ServiceAdvertising + - value: service-dry-cleaning + name: ServiceDryCleaning + - value: service-hairdressing + name: ServiceHairdressing + - value: service-installation + name: ServiceInstallation + - value: service-miscellaneous + name: ServiceMiscellaneous + - value: service-parking + name: ServiceParking + - value: service-printing + name: ServicePrinting + - value: service-professional + name: ServiceProfessional + - value: service-repair + name: ServiceRepair + - value: service-training + name: ServiceTraining + docs: Product tax class + source: + openapi: v2-data.yml + ProductsCreateResponseProductFieldDataEcProductType: + enum: + - ff42fee0113744f693a764e3431a9cc2 + - f22027db68002190aef89a4a2b7ac8a1 + - c599e43b1a1c34d5a323aedf75d3adf6 + - b6ccc1830db4b1babeb06a9ac5f6dd76 + docs: >- + Product + types. Enums reflect the following values in order: Physical, Digital, + Service, Advanced" + source: + openapi: v2-data.yml + ProductsCreateResponseProductFieldData: + docs: >- + Contains content-specific details for a product, covering both standard + (e.g., title, description) and custom fields tailored to the product + setup. + properties: + name: + type: optional + docs: Name of the Product + slug: + type: optional + docs: URL structure of the Product in your site. + description: + type: optional + docs: A description of your product + shippable: + type: optional + docs: Boolean determining if the Product is shippable + sku-properties: + type: >- + optional> + docs: Variant types to include in SKUs + categories: + type: optional> + docs: The categories your product belongs to. + tax-category: + type: optional + docs: Product tax class + default-sku: + type: optional + docs: The default SKU associated with this product. + ec-product-type: + type: optional + docs: >- + Product + types. Enums reflect the following values in order: Physical, + Digital, Service, Advanced" + source: + openapi: v2-data.yml + ProductsCreateResponseProduct: + docs: The Product object + properties: + id: + type: optional + docs: Unique identifier for the Product + cmsLocaleId: + type: optional + docs: Identifier for the locale of the CMS item + lastPublished: + type: optional + docs: The date the Product was last published + lastUpdated: + type: optional + docs: The date the Product was last updated + createdOn: + type: optional + docs: The date the Product was created + isArchived: + type: optional + docs: Boolean determining if the Product is set to archived + default: false + isDraft: + type: optional + docs: Boolean determining if the Product is set to draft + default: false + fieldData: + type: optional + docs: >- + Contains content-specific details for a product, covering both + standard (e.g., title, description) and custom fields tailored to the + product setup. + source: + openapi: v2-data.yml + ProductsCreateResponseSkusItemFieldDataPrice: + docs: price of SKU + properties: + value: + type: optional + docs: Price of SKU + unit: + type: optional + docs: Currency of Item + source: + openapi: v2-data.yml + ProductsCreateResponseSkusItemFieldDataCompareAtPrice: + docs: comparison price of SKU + properties: + value: + type: optional + docs: Price of SKU + unit: + type: optional + docs: Currency of Item + source: + openapi: v2-data.yml + ProductsCreateResponseSkusItemFieldDataEcSkuBillingMethod: + enum: + - value: one-time + name: OneTime + - subscription + source: + openapi: v2-data.yml + ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval: + enum: + - day + - week + - month + - year + docs: Interval of subscription renewal + source: + openapi: v2-data.yml + ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus: + enum: + - active + - inactive + - canceled + docs: The status of the plan + source: + openapi: v2-data.yml + ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem: + properties: + platform: + type: optional> + docs: The platform of the subscription plan + id: + type: optional + docs: The unique identifier of the plan + status: + type: >- + optional + docs: The status of the plan + source: + openapi: v2-data.yml + ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlan: + properties: + interval: + type: >- + optional + docs: Interval of subscription renewal + frequency: + type: optional + docs: Frequncy of billing within interval + trial: + type: optional + docs: Number of days of a trial + plans: >- + optional> + source: + openapi: v2-data.yml + ProductsCreateResponseSkusItemFieldData: + docs: Standard and Custom fields for a SKU + properties: + sku-values: + type: optional> + docs: > + A dictionary that maps a SKU property to a SKU value. The key of the + dictionary is the SKU property ID, and the value is the SKU value ID. + name: + type: string + docs: Name of the Product + slug: + type: string + docs: URL structure of the Product in your site. + price: + type: ProductsCreateResponseSkusItemFieldDataPrice + docs: price of SKU + compare-at-price: + type: optional + docs: comparison price of SKU + ec-sku-billing-method: optional + ec-sku-subscription-plan: optional + track-inventory: + type: optional + docs: >- + A boolean indicating whether inventory for this product should be + tracked. + default: false + quantity: + type: optional + docs: Quantity of SKU that will be tracked as items are ordered. + source: + openapi: v2-data.yml + ProductsCreateResponseSkusItem: + docs: The SKU object + properties: + id: + type: optional + docs: Unique identifier for the Product + cmsLocaleId: + type: optional + docs: Identifier for the locale of the CMS item + lastPublished: + type: optional + docs: The date the Product was last published + lastUpdated: + type: optional + docs: The date the Product was last updated + createdOn: + type: optional + docs: The date the Product was created + fieldData: + type: optional + docs: Standard and Custom fields for a SKU + source: + openapi: v2-data.yml + ProductsCreateResponse: + docs: A product and its SKUs. + properties: + product: + type: optional + docs: The Product object + skus: + type: optional> + docs: A list of SKU Objects + source: + openapi: v2-data.yml + ProductsGetResponseProductFieldDataSkuPropertiesItemEnumItem: + docs: Enumerated Product variants/Options for the SKU + properties: + id: + type: string + docs: Unique identifier for a Product variant/Option + name: + type: string + docs: Name of the Product variant/Option + slug: + type: string + docs: Slug for the Product variant/Option in the Site URL structure + source: + openapi: v2-data.yml + ProductsGetResponseProductFieldDataSkuPropertiesItem: + docs: A variant/option type for a SKU + properties: + id: + type: string + docs: Unique identifier for a collection of Product Variants + name: + type: string + docs: Name of the collection of Product Variants + enum: + docs: >- + The individual Product variants that are contained within the + collection + type: list + source: + openapi: v2-data.yml + ProductsGetResponseProductFieldDataTaxCategory: + enum: + - value: standard-taxable + name: StandardTaxable + - value: standard-exempt + name: StandardExempt + - value: books-religious + name: BooksReligious + - value: books-textbook + name: BooksTextbook + - clothing + - value: clothing-swimwear + name: ClothingSwimwear + - value: digital-goods + name: DigitalGoods + - value: digital-service + name: DigitalService + - value: drugs-non-prescription + name: DrugsNonPrescription + - value: drugs-prescription + name: DrugsPrescription + - value: food-bottled-water + name: FoodBottledWater + - value: food-candy + name: FoodCandy + - value: food-groceries + name: FoodGroceries + - value: food-prepared + name: FoodPrepared + - value: food-soda + name: FoodSoda + - value: food-supplements + name: FoodSupplements + - value: magazine-individual + name: MagazineIndividual + - value: magazine-subscription + name: MagazineSubscription + - value: service-admission + name: ServiceAdmission + - value: service-advertising + name: ServiceAdvertising + - value: service-dry-cleaning + name: ServiceDryCleaning + - value: service-hairdressing + name: ServiceHairdressing + - value: service-installation + name: ServiceInstallation + - value: service-miscellaneous + name: ServiceMiscellaneous + - value: service-parking + name: ServiceParking + - value: service-printing + name: ServicePrinting + - value: service-professional + name: ServiceProfessional + - value: service-repair + name: ServiceRepair + - value: service-training + name: ServiceTraining + docs: Product tax class + source: + openapi: v2-data.yml + ProductsGetResponseProductFieldDataEcProductType: + enum: + - ff42fee0113744f693a764e3431a9cc2 + - f22027db68002190aef89a4a2b7ac8a1 + - c599e43b1a1c34d5a323aedf75d3adf6 + - b6ccc1830db4b1babeb06a9ac5f6dd76 + docs: >- + Product + types. Enums reflect the following values in order: Physical, Digital, + Service, Advanced" + source: + openapi: v2-data.yml + ProductsGetResponseProductFieldData: + docs: >- + Contains content-specific details for a product, covering both standard + (e.g., title, description) and custom fields tailored to the product + setup. + properties: + name: + type: optional + docs: Name of the Product + slug: + type: optional + docs: URL structure of the Product in your site. + description: + type: optional + docs: A description of your product + shippable: + type: optional + docs: Boolean determining if the Product is shippable + sku-properties: + type: optional> + docs: Variant types to include in SKUs + categories: + type: optional> + docs: The categories your product belongs to. + tax-category: + type: optional + docs: Product tax class + default-sku: + type: optional + docs: The default SKU associated with this product. + ec-product-type: + type: optional + docs: >- + Product + types. Enums reflect the following values in order: Physical, + Digital, Service, Advanced" + source: + openapi: v2-data.yml + ProductsGetResponseProduct: + docs: The Product object + properties: + id: + type: optional + docs: Unique identifier for the Product + cmsLocaleId: + type: optional + docs: Identifier for the locale of the CMS item + lastPublished: + type: optional + docs: The date the Product was last published + lastUpdated: + type: optional + docs: The date the Product was last updated + createdOn: + type: optional + docs: The date the Product was created + isArchived: + type: optional + docs: Boolean determining if the Product is set to archived + default: false + isDraft: + type: optional + docs: Boolean determining if the Product is set to draft + default: false + fieldData: + type: optional + docs: >- + Contains content-specific details for a product, covering both + standard (e.g., title, description) and custom fields tailored to the + product setup. + source: + openapi: v2-data.yml + ProductsGetResponseSkusItemFieldDataPrice: + docs: price of SKU + properties: + value: + type: optional + docs: Price of SKU + unit: + type: optional + docs: Currency of Item + source: + openapi: v2-data.yml + ProductsGetResponseSkusItemFieldDataCompareAtPrice: + docs: comparison price of SKU + properties: + value: + type: optional + docs: Price of SKU + unit: + type: optional + docs: Currency of Item + source: + openapi: v2-data.yml + ProductsGetResponseSkusItemFieldDataEcSkuBillingMethod: + enum: + - value: one-time + name: OneTime + - subscription + source: + openapi: v2-data.yml + ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval: + enum: + - day + - week + - month + - year + docs: Interval of subscription renewal + source: + openapi: v2-data.yml + ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus: + enum: + - active + - inactive + - canceled + docs: The status of the plan + source: + openapi: v2-data.yml + ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem: + properties: + platform: + type: optional> + docs: The platform of the subscription plan + id: + type: optional + docs: The unique identifier of the plan + status: + type: >- + optional + docs: The status of the plan + source: + openapi: v2-data.yml + ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlan: + properties: + interval: + type: >- + optional + docs: Interval of subscription renewal + frequency: + type: optional + docs: Frequncy of billing within interval + trial: + type: optional + docs: Number of days of a trial + plans: >- + optional> + source: + openapi: v2-data.yml + ProductsGetResponseSkusItemFieldData: + docs: Standard and Custom fields for a SKU + properties: + sku-values: + type: optional> + docs: > + A dictionary that maps a SKU property to a SKU value. The key of the + dictionary is the SKU property ID, and the value is the SKU value ID. + name: + type: string + docs: Name of the Product + slug: + type: string + docs: URL structure of the Product in your site. + price: + type: ProductsGetResponseSkusItemFieldDataPrice + docs: price of SKU + compare-at-price: + type: optional + docs: comparison price of SKU + ec-sku-billing-method: optional + ec-sku-subscription-plan: optional + track-inventory: + type: optional + docs: >- + A boolean indicating whether inventory for this product should be + tracked. + default: false + quantity: + type: optional + docs: Quantity of SKU that will be tracked as items are ordered. + source: + openapi: v2-data.yml + ProductsGetResponseSkusItem: + docs: The SKU object + properties: + id: + type: optional + docs: Unique identifier for the Product + cmsLocaleId: + type: optional + docs: Identifier for the locale of the CMS item + lastPublished: + type: optional + docs: The date the Product was last published + lastUpdated: + type: optional + docs: The date the Product was last updated + createdOn: + type: optional + docs: The date the Product was created + fieldData: + type: optional + docs: Standard and Custom fields for a SKU + source: + openapi: v2-data.yml + ProductsGetResponse: + docs: A product and its SKUs. + properties: + product: + type: optional + docs: The Product object + skus: + type: optional> + docs: A list of SKU Objects + source: + openapi: v2-data.yml + ProductsUpdateRequestPublishStatus: + enum: + - staging + - live + docs: Indicate whether your Product should be set as "staging" or "live" + default: staging + source: + openapi: v2-data.yml + ProductsUpdateRequestProductFieldDataSkuPropertiesItemEnumItem: + docs: Enumerated Product variants/Options for the SKU + properties: + id: + type: string + docs: Unique identifier for a Product variant/Option + name: + type: string + docs: Name of the Product variant/Option + slug: + type: string + docs: Slug for the Product variant/Option in the Site URL structure + source: + openapi: v2-data.yml + ProductsUpdateRequestProductFieldDataSkuPropertiesItem: + docs: A variant/option type for a SKU + properties: + id: + type: string + docs: Unique identifier for a collection of Product Variants + name: + type: string + docs: Name of the collection of Product Variants + enum: + docs: >- + The individual Product variants that are contained within the + collection + type: list + source: + openapi: v2-data.yml + ProductsUpdateRequestProductFieldDataTaxCategory: + enum: + - value: standard-taxable + name: StandardTaxable + - value: standard-exempt + name: StandardExempt + - value: books-religious + name: BooksReligious + - value: books-textbook + name: BooksTextbook + - clothing + - value: clothing-swimwear + name: ClothingSwimwear + - value: digital-goods + name: DigitalGoods + - value: digital-service + name: DigitalService + - value: drugs-non-prescription + name: DrugsNonPrescription + - value: drugs-prescription + name: DrugsPrescription + - value: food-bottled-water + name: FoodBottledWater + - value: food-candy + name: FoodCandy + - value: food-groceries + name: FoodGroceries + - value: food-prepared + name: FoodPrepared + - value: food-soda + name: FoodSoda + - value: food-supplements + name: FoodSupplements + - value: magazine-individual + name: MagazineIndividual + - value: magazine-subscription + name: MagazineSubscription + - value: service-admission + name: ServiceAdmission + - value: service-advertising + name: ServiceAdvertising + - value: service-dry-cleaning + name: ServiceDryCleaning + - value: service-hairdressing + name: ServiceHairdressing + - value: service-installation + name: ServiceInstallation + - value: service-miscellaneous + name: ServiceMiscellaneous + - value: service-parking + name: ServiceParking + - value: service-printing + name: ServicePrinting + - value: service-professional + name: ServiceProfessional + - value: service-repair + name: ServiceRepair + - value: service-training + name: ServiceTraining + docs: Product tax class + source: + openapi: v2-data.yml + ProductsUpdateRequestProductFieldDataEcProductType: + enum: + - ff42fee0113744f693a764e3431a9cc2 + - f22027db68002190aef89a4a2b7ac8a1 + - c599e43b1a1c34d5a323aedf75d3adf6 + - b6ccc1830db4b1babeb06a9ac5f6dd76 + docs: >- + Product + types. Enums reflect the following values in order: Physical, Digital, + Service, Advanced" + source: + openapi: v2-data.yml + ProductsUpdateRequestProductFieldData: + docs: >- + Contains content-specific details for a product, covering both standard + (e.g., title, description) and custom fields tailored to the product + setup. + properties: + name: + type: optional + docs: Name of the Product + slug: + type: optional + docs: URL structure of the Product in your site. + description: + type: optional + docs: A description of your product + shippable: + type: optional + docs: Boolean determining if the Product is shippable + sku-properties: + type: optional> + docs: Variant types to include in SKUs + categories: + type: optional> + docs: The categories your product belongs to. + tax-category: + type: optional + docs: Product tax class + default-sku: + type: optional + docs: The default SKU associated with this product. + ec-product-type: + type: optional + docs: >- + Product + types. Enums reflect the following values in order: Physical, + Digital, Service, Advanced" + source: + openapi: v2-data.yml + ProductsUpdateRequestProduct: + docs: The Product object + properties: + isArchived: + type: optional + docs: Boolean determining if the Product is set to archived + default: false + isDraft: + type: optional + docs: Boolean determining if the Product is set to draft + default: false + fieldData: + type: optional + docs: >- + Contains content-specific details for a product, covering both + standard (e.g., title, description) and custom fields tailored to the + product setup. + source: + openapi: v2-data.yml + ProductsUpdateRequestSkuFieldDataPrice: + docs: price of SKU + properties: + value: + type: optional + docs: Price of SKU + unit: + type: optional + docs: Currency of Item + source: + openapi: v2-data.yml + ProductsUpdateRequestSkuFieldDataCompareAtPrice: + docs: comparison price of SKU + properties: + value: + type: optional + docs: Price of SKU + unit: + type: optional + docs: Currency of Item + source: + openapi: v2-data.yml + ProductsUpdateRequestSkuFieldDataEcSkuBillingMethod: + enum: + - value: one-time + name: OneTime + - subscription + source: + openapi: v2-data.yml + ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlanInterval: + enum: + - day + - week + - month + - year + docs: Interval of subscription renewal + source: + openapi: v2-data.yml + ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlan: + properties: + interval: + type: >- + optional + docs: Interval of subscription renewal + frequency: + type: optional + docs: Frequncy of billing within interval + trial: + type: optional + docs: Number of days of a trial + source: + openapi: v2-data.yml + ProductsUpdateRequestSkuFieldData: + docs: Standard and Custom fields for a SKU + properties: + sku-values: + type: optional> + docs: > + A dictionary that maps a SKU property to a SKU value. The key of the + dictionary is the SKU property ID, and the value is the SKU value ID. + name: + type: string + docs: Name of the Product + slug: + type: string + docs: URL structure of the Product in your site. + price: + type: ProductsUpdateRequestSkuFieldDataPrice + docs: price of SKU + compare-at-price: + type: optional + docs: comparison price of SKU + ec-sku-billing-method: optional + ec-sku-subscription-plan: optional + track-inventory: + type: optional + docs: >- + A boolean indicating whether inventory for this product should be + tracked. + default: false + quantity: + type: optional + docs: Quantity of SKU that will be tracked as items are ordered. + source: + openapi: v2-data.yml + ProductsUpdateRequestSku: + docs: The SKU object + properties: + fieldData: + type: optional + docs: Standard and Custom fields for a SKU + source: + openapi: v2-data.yml + ProductsUpdateResponseFieldDataSkuPropertiesItemEnumItem: + docs: Enumerated Product variants/Options for the SKU + properties: + id: + type: string + docs: Unique identifier for a Product variant/Option + name: + type: string + docs: Name of the Product variant/Option + slug: + type: string + docs: Slug for the Product variant/Option in the Site URL structure + source: + openapi: v2-data.yml + ProductsUpdateResponseFieldDataSkuPropertiesItem: + docs: A variant/option type for a SKU + properties: + id: + type: string + docs: Unique identifier for a collection of Product Variants + name: + type: string + docs: Name of the collection of Product Variants + enum: + docs: >- + The individual Product variants that are contained within the + collection + type: list + source: + openapi: v2-data.yml + ProductsUpdateResponseFieldDataTaxCategory: + enum: + - value: standard-taxable + name: StandardTaxable + - value: standard-exempt + name: StandardExempt + - value: books-religious + name: BooksReligious + - value: books-textbook + name: BooksTextbook + - clothing + - value: clothing-swimwear + name: ClothingSwimwear + - value: digital-goods + name: DigitalGoods + - value: digital-service + name: DigitalService + - value: drugs-non-prescription + name: DrugsNonPrescription + - value: drugs-prescription + name: DrugsPrescription + - value: food-bottled-water + name: FoodBottledWater + - value: food-candy + name: FoodCandy + - value: food-groceries + name: FoodGroceries + - value: food-prepared + name: FoodPrepared + - value: food-soda + name: FoodSoda + - value: food-supplements + name: FoodSupplements + - value: magazine-individual + name: MagazineIndividual + - value: magazine-subscription + name: MagazineSubscription + - value: service-admission + name: ServiceAdmission + - value: service-advertising + name: ServiceAdvertising + - value: service-dry-cleaning + name: ServiceDryCleaning + - value: service-hairdressing + name: ServiceHairdressing + - value: service-installation + name: ServiceInstallation + - value: service-miscellaneous + name: ServiceMiscellaneous + - value: service-parking + name: ServiceParking + - value: service-printing + name: ServicePrinting + - value: service-professional + name: ServiceProfessional + - value: service-repair + name: ServiceRepair + - value: service-training + name: ServiceTraining + docs: Product tax class + source: + openapi: v2-data.yml + ProductsUpdateResponseFieldDataEcProductType: + enum: + - ff42fee0113744f693a764e3431a9cc2 + - f22027db68002190aef89a4a2b7ac8a1 + - c599e43b1a1c34d5a323aedf75d3adf6 + - b6ccc1830db4b1babeb06a9ac5f6dd76 + docs: >- + Product + types. Enums reflect the following values in order: Physical, Digital, + Service, Advanced" + source: + openapi: v2-data.yml + ProductsUpdateResponseFieldData: + docs: >- + Contains content-specific details for a product, covering both standard + (e.g., title, description) and custom fields tailored to the product + setup. + properties: + name: + type: optional + docs: Name of the Product + slug: + type: optional + docs: URL structure of the Product in your site. + description: + type: optional + docs: A description of your product + shippable: + type: optional + docs: Boolean determining if the Product is shippable + sku-properties: + type: optional> + docs: Variant types to include in SKUs + categories: + type: optional> + docs: The categories your product belongs to. + tax-category: + type: optional + docs: Product tax class + default-sku: + type: optional + docs: The default SKU associated with this product. + ec-product-type: + type: optional + docs: >- + Product + types. Enums reflect the following values in order: Physical, + Digital, Service, Advanced" + source: + openapi: v2-data.yml + ProductsUpdateResponse: + docs: The Product object + properties: + id: + type: optional + docs: Unique identifier for the Product + cmsLocaleId: + type: optional + docs: Identifier for the locale of the CMS item + lastPublished: + type: optional + docs: The date the Product was last published + lastUpdated: + type: optional + docs: The date the Product was last updated + createdOn: + type: optional + docs: The date the Product was created + isArchived: + type: optional + docs: Boolean determining if the Product is set to archived + default: false + isDraft: + type: optional + docs: Boolean determining if the Product is set to draft + default: false + fieldData: + type: optional + docs: >- + Contains content-specific details for a product, covering both + standard (e.g., title, description) and custom fields tailored to the + product setup. + source: + openapi: v2-data.yml + ProductsCreateSkuRequestPublishStatus: + enum: + - staging + - live + docs: Indicate whether your Product should be set as "staging" or "live" + default: staging + source: + openapi: v2-data.yml + ProductsCreateSkuRequestSkusItemFieldDataPrice: + docs: price of SKU + properties: + value: + type: optional + docs: Price of SKU + unit: + type: optional + docs: Currency of Item + source: + openapi: v2-data.yml + ProductsCreateSkuRequestSkusItemFieldDataCompareAtPrice: + docs: comparison price of SKU + properties: + value: + type: optional + docs: Price of SKU + unit: + type: optional + docs: Currency of Item + source: + openapi: v2-data.yml + ProductsCreateSkuRequestSkusItemFieldDataEcSkuBillingMethod: + enum: + - value: one-time + name: OneTime + - subscription + source: + openapi: v2-data.yml + ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlanInterval: + enum: + - day + - week + - month + - year + docs: Interval of subscription renewal + source: + openapi: v2-data.yml + ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlan: + properties: + interval: + type: >- + optional + docs: Interval of subscription renewal + frequency: + type: optional + docs: Frequncy of billing within interval + trial: + type: optional + docs: Number of days of a trial + source: + openapi: v2-data.yml + ProductsCreateSkuRequestSkusItemFieldData: + docs: Standard and Custom fields for a SKU + properties: + sku-values: + type: optional> + docs: > + A dictionary that maps a SKU property to a SKU value. The key of the + dictionary is the SKU property ID, and the value is the SKU value ID. + name: + type: string + docs: Name of the Product + slug: + type: string + docs: URL structure of the Product in your site. + price: + type: ProductsCreateSkuRequestSkusItemFieldDataPrice + docs: price of SKU + compare-at-price: + type: optional + docs: comparison price of SKU + ec-sku-billing-method: optional + ec-sku-subscription-plan: optional + track-inventory: + type: optional + docs: >- + A boolean indicating whether inventory for this product should be + tracked. + default: false + quantity: + type: optional + docs: Quantity of SKU that will be tracked as items are ordered. + source: + openapi: v2-data.yml + ProductsCreateSkuRequestSkusItem: + docs: The SKU object + properties: + fieldData: + type: optional + docs: Standard and Custom fields for a SKU + source: + openapi: v2-data.yml + ProductsCreateSkuResponseSkusItemFieldDataPrice: + docs: price of SKU + properties: + value: + type: optional + docs: Price of SKU + unit: + type: optional + docs: Currency of Item + source: + openapi: v2-data.yml + ProductsCreateSkuResponseSkusItemFieldDataCompareAtPrice: + docs: comparison price of SKU + properties: + value: + type: optional + docs: Price of SKU + unit: + type: optional + docs: Currency of Item + source: + openapi: v2-data.yml + ProductsCreateSkuResponseSkusItemFieldDataEcSkuBillingMethod: + enum: + - value: one-time + name: OneTime + - subscription + source: + openapi: v2-data.yml + ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval: + enum: + - day + - week + - month + - year + docs: Interval of subscription renewal + source: + openapi: v2-data.yml + ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus: + enum: + - active + - inactive + - canceled + docs: The status of the plan + source: + openapi: v2-data.yml + ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem: + properties: + platform: + type: optional> + docs: The platform of the subscription plan + id: + type: optional + docs: The unique identifier of the plan + status: + type: >- + optional + docs: The status of the plan + source: + openapi: v2-data.yml + ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlan: + properties: + interval: + type: >- + optional + docs: Interval of subscription renewal + frequency: + type: optional + docs: Frequncy of billing within interval + trial: + type: optional + docs: Number of days of a trial + plans: >- + optional> + source: + openapi: v2-data.yml + ProductsCreateSkuResponseSkusItemFieldData: + docs: Standard and Custom fields for a SKU + properties: + sku-values: + type: optional> + docs: > + A dictionary that maps a SKU property to a SKU value. The key of the + dictionary is the SKU property ID, and the value is the SKU value ID. + name: + type: string + docs: Name of the Product + slug: + type: string + docs: URL structure of the Product in your site. + price: + type: ProductsCreateSkuResponseSkusItemFieldDataPrice + docs: price of SKU + compare-at-price: + type: optional + docs: comparison price of SKU + ec-sku-billing-method: optional + ec-sku-subscription-plan: >- + optional + track-inventory: + type: optional + docs: >- + A boolean indicating whether inventory for this product should be + tracked. + default: false + quantity: + type: optional + docs: Quantity of SKU that will be tracked as items are ordered. + source: + openapi: v2-data.yml + ProductsCreateSkuResponseSkusItem: + docs: The SKU object + properties: + id: + type: optional + docs: Unique identifier for the Product + cmsLocaleId: + type: optional + docs: Identifier for the locale of the CMS item + lastPublished: + type: optional + docs: The date the Product was last published + lastUpdated: + type: optional + docs: The date the Product was last updated + createdOn: + type: optional + docs: The date the Product was created + fieldData: + type: optional + docs: Standard and Custom fields for a SKU + source: + openapi: v2-data.yml + ProductsCreateSkuResponse: + properties: + skus: optional> + source: + openapi: v2-data.yml + ProductsUpdateSkuRequestPublishStatus: + enum: + - staging + - live + docs: Indicate whether your Product should be set as "staging" or "live" + default: staging + source: + openapi: v2-data.yml + ProductsUpdateSkuRequestSkuFieldDataPrice: + docs: price of SKU + properties: + value: + type: optional + docs: Price of SKU + unit: + type: optional + docs: Currency of Item + source: + openapi: v2-data.yml + ProductsUpdateSkuRequestSkuFieldDataCompareAtPrice: + docs: comparison price of SKU + properties: + value: + type: optional + docs: Price of SKU + unit: + type: optional + docs: Currency of Item + source: + openapi: v2-data.yml + ProductsUpdateSkuRequestSkuFieldDataEcSkuBillingMethod: + enum: + - value: one-time + name: OneTime + - subscription + source: + openapi: v2-data.yml + ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlanInterval: + enum: + - day + - week + - month + - year + docs: Interval of subscription renewal + source: + openapi: v2-data.yml + ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlan: + properties: + interval: + type: >- + optional + docs: Interval of subscription renewal + frequency: + type: optional + docs: Frequncy of billing within interval + trial: + type: optional + docs: Number of days of a trial + source: + openapi: v2-data.yml + ProductsUpdateSkuRequestSkuFieldData: + docs: Standard and Custom fields for a SKU + properties: + sku-values: + type: optional> + docs: > + A dictionary that maps a SKU property to a SKU value. The key of the + dictionary is the SKU property ID, and the value is the SKU value ID. + name: + type: string + docs: Name of the Product + slug: + type: string + docs: URL structure of the Product in your site. + price: + type: ProductsUpdateSkuRequestSkuFieldDataPrice + docs: price of SKU + compare-at-price: + type: optional + docs: comparison price of SKU + ec-sku-billing-method: optional + ec-sku-subscription-plan: optional + track-inventory: + type: optional + docs: >- + A boolean indicating whether inventory for this product should be + tracked. + default: false + quantity: + type: optional + docs: Quantity of SKU that will be tracked as items are ordered. + source: + openapi: v2-data.yml + ProductsUpdateSkuRequestSku: + docs: The SKU object + properties: + fieldData: + type: optional + docs: Standard and Custom fields for a SKU + source: + openapi: v2-data.yml + ProductsUpdateSkuResponseFieldDataPrice: + docs: price of SKU + properties: + value: + type: optional + docs: Price of SKU + unit: + type: optional + docs: Currency of Item + source: + openapi: v2-data.yml + ProductsUpdateSkuResponseFieldDataCompareAtPrice: + docs: comparison price of SKU + properties: + value: + type: optional + docs: Price of SKU + unit: + type: optional + docs: Currency of Item + source: + openapi: v2-data.yml + ProductsUpdateSkuResponseFieldDataEcSkuBillingMethod: + enum: + - value: one-time + name: OneTime + - subscription + source: + openapi: v2-data.yml + ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanInterval: + enum: + - day + - week + - month + - year + docs: Interval of subscription renewal + source: + openapi: v2-data.yml + ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItemStatus: + enum: + - active + - inactive + - canceled + docs: The status of the plan + source: + openapi: v2-data.yml + ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItem: + properties: + platform: + type: optional> + docs: The platform of the subscription plan + id: + type: optional + docs: The unique identifier of the plan + status: + type: >- + optional + docs: The status of the plan + source: + openapi: v2-data.yml + ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlan: + properties: + interval: + type: >- + optional + docs: Interval of subscription renewal + frequency: + type: optional + docs: Frequncy of billing within interval + trial: + type: optional + docs: Number of days of a trial + plans: >- + optional> + source: + openapi: v2-data.yml + ProductsUpdateSkuResponseFieldData: + docs: Standard and Custom fields for a SKU + properties: + sku-values: + type: optional> + docs: > + A dictionary that maps a SKU property to a SKU value. The key of the + dictionary is the SKU property ID, and the value is the SKU value ID. + name: + type: string + docs: Name of the Product + slug: + type: string + docs: URL structure of the Product in your site. + price: + type: ProductsUpdateSkuResponseFieldDataPrice + docs: price of SKU + compare-at-price: + type: optional + docs: comparison price of SKU + ec-sku-billing-method: optional + ec-sku-subscription-plan: optional + track-inventory: + type: optional + docs: >- + A boolean indicating whether inventory for this product should be + tracked. + default: false + quantity: + type: optional + docs: Quantity of SKU that will be tracked as items are ordered. + source: + openapi: v2-data.yml + ProductsUpdateSkuResponse: + docs: The SKU object + properties: + id: + type: optional + docs: Unique identifier for the Product + cmsLocaleId: + type: optional + docs: Identifier for the locale of the CMS item + lastPublished: + type: optional + docs: The date the Product was last published + lastUpdated: + type: optional + docs: The date the Product was last updated + createdOn: + type: optional + docs: The date the Product was created + fieldData: + type: optional + docs: Standard and Custom fields for a SKU + source: + openapi: v2-data.yml +imports: + root: __package__.yml +service: + auth: false + base-path: '' + endpoints: + list: + path: /sites/{site_id}/products + method: GET + auth: true + docs: > + Retrieve all products for a site. + + + Use `limit` and `offset` to page through all products with subsequent + requests. All SKUs for each product + + will also be fetched and returned. The `limit`, `offset` and `total` + values represent Products only and do not include any SKUs. + + + Required scope | `ecommerce:read` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + display-name: List Products & SKUs + request: + name: ProductsListRequest + query-parameters: + offset: + type: optional + docs: >- + Offset used for pagination if the results have more than limit + records + limit: + type: optional + docs: 'Maximum number of records to be returned (max limit: 100)' + response: + docs: Request was successful + type: ProductsListResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.ConflictError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + response: + body: + items: + - product: + id: 660eb7a486d1d6e0412292d7 + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2024-04-04T14:24:19Z' + lastUpdated: '2024-04-04T14:30:19Z' + createdOn: '2024-04-04T14:22:28Z' + isArchived: false + isDraft: false + fieldData: + name: T-Shirt + slug: t-shirt + description: A plain t-shirt + shippable: true + sku-properties: + - id: 31b77fa66fa376c2c0abb458d5be39fb + name: Size + enum: + - id: 8d21a625d655ab260e9941c27180c75b + name: Small + slug: small + - id: ecdca17106ad86c0dfe3b5f3ac8be6c9 + name: Medium + slug: medium + - id: ec7877d6137ecf7ec86f726c135b1812 + name: Large + slug: large + - id: 74d3738e62c568d5634dd6989daec5ec + name: Color + enum: + - id: e539b0d6c3a609cd06ddb2da804f68f0 + name: Royal Blue + slug: royal-blue + - id: 68d98f2fbafc0fd45651cddc44798dd0 + name: Crimson Red + slug: crimson-red + - id: 996cd95c97fd5620d0a374c835b37205 + name: Forrest Green + slug: forrest-green + tax-category: standard-taxable + default-sku: 66072fb71b89448912e2681c + ec-product-type: b6ccc1830db4b1babeb06a9ac5f6dd76 + skus: + - id: 580e63fc8c9a982ac9b8b745 + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2023-03-17T18:47:35Z' + lastUpdated: '2023-03-17T18:47:35Z' + createdOn: '2023-03-17T18:47:35Z' + fieldData: + sku-values: + ff42fee0113744f693a764e3431a9cc2: 64a74715c456e36762fc39a1 + name: Blue T-shirt + slug: t-shirt-blue + price: + value: 100 + unit: USD + quantity: 10 + pagination: + limit: 100 + offset: 0 + total: 100 + create: + path: /sites/{site_id}/products + method: POST + auth: true + docs: > + Create a new product and SKU. + + + When you create a product, you will always create a SKU, since a Product + Item must have, at minimum, a single SKU. + + + To create a Product with multiple SKUs - for example a T-shirt in sizes + small, medium and large: + - Create parameters in `sku-properties`, also known as [product options and variants.](https://help.webflow.com/hc/en-us/articles/33961334531347-Create-product-options-and-variants). + - A single `sku-property` would be `color`. Within the `color` property, list the various colors of T-shirts as an array of `enum` values: `royal-blue`, `crimson-red`, and `forrest-green`. + - Once, you've created a Product and its `sku-properties` with `enum` values, Webflow will create a **default SKU**, which will automatically be a combination of the first `sku-properties` you've created. + - In our example, the default SKU will be a Royal Blue T-Shirt, because our first `enum` of our Color `sku-property` is Royal Blue. + - After you've created your product, you can create additional SKUs using the [Create SKU endpoint.](/data/reference/ecommerce/products-sk-us/create-sku) + + Upon creation, the default product type will be `Advanced`, which + ensures all Product and SKU fields will be shown to users in the + Designer. + + + Required scope | `ecommerce:write` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + display-name: Create Product & SKU + request: + name: ProductsCreateRequest + body: + properties: + publishStatus: + type: optional + docs: >- + Indicate whether your Product should be set as "staging" or + "live" + default: staging + product: + type: optional + docs: The Product object + sku: + type: optional + docs: The SKU object + content-type: application/json + response: + docs: Request was successful + type: ProductsCreateResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.ConflictError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + request: {} + response: + body: + product: + id: 660eb7a486d1d6e0412292d7 + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2024-04-04T14:24:19Z' + lastUpdated: '2024-04-04T14:30:19Z' + createdOn: '2024-04-04T14:22:28Z' + isArchived: false + isDraft: false + fieldData: + name: T-Shirt + slug: t-shirt + description: A plain t-shirt + shippable: true + sku-properties: + - id: 31b77fa66fa376c2c0abb458d5be39fb + name: Size + enum: + - id: 8d21a625d655ab260e9941c27180c75b + name: Small + slug: small + - id: ecdca17106ad86c0dfe3b5f3ac8be6c9 + name: Medium + slug: medium + - id: ec7877d6137ecf7ec86f726c135b1812 + name: Large + slug: large + - id: 74d3738e62c568d5634dd6989daec5ec + name: Color + enum: + - id: e539b0d6c3a609cd06ddb2da804f68f0 + name: Royal Blue + slug: royal-blue + - id: 68d98f2fbafc0fd45651cddc44798dd0 + name: Crimson Red + slug: crimson-red + - id: 996cd95c97fd5620d0a374c835b37205 + name: Forrest Green + slug: forrest-green + categories: + - categories + tax-category: standard-taxable + default-sku: 66072fb71b89448912e2681c + ec-product-type: b6ccc1830db4b1babeb06a9ac5f6dd76 + skus: + - id: 580e63fc8c9a982ac9b8b745 + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2023-03-17T18:47:35Z' + lastUpdated: '2023-03-17T18:47:35Z' + createdOn: '2023-03-17T18:47:35Z' + fieldData: + sku-values: + ff42fee0113744f693a764e3431a9cc2: 64a74715c456e36762fc39a1 + name: Blue T-shirt + slug: t-shirt-blue + price: + value: 100 + unit: USD + quantity: 10 + get: + path: /sites/{site_id}/products/{product_id} + method: GET + auth: true + docs: | + Retrieve a single product by its ID. All of its SKUs will also be + retrieved. + + Required scope | `ecommerce:read` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + product_id: + type: string + docs: Unique identifier for a Product + display-name: Get Product and SKUs + response: + docs: Request was successful + type: ProductsGetResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.ConflictError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + product_id: 580e63fc8c9a982ac9b8b745 + response: + body: + product: + id: 660eb7a486d1d6e0412292d7 + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2024-04-04T14:24:19Z' + lastUpdated: '2024-04-04T14:30:19Z' + createdOn: '2024-04-04T14:22:28Z' + isArchived: false + isDraft: false + fieldData: + name: T-Shirt + slug: t-shirt + description: A plain t-shirt + shippable: true + sku-properties: + - id: 31b77fa66fa376c2c0abb458d5be39fb + name: Size + enum: + - id: 8d21a625d655ab260e9941c27180c75b + name: Small + slug: small + - id: ecdca17106ad86c0dfe3b5f3ac8be6c9 + name: Medium + slug: medium + - id: ec7877d6137ecf7ec86f726c135b1812 + name: Large + slug: large + - id: 74d3738e62c568d5634dd6989daec5ec + name: Color + enum: + - id: e539b0d6c3a609cd06ddb2da804f68f0 + name: Royal Blue + slug: royal-blue + - id: 68d98f2fbafc0fd45651cddc44798dd0 + name: Crimson Red + slug: crimson-red + - id: 996cd95c97fd5620d0a374c835b37205 + name: Forrest Green + slug: forrest-green + categories: + - categories + tax-category: standard-taxable + default-sku: 66072fb71b89448912e2681c + ec-product-type: b6ccc1830db4b1babeb06a9ac5f6dd76 + skus: + - id: 580e63fc8c9a982ac9b8b745 + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2023-03-17T18:47:35Z' + lastUpdated: '2023-03-17T18:47:35Z' + createdOn: '2023-03-17T18:47:35Z' + fieldData: + sku-values: + ff42fee0113744f693a764e3431a9cc2: 64a74715c456e36762fc39a1 + name: Blue T-shirt + slug: t-shirt-blue + price: + value: 100 + unit: USD + quantity: 10 + update: + path: /sites/{site_id}/products/{product_id} + method: PATCH + auth: true + docs: > + Update an existing Product. + + + Updating an existing Product will set the product type to `Advanced`, + which ensures all Product and SKU fields will be shown to users in the + Designer. + + + Required scope | `ecommerce:write` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + product_id: + type: string + docs: Unique identifier for a Product + display-name: Update Product + request: + name: ProductsUpdateRequest + body: + properties: + publishStatus: + type: optional + docs: >- + Indicate whether your Product should be set as "staging" or + "live" + default: staging + product: + type: optional + docs: The Product object + sku: + type: optional + docs: The SKU object + content-type: application/json + response: + docs: Request was successful + type: ProductsUpdateResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.ConflictError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + product_id: 580e63fc8c9a982ac9b8b745 + request: {} + response: + body: + id: 660eb7a486d1d6e0412292d7 + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2024-04-04T14:24:19Z' + lastUpdated: '2024-04-04T14:30:19Z' + createdOn: '2024-04-04T14:22:28Z' + isArchived: false + isDraft: false + fieldData: + name: T-Shirt + slug: t-shirt + description: A plain t-shirt + shippable: true + sku-properties: + - id: 31b77fa66fa376c2c0abb458d5be39fb + name: Size + enum: + - id: 8d21a625d655ab260e9941c27180c75b + name: Small + slug: small + - id: ecdca17106ad86c0dfe3b5f3ac8be6c9 + name: Medium + slug: medium + - id: ec7877d6137ecf7ec86f726c135b1812 + name: Large + slug: large + - id: 74d3738e62c568d5634dd6989daec5ec + name: Color + enum: + - id: e539b0d6c3a609cd06ddb2da804f68f0 + name: Royal Blue + slug: royal-blue + - id: 68d98f2fbafc0fd45651cddc44798dd0 + name: Crimson Red + slug: crimson-red + - id: 996cd95c97fd5620d0a374c835b37205 + name: Forrest Green + slug: forrest-green + categories: + - categories + tax-category: standard-taxable + default-sku: 66072fb71b89448912e2681c + ec-product-type: b6ccc1830db4b1babeb06a9ac5f6dd76 + create-sku: + path: /sites/{site_id}/products/{product_id}/skus + method: POST + auth: true + docs: > + Create additional SKUs to manage every [option and variant of your + Product.](https://help.webflow.com/hc/en-us/articles/33961334531347-Create-product-options-and-variants) + + + Creating SKUs through the API will set the product type to `Advanced`, + which ensures all Product and SKU fields will be shown to users in the + Designer. + + + Required scope | `ecommerce:write` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + product_id: + type: string + docs: Unique identifier for a Product + display-name: Create SKU + request: + name: ProductsCreateSkuRequest + body: + properties: + publishStatus: + type: optional + docs: >- + Indicate whether your Product should be set as "staging" or + "live" + default: staging + skus: + docs: An array of the SKU data your are adding + type: list + content-type: application/json + response: + docs: Request was successful + type: ProductsCreateSkuResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.ConflictError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + product_id: 580e63fc8c9a982ac9b8b745 + request: + skus: + - {} + response: + body: + skus: + - id: 580e63fc8c9a982ac9b8b745 + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2023-03-17T18:47:35Z' + lastUpdated: '2023-03-17T18:47:35Z' + createdOn: '2023-03-17T18:47:35Z' + fieldData: + sku-values: + ff42fee0113744f693a764e3431a9cc2: 64a74715c456e36762fc39a1 + name: Blue T-shirt + slug: t-shirt-blue + price: + value: 100 + unit: USD + quantity: 10 + update-sku: + path: /sites/{site_id}/products/{product_id}/skus/{sku_id} + method: PATCH + auth: true + docs: > + Update a specified SKU. + + + Updating an existing SKU will set the Product type to `Advanced`, which + ensures all Product and SKU fields will be shown to users in the + Designer. + + + Required scope | `ecommerce:write` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + product_id: + type: string + docs: Unique identifier for a Product + sku_id: + type: string + docs: Unique identifier for a SKU + display-name: Update SKU + request: + name: ProductsUpdateSkuRequest + body: + properties: + publishStatus: + type: optional + docs: >- + Indicate whether your Product should be set as "staging" or + "live" + default: staging + sku: + type: ProductsUpdateSkuRequestSku + docs: The SKU object + content-type: application/json + response: + docs: Request was successful + type: ProductsUpdateSkuResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.ConflictError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + product_id: 580e63fc8c9a982ac9b8b745 + sku_id: 5e8518516e147040726cc415 + request: + sku: {} + response: + body: + id: 580e63fc8c9a982ac9b8b745 + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2023-03-17T18:47:35Z' + lastUpdated: '2023-03-17T18:47:35Z' + createdOn: '2023-03-17T18:47:35Z' + fieldData: + sku-values: + ff42fee0113744f693a764e3431a9cc2: 64a74715c456e36762fc39a1 + name: Blue T-shirt + slug: t-shirt-blue + price: + value: 100 + unit: USD + compare-at-price: + value: 100 + unit: USD + ec-sku-billing-method: one-time + ec-sku-subscription-plan: + interval: day + frequency: 1 + trial: 7 + plans: + - {} + track-inventory: true + quantity: 10 + source: + openapi: v2-data.yml diff --git a/.mock/definition/scripts.yml b/.mock/definition/scripts.yml new file mode 100644 index 00000000..cd63f826 --- /dev/null +++ b/.mock/definition/scripts.yml @@ -0,0 +1,374 @@ +types: + ScriptsListResponseRegisteredScriptsItem: + docs: Registered custom code for application + properties: + id: + type: optional + docs: Human readable id, derived from the user-specified display name + canCopy: + type: optional + docs: >- + Define whether the script can be copied on site duplication and + transfer + default: false + displayName: + type: optional + docs: >- + User-facing name for the script. Must be between 1 and 50 alphanumeric + characters + hostedLocation: + type: optional + docs: URI for an externally hosted script location + integrityHash: + type: optional + docs: >- + Sub-Resource Integrity Hash. Only required for externally hosted + scripts (passed via hostedLocation) + createdOn: + type: optional + docs: Timestamp when the script version was created + lastUpdated: + type: optional + docs: Timestamp when the script version was last updated + version: + type: optional + docs: A Semantic Version (SemVer) string, denoting the version of the script + source: + openapi: v2-data.yml + ScriptsListResponse: + docs: A list of scripts registered to the site + properties: + registeredScripts: optional> + source: + openapi: v2-data.yml + ScriptsRegisterHostedResponse: + docs: Registered custom code for application + properties: + id: + type: optional + docs: Human readable id, derived from the user-specified display name + canCopy: + type: optional + docs: >- + Define whether the script can be copied on site duplication and + transfer + default: false + displayName: + type: optional + docs: >- + User-facing name for the script. Must be between 1 and 50 alphanumeric + characters + hostedLocation: + type: optional + docs: URI for an externally hosted script location + integrityHash: + type: optional + docs: >- + Sub-Resource Integrity Hash. Only required for externally hosted + scripts (passed via hostedLocation) + createdOn: + type: optional + docs: Timestamp when the script version was created + lastUpdated: + type: optional + docs: Timestamp when the script version was last updated + version: + type: optional + docs: A Semantic Version (SemVer) string, denoting the version of the script + source: + openapi: v2-data.yml + ScriptsRegisterInlineResponse: + docs: Registered custom code for application + properties: + id: + type: optional + docs: Human readable id, derived from the user-specified display name + canCopy: + type: optional + docs: >- + Define whether the script can be copied on site duplication and + transfer + default: false + displayName: + type: optional + docs: >- + User-facing name for the script. Must be between 1 and 50 alphanumeric + characters + hostedLocation: + type: optional + docs: URI for an externally hosted script location + integrityHash: + type: optional + docs: >- + Sub-Resource Integrity Hash. Only required for externally hosted + scripts (passed via hostedLocation) + createdOn: + type: optional + docs: Timestamp when the script version was created + lastUpdated: + type: optional + docs: Timestamp when the script version was last updated + version: + type: optional + docs: A Semantic Version (SemVer) string, denoting the version of the script + source: + openapi: v2-data.yml +imports: + root: __package__.yml +service: + auth: false + base-path: '' + endpoints: + list: + path: /sites/{site_id}/registered_scripts + method: GET + auth: true + docs: > + List of scripts registered to a Site. + + + In order to use the Custom Code APIs for Sites and Pages, Custom Code + Scripts must first be registered + + to a Site via the `registered_scripts` endpoints, and then applied to a + Site or Page using the appropriate + + `custom_code` endpoints. + + Additionally, Scripts can be remotely hosted, or registered as inline + snippets. + +
Access to this + endpoint requires a bearer token from a Data + Client App.
+ + + Required scope | `custom_code:read` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + display-name: Get Registered Scripts + response: + docs: Request was successful + type: ScriptsListResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + response: + body: + registeredScripts: + - id: alert + canCopy: false + displayName: Alert + hostedLocation: https://cdn.webflow.io/.../alert-0.0.1.js + integrityHash: integrityHash + createdOn: '2022-10-26T00:28:54.191Z' + lastUpdated: lastUpdated + version: 0.0.1 + - id: alert + canCopy: false + displayName: Alert + hostedLocation: https://cdn.webflow.io/.../alert-0.0.2.js + integrityHash: integrityHash + createdOn: '2022-10-26T00:28:54.191Z' + lastUpdated: lastUpdated + version: 0.0.2 + - id: cms_slider + canCopy: true + displayName: CMS Slider + hostedLocation: https://cdn.jsdelivr.net/.../cms_slider.js + integrityHash: >- + sha384-J+YlJ8v0gpaRoKH7SbFbEmxOZlAxLiwNjfSsBhDooGa5roXlPPpXbEevck4J7YZ+ + createdOn: '2022-10-26T00:28:54.191Z' + lastUpdated: lastUpdated + version: 1.0.0 + register-hosted: + path: /sites/{site_id}/registered_scripts/hosted + method: POST + auth: true + docs: > + Add a script to a Site's Custom Code registry. + + + In order to use the Custom Code APIs for Sites and Pages, Custom Code + Scripts must first be registered + + to a Site via the `registered_scripts` endpoints, and then applied to a + Site or Page using the appropriate + + `custom_code` endpoints. + + Additionally, Scripts can be remotely hosted, or registered as inline + snippets. + +
Access to this + endpoint requires a bearer token from a Data + Client App.
+ + + Required scope | `custom_code:write` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + display-name: Register Script - Hosted + request: + name: ScriptsRegisterHostedRequest + body: + properties: + hostedLocation: + type: string + docs: URI for an externally hosted script location + integrityHash: + type: string + docs: Sub-Resource Integrity Hash + canCopy: + type: optional + docs: >- + Define whether the script can be copied on site duplication and + transfer + default: false + version: + type: string + docs: >- + A Semantic Version (SemVer) string, denoting the version of the + script + displayName: + type: string + docs: >- + User-facing name for the script. Must be between 1 and 50 + alphanumeric characters + content-type: application/json + response: + docs: Request was successful + type: ScriptsRegisterHostedResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + request: + hostedLocation: https://cdn.jsdelivr.net/.../cmsslider.js + integrityHash: >- + sha384-J+YlJ8v0gpaRoKH7SbFbEmxOZlAxLiwNjfSsBhDooGa5roXlPPpXbEevck4J7YZ+ + canCopy: true + version: 1.0.0 + displayName: CMS Slider + response: + body: + id: cms_slider + canCopy: true + displayName: CMS Slider + hostedLocation: https://cdn.jsdelivr.net/.../cmsslider.js + integrityHash: >- + sha384-J+YlJ8v0gpaRoKH7SbFbEmxOZlAxLiwNjfSsBhDooGa5roXlPPpXbEevck4J7YZ+ + createdOn: '2022-10-26T00:28:54.191Z' + lastUpdated: lastUpdated + version: 1.0.0 + register-inline: + path: /sites/{site_id}/registered_scripts/inline + method: POST + auth: true + docs: > + Add a script to a Site's Custom Code registry. Inline scripts can be + between 1 and 2000 characters. + + + In order to use the Custom Code APIs for Sites and Pages, Custom Code + Scripts must first be registered + + to a Site via the `registered_scripts` endpoints, and then applied to a + Site or Page using the appropriate + + `custom_code` endpoints. + + +
Access to this + endpoint requires a bearer token from a Data + Client App.
+ + + Required scope | `custom_code:write` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + display-name: Register Script - Inline + request: + name: ScriptsRegisterInlineRequest + body: + properties: + sourceCode: + type: string + docs: The code to be added to the site (to be hosted by Webflow). + integrityHash: + type: optional + docs: >- + Sub-Resource Integrity Hash. Only required for externally hosted + scripts (passed via hostedLocation) + canCopy: + type: optional + docs: >- + Define whether the script can be copied on site duplication and + transfer + default: false + version: + type: string + docs: >- + A Semantic Version (SemVer) string, denoting the version of the + script + displayName: + type: string + docs: >- + User-facing name for the script. Must be between 1 and 50 + alphanumeric characters + content-type: application/json + response: + docs: Created + type: ScriptsRegisterInlineResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + request: + sourceCode: alert('hello world'); + version: 0.0.1 + displayName: Alert + response: + body: + id: alert + canCopy: false + displayName: Alert + hostedLocation: >- + https://uploads-ssl.webflow.com/6258612d1ee792848f805dcf%2F64b6c769ff52ba6c3d904a91%2F660d6e15b3d1696f2d2b1447%2Falert-0.0.1.js + integrityHash: integrityHash + createdOn: '2022-10-26T00:28:54.191Z' + lastUpdated: lastUpdated + version: 0.0.1 + source: + openapi: v2-data.yml diff --git a/.mock/definition/sites.yml b/.mock/definition/sites.yml new file mode 100644 index 00000000..5f2a32f0 --- /dev/null +++ b/.mock/definition/sites.yml @@ -0,0 +1,605 @@ +types: + SitesListResponseSitesItemCustomDomainsItem: + properties: + id: + type: string + docs: Unique identifier for the Domain + url: + type: optional + docs: The registered Domain name + source: + openapi: v2-data.yml + SitesListResponseSitesItemLocalesPrimary: + docs: The primary locale for the site or application. + properties: + id: + type: optional + docs: The unique identifier for the locale. + cmsLocaleId: + type: optional + docs: A CMS-specific identifier for the locale. + enabled: + type: optional + docs: Indicates if the locale is enabled. + displayName: + type: optional + docs: The display name of the locale, typically in English. + displayImageId: + type: optional + docs: An optional ID for an image associated with the locale, nullable. + redirect: + type: optional + docs: Determines if requests should redirect to the locale's subdirectory. + subdirectory: + type: optional + docs: The subdirectory path for the locale, used in URLs. + tag: + type: optional + docs: >- + A tag or code representing the locale, often following a standard + format like 'en-US'. + source: + openapi: v2-data.yml + SitesListResponseSitesItemLocalesSecondaryItem: + properties: + id: + type: optional + docs: The unique identifier for the locale. + cmsLocaleId: + type: optional + docs: A CMS-specific identifier for the locale. + enabled: + type: optional + docs: Indicates if the locale is enabled. + displayName: + type: optional + docs: The display name of the locale, typically in English. + displayImageId: + type: optional + docs: An optional ID for an image associated with the locale, nullable. + redirect: + type: optional + docs: Determines if requests should redirect to the locale's subdirectory. + subdirectory: + type: optional + docs: The subdirectory path for the locale, used in URLs. + tag: + type: optional + docs: >- + A tag or code representing the locale, often following a standard + format like 'en-US'. + source: + openapi: v2-data.yml + SitesListResponseSitesItemLocales: + properties: + primary: + type: optional + docs: The primary locale for the site or application. + secondary: + type: optional> + docs: A list of secondary locales available for the site or application. + source: + openapi: v2-data.yml + SitesListResponseSitesItem: + properties: + id: + type: string + docs: Unique identifier for the Site + workspaceId: + type: optional + docs: Unique identifier for the Workspace + createdOn: + type: optional + docs: Date the Site was created + displayName: + type: optional + docs: Name given to Site + shortName: + type: optional + docs: Slugified version of name + lastPublished: + type: optional + docs: Date the Site was last published + lastUpdated: + type: optional + docs: Date the Site was last updated + previewUrl: + type: optional + docs: URL of a generated image for the given Site + validation: + format: uri + timeZone: + type: optional + docs: Site timezone set under Site Settings + parentFolderId: + type: optional + docs: The ID of the parent folder the Site exists in + customDomains: optional> + locales: optional + source: + openapi: v2-data.yml + SitesListResponse: + properties: + sites: optional> + source: + openapi: v2-data.yml + SitesGetResponseCustomDomainsItem: + properties: + id: + type: string + docs: Unique identifier for the Domain + url: + type: optional + docs: The registered Domain name + source: + openapi: v2-data.yml + SitesGetResponseLocalesPrimary: + docs: The primary locale for the site or application. + properties: + id: + type: optional + docs: The unique identifier for the locale. + cmsLocaleId: + type: optional + docs: A CMS-specific identifier for the locale. + enabled: + type: optional + docs: Indicates if the locale is enabled. + displayName: + type: optional + docs: The display name of the locale, typically in English. + displayImageId: + type: optional + docs: An optional ID for an image associated with the locale, nullable. + redirect: + type: optional + docs: Determines if requests should redirect to the locale's subdirectory. + subdirectory: + type: optional + docs: The subdirectory path for the locale, used in URLs. + tag: + type: optional + docs: >- + A tag or code representing the locale, often following a standard + format like 'en-US'. + source: + openapi: v2-data.yml + SitesGetResponseLocalesSecondaryItem: + properties: + id: + type: optional + docs: The unique identifier for the locale. + cmsLocaleId: + type: optional + docs: A CMS-specific identifier for the locale. + enabled: + type: optional + docs: Indicates if the locale is enabled. + displayName: + type: optional + docs: The display name of the locale, typically in English. + displayImageId: + type: optional + docs: An optional ID for an image associated with the locale, nullable. + redirect: + type: optional + docs: Determines if requests should redirect to the locale's subdirectory. + subdirectory: + type: optional + docs: The subdirectory path for the locale, used in URLs. + tag: + type: optional + docs: >- + A tag or code representing the locale, often following a standard + format like 'en-US'. + source: + openapi: v2-data.yml + SitesGetResponseLocales: + properties: + primary: + type: optional + docs: The primary locale for the site or application. + secondary: + type: optional> + docs: A list of secondary locales available for the site or application. + source: + openapi: v2-data.yml + SitesGetResponse: + properties: + id: + type: string + docs: Unique identifier for the Site + workspaceId: + type: optional + docs: Unique identifier for the Workspace + createdOn: + type: optional + docs: Date the Site was created + displayName: + type: optional + docs: Name given to Site + shortName: + type: optional + docs: Slugified version of name + lastPublished: + type: optional + docs: Date the Site was last published + lastUpdated: + type: optional + docs: Date the Site was last updated + previewUrl: + type: optional + docs: URL of a generated image for the given Site + validation: + format: uri + timeZone: + type: optional + docs: Site timezone set under Site Settings + parentFolderId: + type: optional + docs: The ID of the parent folder the Site exists in + customDomains: optional> + locales: optional + source: + openapi: v2-data.yml + SitesGetCustomDomainResponseCustomDomainsItem: + properties: + id: + type: string + docs: Unique identifier for the Domain + url: + type: optional + docs: The registered Domain name + source: + openapi: v2-data.yml + SitesGetCustomDomainResponse: + properties: + customDomains: optional> + source: + openapi: v2-data.yml + SitesPublishResponseCustomDomainsItem: + properties: + id: + type: string + docs: Unique identifier for the Domain + url: + type: optional + docs: The registered Domain name + source: + openapi: v2-data.yml + SitesPublishResponse: + properties: + customDomains: + type: optional> + docs: Array of domains objects + publishToWebflowSubdomain: + type: optional + docs: Flag for publishing to webflow.io subdomain + default: false + source: + openapi: v2-data.yml + SitePublishPayloadPayload: + docs: The payload of data sent from Webflow + properties: + siteId: + type: optional + docs: The ID of the site that was published + publishedOn: + type: optional + docs: The timestamp of the publish event + domains: + type: optional> + docs: The domains that were published + publishedBy: + type: optional> + docs: The name andID of the user who published the site + source: + openapi: v2-data.yml + SitePublishPayload: + docs: The Webhook payload for when a Site is published + properties: + triggerType: + type: optional + docs: The type of event that triggered the request + payload: + type: optional + docs: The payload of data sent from Webflow + source: + openapi: v2-data.yml +imports: + root: __package__.yml +service: + auth: false + base-path: '' + endpoints: + list: + path: /sites + method: GET + auth: true + docs: | + List of all sites the provided access token is able to access. + + Required scope | `sites:read` + source: + openapi: v2-data.yml + display-name: List Sites + response: + docs: Request was successful + type: SitesListResponse + errors: + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + examples: + - response: + body: + sites: + - id: 42e63e98c9a982ac9b8b741 + workspaceId: 42e63fc8c9a982ac9b8b744 + createdOn: '1979-10-12T12:00:00Z' + displayName: Heart of Gold Spaceship + shortName: heart-of-gold + lastPublished: '2023-04-02T12:42:00Z' + lastUpdated: '2016-10-24T19:43:17Z' + previewUrl: >- + https://d1otoma47x30pg.cloudfront.net/42e63e98c9a982ac9b8b741/197910121200.png + timeZone: DeepSpace/InfiniteImprobability + parentFolderId: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6 + customDomains: + - id: 589a331aa51e760df7ccb89e + url: heartofgold.galaxy + locales: + primary: + id: 653fd9af6a07fc9cfd7a5e57 + cmsLocaleId: 653ad57de882f528b32e810e + enabled: true + displayName: English - Heart of Gold Standard + redirect: false + subdirectory: /en + tag: The Ultimate Answer + secondary: + - id: 653fd9af6a07fc9cfd7a5e58 + cmsLocaleId: 653ad57de882f528b32e810g + enabled: true + displayName: Betelgeusian - Vogon Liaison + redirect: true + subdirectory: /bet + tag: Vogon + - id: 653fd9af6a07fc9cfd7a5e59 + cmsLocaleId: 653ad57de882f528b32e810h + enabled: false + displayName: Magrathean - Custom Planet Designs + redirect: true + subdirectory: /mg + tag: Magrathean + - id: 42e63e98c9a982ac9b8b742 + workspaceId: 42e63fc8c9a982ac9b8b745 + createdOn: '1981-10-12T12:00:00Z' + displayName: Marvin's Personal Blog + shortName: paranoid-android + lastPublished: '2023-04-02T12:45:00Z' + lastUpdated: '2016-10-24T19:43:17Z' + previewUrl: >- + https://d1otoma47x30pg.cloudfront.net/42e63e98c9a982ac9b8b742/198110121200.png + timeZone: DeepSpace/Depression + parentFolderId: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6 + customDomains: + - id: 589a331aa51e760df7ccb89f + url: marvin.blog + locales: + primary: + id: 653fd9af6a07fc9cfd7a5e57 + cmsLocaleId: 653ad57de882f528b32e810e + enabled: true + displayName: English - Marvin's Musings + redirect: false + subdirectory: /en + tag: English + secondary: + - id: 653fd9af6a07fc9cfd7a5e56 + cmsLocaleId: 653ad57de882f528b32e810f + enabled: true + displayName: Squornshellous - Mattress Speak + redirect: true + subdirectory: /sr + tag: Squornshellous + - id: 42e63e98c9a982ac9b8b743 + workspaceId: 42e63fc8c9a982ac9b8b746 + createdOn: '1982-10-12T12:00:00Z' + displayName: Vogon Poetry Archive + shortName: vogon-poetry + lastPublished: '2023-04-02T12:50:00Z' + lastUpdated: '2016-10-24T19:43:17Z' + previewUrl: >- + https://d1otoma47x30pg.cloudfront.net/42e63e98c9a982ac9b8b743/198210121200.png + timeZone: Vogsphere/PoetryHall + parentFolderId: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6 + customDomains: + - id: 589a331aa51e760df7ccb8a0 + url: vogonpoetry.galaxy + locales: + primary: + id: 653fd9af6a07fc9cfd7a5e55 + cmsLocaleId: 653ad57de882f528b32e810d + enabled: true + displayName: English - Vogon Verse + redirect: false + subdirectory: /en + tag: Third Worst Poetry + secondary: + - id: 653fd9af6a07fc9cfd7a5e54 + cmsLocaleId: 653ad57de882f528b32e810c + enabled: true + displayName: Galactic - Universal Language + redirect: true + subdirectory: /gl + tag: Pan-Galactic Gargle Blaster + get: + path: /sites/{site_id} + method: GET + auth: true + docs: | + Get details of a site. + + Required scope | `sites:read` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + display-name: Get Site + response: + docs: Request was successful + type: SitesGetResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + response: + body: + id: 42e98c9a982ac9b8b742 + workspaceId: 42e63e98c9a982ac9b8b742 + createdOn: '1979-10-12T12:00:00Z' + displayName: The Hitchhiker's Guide to the Galaxy + shortName: hitchhikers-guide + lastPublished: '2023-04-02T12:42:00Z' + lastUpdated: '2023-04-02T12:42:00Z' + previewUrl: >- + https://screenshots.webflow.com/sites/6258612d1ee792848f805dcf/20231219211811_d5990556c743f33b7071300a03bf67e6.png + timeZone: Magrathea/FactoryFloor + parentFolderId: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6 + customDomains: + - id: 589a331aa51e760df7ccb89d + url: hitchhikersguide.galaxy + - id: 589a331aa51e760df7ccb89e + url: heartofgold.spaceship + locales: + primary: + id: 653fd9af6a07fc9cfd7a5e57 + cmsLocaleId: 653ad57de882f528b32e810e + enabled: false + displayName: English (United States) + displayImageId: displayImageId + redirect: true + subdirectory: '' + tag: en-US + secondary: + - id: 653fd9af6a07fc9cfd7a5e57 + cmsLocaleId: 653ad57de882f528b32e810e + enabled: false + displayName: English (United States) + redirect: true + subdirectory: '' + tag: en-US + get-custom-domain: + path: /sites/{site_id}/custom_domains + method: GET + auth: true + docs: | + Get a list of all custom domains related to site. + + Required scope | `sites:read` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + display-name: Get Custom Domains + response: + docs: Request was successful + type: SitesGetCustomDomainResponse + errors: + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + response: + body: + customDomains: + - id: 589a331aa51e760df7ccb89d + url: hitchhikersguide.galaxy + - id: 589a331aa51e760df7ccb89e + url: heartofgold.spaceship + publish: + path: /sites/{site_id}/publish + method: POST + auth: true + docs: > + Publishes a site to one or more more domains. + + + This endpoint has a limit of + one successful publish queue per minute. + + + Required scope | `sites:write` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + display-name: Publish Site + request: + name: SitesPublishRequest + body: + properties: + customDomains: + type: optional> + docs: Array of Custom Domain IDs to publish + publishToWebflowSubdomain: + type: optional + docs: Choice of whether to publish to the default Webflow Subdomain + default: false + content-type: application/json + response: + docs: Request accepted + type: SitesPublishResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.TooManyRequestsError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + request: {} + response: + body: + customDomains: + - id: 589a331aa51e760df7ccb89d + url: test-api-domain.com + publishToWebflowSubdomain: true + source: + openapi: v2-data.yml + display-name: Sites +webhooks: + site_publish: + method: POST + display-name: Site Publish + headers: {} + payload: + type: SitePublishPayload + docs: The Webhook payload for when a Site is published + examples: + - payload: + triggerType: site_publish + payload: + siteId: 62749158efef318abc8d5a0f + publishedOn: '2024-07-26T16:43:20Z' + domains: + - my-website.webflow.io + publishedBy: + displayName: Zaphod BeebleBrox diff --git a/.mock/definition/sites/activityLogs.yml b/.mock/definition/sites/activityLogs.yml new file mode 100644 index 00000000..0470d78f --- /dev/null +++ b/.mock/definition/sites/activityLogs.yml @@ -0,0 +1,168 @@ +types: + ActivityLogsListResponseItemsItemEvent: + enum: + - styles_modified + - site_published + - ix2_modified_on_page + - page_dom_modified + - cms_item + - backup_created + - page_custom_code_modified + - symbols_modified + - variable_modified + - variables_modified + - cms_collection + - page_settings_modified + - page_settings_custom_code_modified + - ix2_modified_on_component + - ix2_modified_on_class + - site_custom_code_modified + - page_duplicated + - secondary_locale_page_content_modified + - page_renamed + - page_created + - page_deleted + - site_unpublished + - backup_restored + - locale_added + - branch_created + - locale_display_name_updated + - locale_subdirectory_updated + - branch_merged + - locale_tag_updated + - branch_deleted + - locale_enabled + - locale_removed + - locale_disabled + - library_shared + - library_unshared + - library_installed + - library_uninstalled + - library_update_shared + - library_update_accepted + - branch_review_created + - branch_review_approved + - branch_review_canceled + source: + openapi: v2-data.yml + ActivityLogsListResponseItemsItemResourceOperation: + enum: + - CREATED + - MODIFIED + - PUBLISHED + - UNPUBLISHED + - DELETED + - GROUP_REORDERED + - GROUP_CREATED + - GROUP_DELETED + - REORDERED + source: + openapi: v2-data.yml + ActivityLogsListResponseItemsItemUser: + properties: + id: optional + displayName: optional + source: + openapi: v2-data.yml + ActivityLogsListResponseItemsItem: + properties: + id: optional + createdOn: optional + lastUpdated: optional + event: optional + resourceOperation: optional + user: optional + resourceId: optional + resourceName: optional + newValue: optional + previousValue: optional + payload: optional> + source: + openapi: v2-data.yml + ActivityLogsListResponsePagination: + docs: Pagination object + properties: + limit: + type: optional + docs: The limit used for pagination + offset: + type: optional + docs: The offset used for pagination + total: + type: optional + docs: The total number of records + source: + openapi: v2-data.yml + ActivityLogsListResponse: + properties: + items: optional> + pagination: + type: optional + docs: Pagination object + source: + openapi: v2-data.yml +imports: + root: ../__package__.yml +service: + auth: false + base-path: '' + endpoints: + list: + path: /sites/{site_id}/activity_logs + method: GET + auth: true + docs: >- + Retrieve Activity Logs for a specific Site. Requires Site to be on an + Enterprise plan.

Required scope | `site_activity:read` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + display-name: Get Site Activity Logs + request: + name: ActivityLogsListRequest + query-parameters: + limit: + type: optional + docs: 'Maximum number of records to be returned (max limit: 100)' + offset: + type: optional + docs: >- + Offset used for pagination if the results have more than limit + records + response: + docs: A list of site activity logs + type: ActivityLogsListResponse + errors: + - root.ForbiddenError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + response: + body: + items: + - id: 654c16c7b229e56bcf26872d + createdOn: '2023-11-08T23:16:23Z' + lastUpdated: '2023-11-08T23:16:23Z' + event: cms_collection + resourceOperation: CREATED + user: + id: 6509cd56e90eec668b009712 + displayName: John Doe + resourceId: 654c16c7b229e56bcf26870c + resourceName: foo-bar + newValue: newValue + previousValue: previousValue + payload: + key: value + pagination: + limit: 25 + offset: 0 + total: 1 + source: + openapi: v2-data.yml diff --git a/.mock/definition/sites/scripts.yml b/.mock/definition/sites/scripts.yml new file mode 100644 index 00000000..17694384 --- /dev/null +++ b/.mock/definition/sites/scripts.yml @@ -0,0 +1,447 @@ +types: + ScriptsGetCustomCodeResponseScriptsItemLocation: + enum: + - header + - footer + docs: >- + Location of the script, either in the header or footer of the published + site + default: header + source: + openapi: v2-data.yml + ScriptsGetCustomCodeResponseScriptsItem: + properties: + id: + type: string + docs: ID of the registered custom code script + location: + type: ScriptsGetCustomCodeResponseScriptsItemLocation + docs: >- + Location of the script, either in the header or footer of the + published site + default: header + version: + type: string + docs: Semantic Version String for the registered script *e.g. 0.0.1* + attributes: + type: optional> + docs: >- + Developer-specified key/value pairs to be applied as attributes to the + script + source: + openapi: v2-data.yml + ScriptsGetCustomCodeResponse: + properties: + scripts: + type: optional> + docs: A list of scripts applied to a Site or a Page + lastUpdated: + type: optional + docs: Date when the Site's scripts were last updated + createdOn: + type: optional + docs: Date when the Site's scripts were created + source: + openapi: v2-data.yml + ScriptsUpsertCustomCodeRequestScriptsItemLocation: + enum: + - header + - footer + docs: >- + Location of the script, either in the header or footer of the published + site + default: header + source: + openapi: v2-data.yml + ScriptsUpsertCustomCodeRequestScriptsItem: + properties: + id: + type: string + docs: ID of the registered custom code script + location: + type: ScriptsUpsertCustomCodeRequestScriptsItemLocation + docs: >- + Location of the script, either in the header or footer of the + published site + default: header + version: + type: string + docs: Semantic Version String for the registered script *e.g. 0.0.1* + attributes: + type: optional> + docs: >- + Developer-specified key/value pairs to be applied as attributes to the + script + source: + openapi: v2-data.yml + ScriptsUpsertCustomCodeResponseScriptsItemLocation: + enum: + - header + - footer + docs: >- + Location of the script, either in the header or footer of the published + site + default: header + source: + openapi: v2-data.yml + ScriptsUpsertCustomCodeResponseScriptsItem: + properties: + id: + type: string + docs: ID of the registered custom code script + location: + type: ScriptsUpsertCustomCodeResponseScriptsItemLocation + docs: >- + Location of the script, either in the header or footer of the + published site + default: header + version: + type: string + docs: Semantic Version String for the registered script *e.g. 0.0.1* + attributes: + type: optional> + docs: >- + Developer-specified key/value pairs to be applied as attributes to the + script + source: + openapi: v2-data.yml + ScriptsUpsertCustomCodeResponse: + properties: + scripts: + type: optional> + docs: A list of scripts applied to a Site or a Page + lastUpdated: + type: optional + docs: Date when the Site's scripts were last updated + createdOn: + type: optional + docs: Date when the Site's scripts were created + source: + openapi: v2-data.yml + ScriptsListCustomCodeBlocksResponseBlocksItemType: + enum: + - page + - site + docs: Whether the Custom Code script is applied at the Site-level or Page-level + source: + openapi: v2-data.yml + ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItemLocation: + enum: + - header + - footer + docs: >- + Location of the script, either in the header or footer of the published + site + default: header + source: + openapi: v2-data.yml + ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItem: + properties: + id: + type: string + docs: ID of the registered custom code script + location: + type: ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItemLocation + docs: >- + Location of the script, either in the header or footer of the + published site + default: header + version: + type: string + docs: Semantic Version String for the registered script *e.g. 0.0.1* + attributes: + type: optional> + docs: >- + Developer-specified key/value pairs to be applied as attributes to the + script + source: + openapi: v2-data.yml + ScriptsListCustomCodeBlocksResponseBlocksItem: + docs: A specific instance of Custom Code applied to a Site or Page + properties: + siteId: + type: optional + docs: The Site ID where the custom code was applied + pageId: + type: optional + docs: The Page ID (if applied at Page-level) + type: + type: optional + docs: >- + Whether the Custom Code script is applied at the Site-level or + Page-level + scripts: + type: >- + optional> + docs: A list of scripts applied to a Site or a Page + createdOn: + type: optional + docs: The date the Block was created + lastUpdated: + type: optional + docs: The date the Block was most recently updated + source: + openapi: v2-data.yml + ScriptsListCustomCodeBlocksResponsePagination: + docs: Pagination object + properties: + limit: + type: optional + docs: The limit used for pagination + offset: + type: optional + docs: The offset used for pagination + total: + type: optional + docs: The total number of records + source: + openapi: v2-data.yml + ScriptsListCustomCodeBlocksResponse: + docs: Custom Code Blocks corresponding to where scripts were applied + properties: + blocks: optional> + pagination: + type: optional + docs: Pagination object + source: + openapi: v2-data.yml +imports: + root: ../__package__.yml +service: + auth: false + base-path: '' + endpoints: + get-custom-code: + path: /sites/{site_id}/custom_code + method: GET + auth: true + docs: > + Get all registered scripts that have been applied to a specific Site. + +
Access to this + endpoint requires a bearer token from a Data + Client App.
+ + + Required scope | `custom_code:read` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + display-name: Get Custom Code + response: + docs: Request was successful + type: ScriptsGetCustomCodeResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + response: + body: + scripts: + - id: cms_slider + location: header + version: 1.0.0 + attributes: + my-attribute: some-value + - id: alert + location: header + version: 0.0.1 + attributes: + key: value + lastUpdated: '2022-10-26T00:28:54.191Z' + createdOn: '2022-10-26T00:28:54.191Z' + upsert-custom-code: + path: /sites/{site_id}/custom_code + method: PUT + auth: true + docs: > + Add a registered script to a Site. + + + In order to use the Custom Code APIs for Sites and Pages, Custom Code + Scripts must first be registered + + to a Site via the `registered_scripts` endpoints, and then applied to a + Site or Page using the appropriate + + `custom_code` endpoints. + +
Access to this + endpoint requires a bearer token from a Data + Client App.
+ + + Required scope | `custom_code:write` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + display-name: Add/Update Custom Code + request: + name: ScriptsUpsertCustomCodeRequest + body: + properties: + scripts: + type: optional> + docs: A list of scripts applied to a Site or a Page + content-type: application/json + response: + docs: Request was successful + type: ScriptsUpsertCustomCodeResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + request: + scripts: + - id: cms_slider + location: header + version: 1.0.0 + attributes: + my-attribute: some-value + - id: alert + location: header + version: 0.0.1 + response: + body: + scripts: + - id: cms_slider + location: header + version: 1.0.0 + attributes: + my-attribute: some-value + - id: alert + location: header + version: 0.0.1 + attributes: + key: value + lastUpdated: lastUpdated + createdOn: createdOn + delete-custom-code: + path: /sites/{site_id}/custom_code + method: DELETE + auth: true + docs: > + Delete the custom code block that an app created for a Site + + +
Access to this + endpoint requires a bearer token from a Data + Client App.
+ + + Required scope | `custom_code:write` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + display-name: Delete Custom Code + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + list-custom-code-blocks: + path: /sites/{site_id}/custom_code/blocks + method: GET + auth: true + docs: > + Get all instances of Custom Code applied to a Site or Pages. + +
Access to this + endpoint requires a bearer token from a Data + Client App.
+ + + Required scope | `custom_code:read` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + display-name: List Custom Code Blocks + request: + name: ScriptsListCustomCodeBlocksRequest + query-parameters: + offset: + type: optional + docs: >- + Offset used for pagination if the results have more than limit + records + limit: + type: optional + docs: 'Maximum number of records to be returned (max limit: 100)' + response: + docs: Request was successful + type: ScriptsListCustomCodeBlocksResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + response: + body: + blocks: + - siteId: 6258612d1ee792848f805dcf + pageId: pageId + type: site + scripts: + - id: chartjs + location: header + version: 4.4.2 + attributes: + key: value + createdOn: '2024-04-03T16:49:15Z' + lastUpdated: '2024-04-03T16:49:15Z' + - siteId: 6390c49674a71f84b51a08d8 + pageId: 6419db964a9c43f6a3af6348 + type: page + scripts: + - id: cms_slider + location: header + version: 1.0.0 + attributes: + my-attribute: some-value + - id: alert + location: header + version: 0.0.1 + attributes: + key: value + createdOn: '2022-10-26T00:28:54Z' + lastUpdated: '2022-10-26T00:28:54Z' + pagination: + limit: 10 + offset: 0 + total: 1 + source: + openapi: v2-data.yml diff --git a/.mock/definition/token.yml b/.mock/definition/token.yml new file mode 100644 index 00000000..a229bb90 --- /dev/null +++ b/.mock/definition/token.yml @@ -0,0 +1,135 @@ +types: + TokenAuthorizedByResponse: + properties: + id: + type: optional + docs: The unique ID of the user + email: + type: optional + docs: The user's email address + validation: + format: email + firstName: + type: optional + docs: The user's first name + lastName: + type: optional + docs: The user's last name + source: + openapi: v2-data.yml + TokenIntrospectResponseAuthorizationAuthorizedTo: + properties: + siteIds: + type: optional> + docs: Array of Sites this app is authorized to + workspaceIds: + type: optional> + docs: Array of Workspaces this app is authorized to + userIds: + type: optional> + docs: Array of Users this app is authorized to + source: + openapi: v2-data.yml + TokenIntrospectResponseAuthorization: + docs: The Authorization object + properties: + id: + type: optional + docs: The unique ID of the Authorization instance + createdOn: + type: optional + docs: The date the Authorization was created + lastUsed: + type: optional + docs: The date the Authorization was last used + grantType: + type: optional + docs: The grant type of the Authorization + rateLimit: + type: optional + docs: The default rate limit for the Authorization (requests/min) + scope: + type: optional + docs: Comma separted list of OAuth scopes corresponding to the Authorization + authorizedTo: optional + source: + openapi: v2-data.yml + TokenIntrospectResponse: + properties: + authorization: + type: optional + docs: The Authorization object + application: optional + source: + openapi: v2-data.yml +imports: + root: __package__.yml +service: + auth: false + base-path: '' + endpoints: + authorized-by: + path: /token/authorized_by + method: GET + auth: true + docs: | + Information about the Authorized User + + Required Scope | `authorized_user:read` + source: + openapi: v2-data.yml + display-name: Get Authorization User Info + response: + docs: Request was successful + type: TokenAuthorizedByResponse + errors: + - root.UnauthorizedError + - root.ForbiddenError + examples: + - response: + body: + id: 545bbecb7bdd6769632504a7 + email: some@email.com + firstName: Some + lastName: One + introspect: + path: /token/introspect + method: GET + auth: true + docs: > + Information about the authorization token + + Access to this endpoint requires a bearer token from a []>Data + Client App](/data/docs/getting-started-data-clients). + source: + openapi: v2-data.yml + display-name: Get Authorization Info + response: + docs: Request was successful + type: TokenIntrospectResponse + errors: + - root.UnauthorizedError + examples: + - response: + body: + authorization: + id: 55818d58616600637b9a5786 + createdOn: '2016-10-03T23:12:00Z' + lastUsed: '2016-10-10T21:41:12Z' + grantType: authorization_code + rateLimit: 60 + scope: assets:read,assets:write + authorizedTo: + siteIds: + - 62f3b1f7eafac55d0c64ef91 + workspaceIds: + - 52f3b1f7eafac55d0c64ef91 + userIds: + - 545bbecb7bdd6769632504a7 + application: + id: 55131cd036c09f7d07883dfc + description: My Amazing App + homepage: https://webflow.com + displayName: My Amazing App + source: + openapi: v2-data.yml diff --git a/.mock/definition/users.yml b/.mock/definition/users.yml new file mode 100644 index 00000000..289f1dbb --- /dev/null +++ b/.mock/definition/users.yml @@ -0,0 +1,1213 @@ +types: + UsersListRequestSort: + enum: + - value: CreatedOn + name: CreatedOnAscending + docs: Sorts users in ascending order based on their created date + - value: '-CreatedOn' + name: CreatedOnDescending + docs: Sorts users in descending order based on their created date + - value: Email + name: EmailAscending + docs: Sorts users in ascending order based on their email + - value: '-Email' + name: EmailDescending + docs: Sorts users in descending order based on their email + - value: Status + name: StatusAscending + docs: Sorts users in ascending order based on their status + - value: '-Status' + name: StatusDescending + docs: Sorts users in descending order based on their status + - value: LastLogin + name: LastLoginAscending + docs: Sorts users in ascending order based on their last login date + - value: '-LastLogin' + name: LastLoginDescending + docs: Sorts users in descending order based on their last login date + - value: UpdatedOn + name: UpdatedOnAscending + docs: Sorts users in ascending order based on their update date + - value: '-UpdatedOn' + name: UpdatedOnDescending + docs: Sorts users in descending order based on their update date + source: + openapi: v2-data.yml + UsersListResponseUsersItemStatus: + enum: + - invited + - verified + - unverified + docs: The status of the user + source: + openapi: v2-data.yml + UsersListResponseUsersItemAccessGroupsItemType: + enum: + - admin + - ecommerce + docs: | + The type of access group based on how it was assigned to the user. + * `admin` - Assigned to the user via API or in the designer + * `ecommerce` - Assigned to the user via an ecommerce purchase + source: + openapi: v2-data.yml + UsersListResponseUsersItemAccessGroupsItem: + docs: Access group slugs and types + properties: + slug: + type: optional + docs: Access group identifier for APIs + type: + type: optional + docs: | + The type of access group based on how it was assigned to the user. + * `admin` - Assigned to the user via API or in the designer + * `ecommerce` - Assigned to the user via an ecommerce purchase + source: + openapi: v2-data.yml + UsersListResponseUsersItemDataData: + properties: + name: + type: optional + docs: | + The name of the user + email: + type: optional + docs: | + The email address of the user + accept-privacy: + type: optional + docs: | + Boolean indicating if the user has accepted the privacy policy + accept-communications: + type: optional + docs: | + Boolean indicating if the user has accepted to receive communications + additionalProperties: + type: optional + docs: Custom user attributes + source: + openapi: v2-data.yml + UsersListResponseUsersItemData: + docs: An object containing the User's basic info and custom fields + properties: + data: optional + source: + openapi: v2-data.yml + UsersListResponseUsersItem: + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there are + a handful of additional fields that are automatically created for all + items + properties: + id: + type: optional + docs: Unique identifier for the User + isEmailVerified: + type: optional + docs: Shows whether the user has verified their email address + lastUpdated: + type: optional + docs: The timestamp the user was updated + invitedOn: + type: optional + docs: The timestamp the user was invited + createdOn: + type: optional + docs: The timestamp the user was created + lastLogin: + type: optional + docs: The timestamp the user was logged in + status: + type: optional + docs: The status of the user + accessGroups: + type: optional> + docs: Access groups the user belongs to + data: + type: optional + docs: An object containing the User's basic info and custom fields + source: + openapi: v2-data.yml + UsersListResponse: + docs: The list users results + properties: + count: + type: optional + docs: Number of users returned + limit: + type: optional + docs: The limit specified in the request + default: 10 + offset: + type: optional + docs: The offset specified for pagination + default: 0 + total: + type: optional + docs: Total number of users in the collection + users: + type: optional> + docs: List of Users for a Site + source: + openapi: v2-data.yml + UsersGetResponseStatus: + enum: + - invited + - verified + - unverified + docs: The status of the user + source: + openapi: v2-data.yml + UsersGetResponseAccessGroupsItemType: + enum: + - admin + - ecommerce + docs: | + The type of access group based on how it was assigned to the user. + * `admin` - Assigned to the user via API or in the designer + * `ecommerce` - Assigned to the user via an ecommerce purchase + source: + openapi: v2-data.yml + UsersGetResponseAccessGroupsItem: + docs: Access group slugs and types + properties: + slug: + type: optional + docs: Access group identifier for APIs + type: + type: optional + docs: | + The type of access group based on how it was assigned to the user. + * `admin` - Assigned to the user via API or in the designer + * `ecommerce` - Assigned to the user via an ecommerce purchase + source: + openapi: v2-data.yml + UsersGetResponseDataData: + properties: + name: + type: optional + docs: | + The name of the user + email: + type: optional + docs: | + The email address of the user + accept-privacy: + type: optional + docs: | + Boolean indicating if the user has accepted the privacy policy + accept-communications: + type: optional + docs: | + Boolean indicating if the user has accepted to receive communications + additionalProperties: + type: optional + docs: Custom user attributes + source: + openapi: v2-data.yml + UsersGetResponseData: + docs: An object containing the User's basic info and custom fields + properties: + data: optional + source: + openapi: v2-data.yml + UsersGetResponse: + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there are + a handful of additional fields that are automatically created for all + items + properties: + id: + type: optional + docs: Unique identifier for the User + isEmailVerified: + type: optional + docs: Shows whether the user has verified their email address + lastUpdated: + type: optional + docs: The timestamp the user was updated + invitedOn: + type: optional + docs: The timestamp the user was invited + createdOn: + type: optional + docs: The timestamp the user was created + lastLogin: + type: optional + docs: The timestamp the user was logged in + status: + type: optional + docs: The status of the user + accessGroups: + type: optional> + docs: Access groups the user belongs to + data: + type: optional + docs: An object containing the User's basic info and custom fields + source: + openapi: v2-data.yml + UsersUpdateRequestData: + properties: + name: + type: optional + docs: | + The name of the user + accept-privacy: + type: optional + docs: | + Boolean indicating if the user has accepted the privacy policy + accept-communications: + type: optional + docs: | + Boolean indicating if the user has accepted to receive communications + source: + openapi: v2-data.yml + UsersUpdateResponseStatus: + enum: + - invited + - verified + - unverified + docs: The status of the user + source: + openapi: v2-data.yml + UsersUpdateResponseAccessGroupsItemType: + enum: + - admin + - ecommerce + docs: | + The type of access group based on how it was assigned to the user. + * `admin` - Assigned to the user via API or in the designer + * `ecommerce` - Assigned to the user via an ecommerce purchase + source: + openapi: v2-data.yml + UsersUpdateResponseAccessGroupsItem: + docs: Access group slugs and types + properties: + slug: + type: optional + docs: Access group identifier for APIs + type: + type: optional + docs: | + The type of access group based on how it was assigned to the user. + * `admin` - Assigned to the user via API or in the designer + * `ecommerce` - Assigned to the user via an ecommerce purchase + source: + openapi: v2-data.yml + UsersUpdateResponseDataData: + properties: + name: + type: optional + docs: | + The name of the user + email: + type: optional + docs: | + The email address of the user + accept-privacy: + type: optional + docs: | + Boolean indicating if the user has accepted the privacy policy + accept-communications: + type: optional + docs: | + Boolean indicating if the user has accepted to receive communications + additionalProperties: + type: optional + docs: Custom user attributes + source: + openapi: v2-data.yml + UsersUpdateResponseData: + docs: An object containing the User's basic info and custom fields + properties: + data: optional + source: + openapi: v2-data.yml + UsersUpdateResponse: + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there are + a handful of additional fields that are automatically created for all + items + properties: + id: + type: optional + docs: Unique identifier for the User + isEmailVerified: + type: optional + docs: Shows whether the user has verified their email address + lastUpdated: + type: optional + docs: The timestamp the user was updated + invitedOn: + type: optional + docs: The timestamp the user was invited + createdOn: + type: optional + docs: The timestamp the user was created + lastLogin: + type: optional + docs: The timestamp the user was logged in + status: + type: optional + docs: The status of the user + accessGroups: + type: optional> + docs: Access groups the user belongs to + data: + type: optional + docs: An object containing the User's basic info and custom fields + source: + openapi: v2-data.yml + UsersInviteResponseStatus: + enum: + - invited + - verified + - unverified + docs: The status of the user + source: + openapi: v2-data.yml + UsersInviteResponseAccessGroupsItemType: + enum: + - admin + - ecommerce + docs: | + The type of access group based on how it was assigned to the user. + * `admin` - Assigned to the user via API or in the designer + * `ecommerce` - Assigned to the user via an ecommerce purchase + source: + openapi: v2-data.yml + UsersInviteResponseAccessGroupsItem: + docs: Access group slugs and types + properties: + slug: + type: optional + docs: Access group identifier for APIs + type: + type: optional + docs: | + The type of access group based on how it was assigned to the user. + * `admin` - Assigned to the user via API or in the designer + * `ecommerce` - Assigned to the user via an ecommerce purchase + source: + openapi: v2-data.yml + UsersInviteResponseDataData: + properties: + name: + type: optional + docs: | + The name of the user + email: + type: optional + docs: | + The email address of the user + accept-privacy: + type: optional + docs: | + Boolean indicating if the user has accepted the privacy policy + accept-communications: + type: optional + docs: | + Boolean indicating if the user has accepted to receive communications + additionalProperties: + type: optional + docs: Custom user attributes + source: + openapi: v2-data.yml + UsersInviteResponseData: + docs: An object containing the User's basic info and custom fields + properties: + data: optional + source: + openapi: v2-data.yml + UsersInviteResponse: + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there are + a handful of additional fields that are automatically created for all + items + properties: + id: + type: optional + docs: Unique identifier for the User + isEmailVerified: + type: optional + docs: Shows whether the user has verified their email address + lastUpdated: + type: optional + docs: The timestamp the user was updated + invitedOn: + type: optional + docs: The timestamp the user was invited + createdOn: + type: optional + docs: The timestamp the user was created + lastLogin: + type: optional + docs: The timestamp the user was logged in + status: + type: optional + docs: The status of the user + accessGroups: + type: optional> + docs: Access groups the user belongs to + data: + type: optional + docs: An object containing the User's basic info and custom fields + source: + openapi: v2-data.yml + UserAccountAddedPayloadTriggerType: + enum: + - user_account_added + - user_account_updated + - user_account_deleted + docs: The type of event that triggered the request + source: + openapi: v2-data.yml + UserAccountAddedPayloadPayloadStatus: + enum: + - invited + - verified + - unverified + docs: The status of the user + source: + openapi: v2-data.yml + UserAccountAddedPayloadPayloadAccessGroupsItemType: + enum: + - admin + - ecommerce + docs: | + The type of access group based on how it was assigned to the user. + * `admin` - Assigned to the user via API or in the designer + * `ecommerce` - Assigned to the user via an ecommerce purchase + source: + openapi: v2-data.yml + UserAccountAddedPayloadPayloadAccessGroupsItem: + docs: Access group slugs and types + properties: + slug: + type: optional + docs: Access group identifier for APIs + type: + type: optional + docs: | + The type of access group based on how it was assigned to the user. + * `admin` - Assigned to the user via API or in the designer + * `ecommerce` - Assigned to the user via an ecommerce purchase + source: + openapi: v2-data.yml + UserAccountAddedPayloadPayloadDataData: + properties: + name: + type: optional + docs: | + The name of the user + email: + type: optional + docs: | + The email address of the user + accept-privacy: + type: optional + docs: | + Boolean indicating if the user has accepted the privacy policy + accept-communications: + type: optional + docs: | + Boolean indicating if the user has accepted to receive communications + additionalProperties: + type: optional + docs: Custom user attributes + source: + openapi: v2-data.yml + UserAccountAddedPayloadPayloadData: + docs: An object containing the User's basic info and custom fields + properties: + data: optional + source: + openapi: v2-data.yml + UserAccountAddedPayloadPayload: + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there are + a handful of additional fields that are automatically created for all + items + properties: + id: + type: optional + docs: Unique identifier for the User + isEmailVerified: + type: optional + docs: Shows whether the user has verified their email address + lastUpdated: + type: optional + docs: The timestamp the user was updated + invitedOn: + type: optional + docs: The timestamp the user was invited + createdOn: + type: optional + docs: The timestamp the user was created + lastLogin: + type: optional + docs: The timestamp the user was logged in + status: + type: optional + docs: The status of the user + accessGroups: + type: optional> + docs: Access groups the user belongs to + data: + type: optional + docs: An object containing the User's basic info and custom fields + source: + openapi: v2-data.yml + UserAccountAddedPayload: + properties: + triggerType: + type: optional + docs: The type of event that triggered the request + payload: + type: optional + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there + are a handful of additional fields that are automatically created for + all items + source: + openapi: v2-data.yml + UserAccountUpdatedPayloadTriggerType: + enum: + - user_account_added + - user_account_updated + - user_account_deleted + docs: The type of event that triggered the request + source: + openapi: v2-data.yml + UserAccountUpdatedPayloadPayloadStatus: + enum: + - invited + - verified + - unverified + docs: The status of the user + source: + openapi: v2-data.yml + UserAccountUpdatedPayloadPayloadAccessGroupsItemType: + enum: + - admin + - ecommerce + docs: | + The type of access group based on how it was assigned to the user. + * `admin` - Assigned to the user via API or in the designer + * `ecommerce` - Assigned to the user via an ecommerce purchase + source: + openapi: v2-data.yml + UserAccountUpdatedPayloadPayloadAccessGroupsItem: + docs: Access group slugs and types + properties: + slug: + type: optional + docs: Access group identifier for APIs + type: + type: optional + docs: | + The type of access group based on how it was assigned to the user. + * `admin` - Assigned to the user via API or in the designer + * `ecommerce` - Assigned to the user via an ecommerce purchase + source: + openapi: v2-data.yml + UserAccountUpdatedPayloadPayloadDataData: + properties: + name: + type: optional + docs: | + The name of the user + email: + type: optional + docs: | + The email address of the user + accept-privacy: + type: optional + docs: | + Boolean indicating if the user has accepted the privacy policy + accept-communications: + type: optional + docs: | + Boolean indicating if the user has accepted to receive communications + additionalProperties: + type: optional + docs: Custom user attributes + source: + openapi: v2-data.yml + UserAccountUpdatedPayloadPayloadData: + docs: An object containing the User's basic info and custom fields + properties: + data: optional + source: + openapi: v2-data.yml + UserAccountUpdatedPayloadPayload: + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there are + a handful of additional fields that are automatically created for all + items + properties: + id: + type: optional + docs: Unique identifier for the User + isEmailVerified: + type: optional + docs: Shows whether the user has verified their email address + lastUpdated: + type: optional + docs: The timestamp the user was updated + invitedOn: + type: optional + docs: The timestamp the user was invited + createdOn: + type: optional + docs: The timestamp the user was created + lastLogin: + type: optional + docs: The timestamp the user was logged in + status: + type: optional + docs: The status of the user + accessGroups: + type: optional> + docs: Access groups the user belongs to + data: + type: optional + docs: An object containing the User's basic info and custom fields + source: + openapi: v2-data.yml + UserAccountUpdatedPayload: + properties: + triggerType: + type: optional + docs: The type of event that triggered the request + payload: + type: optional + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there + are a handful of additional fields that are automatically created for + all items + source: + openapi: v2-data.yml + UserAccountDeletedPayloadTriggerType: + enum: + - user_account_added + - user_account_updated + - user_account_deleted + docs: The type of event that triggered the request + source: + openapi: v2-data.yml + UserAccountDeletedPayloadPayloadStatus: + enum: + - invited + - verified + - unverified + docs: The status of the user + source: + openapi: v2-data.yml + UserAccountDeletedPayloadPayloadAccessGroupsItemType: + enum: + - admin + - ecommerce + docs: | + The type of access group based on how it was assigned to the user. + * `admin` - Assigned to the user via API or in the designer + * `ecommerce` - Assigned to the user via an ecommerce purchase + source: + openapi: v2-data.yml + UserAccountDeletedPayloadPayloadAccessGroupsItem: + docs: Access group slugs and types + properties: + slug: + type: optional + docs: Access group identifier for APIs + type: + type: optional + docs: | + The type of access group based on how it was assigned to the user. + * `admin` - Assigned to the user via API or in the designer + * `ecommerce` - Assigned to the user via an ecommerce purchase + source: + openapi: v2-data.yml + UserAccountDeletedPayloadPayloadDataData: + properties: + name: + type: optional + docs: | + The name of the user + email: + type: optional + docs: | + The email address of the user + accept-privacy: + type: optional + docs: | + Boolean indicating if the user has accepted the privacy policy + accept-communications: + type: optional + docs: | + Boolean indicating if the user has accepted to receive communications + additionalProperties: + type: optional + docs: Custom user attributes + source: + openapi: v2-data.yml + UserAccountDeletedPayloadPayloadData: + docs: An object containing the User's basic info and custom fields + properties: + data: optional + source: + openapi: v2-data.yml + UserAccountDeletedPayloadPayload: + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there are + a handful of additional fields that are automatically created for all + items + properties: + id: + type: optional + docs: Unique identifier for the User + isEmailVerified: + type: optional + docs: Shows whether the user has verified their email address + lastUpdated: + type: optional + docs: The timestamp the user was updated + invitedOn: + type: optional + docs: The timestamp the user was invited + createdOn: + type: optional + docs: The timestamp the user was created + lastLogin: + type: optional + docs: The timestamp the user was logged in + status: + type: optional + docs: The status of the user + accessGroups: + type: optional> + docs: Access groups the user belongs to + data: + type: optional + docs: An object containing the User's basic info and custom fields + source: + openapi: v2-data.yml + UserAccountDeletedPayload: + properties: + triggerType: + type: optional + docs: The type of event that triggered the request + payload: + type: optional + docs: > + The fields that define the schema for a given Item are based on the + Collection that Item belongs to. Beyond the user defined fields, there + are a handful of additional fields that are automatically created for + all items + source: + openapi: v2-data.yml +imports: + root: __package__.yml +service: + auth: false + base-path: '' + endpoints: + list: + path: /sites/{site_id}/users + method: GET + auth: true + docs: | + Get a list of users for a site + + Required scope | `users:read` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + display-name: List Users + request: + name: UsersListRequest + query-parameters: + offset: + type: optional + docs: >- + Offset used for pagination if the results have more than limit + records + limit: + type: optional + docs: 'Maximum number of records to be returned (max limit: 100)' + sort: + type: optional + docs: | + Sort string to use when ordering users + + Example(`CreatedOn`, `Email`, `Status`, `LastLogin`, `UpdatedOn`). + + Can be prefixed with a `-` to reverse the sort (ex. `-CreatedOn`) + response: + docs: Request was successful + type: UsersListResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + response: + body: + count: 5 + limit: 5 + offset: 0 + total: 201 + users: + - id: 6287ec36a841b25637c663df + isEmailVerified: false + lastUpdated: '2022-05-20T13:46:12Z' + invitedOn: '2016-10-24T19:41:29Z' + createdOn: '2022-05-20T13:46:12Z' + lastLogin: '2016-10-24T19:41:29Z' + status: unverified + accessGroups: + - slug: vogon-construction-crew + type: admin + - id: 6287ec36a841b25637c663f0 + isEmailVerified: false + lastUpdated: '2022-05-19T05:32:04Z' + invitedOn: '2016-10-24T19:41:29Z' + createdOn: '2022-05-19T05:32:04Z' + lastLogin: '2016-10-24T19:41:29Z' + status: unverified + accessGroups: + - slug: improbability-drive-test-subjects + type: admin + - id: 6287ec36a841b25637c663d9 + isEmailVerified: true + lastUpdated: '2022-05-17T03:34:06Z' + invitedOn: '2016-10-24T19:41:29Z' + createdOn: '2022-05-17T03:34:06Z' + lastLogin: '2016-10-24T19:41:29Z' + status: verified + accessGroups: + - slug: heart-of-gold-crew + type: admin + - id: 6287ec37a841b25637c6641b + isEmailVerified: false + lastUpdated: '2022-05-15T03:46:09Z' + invitedOn: '2016-10-24T19:41:29Z' + createdOn: '2022-05-15T03:46:09Z' + lastLogin: '2016-10-24T19:41:29Z' + status: unverified + accessGroups: + - slug: hitchhikers-guide-research-team + type: admin + - id: 6287ec37a841b25637c66449 + isEmailVerified: true + lastUpdated: '2022-05-15T02:55:38Z' + invitedOn: '2016-10-24T19:41:29Z' + createdOn: '2022-05-15T02:55:38Z' + lastLogin: '2016-10-24T19:41:29Z' + status: verified + accessGroups: + - slug: milliways-reservationists + type: admin + get: + path: /sites/{site_id}/users/{user_id} + method: GET + auth: true + docs: | + Get a User by ID + + Required scope | `users:read` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + user_id: + type: string + docs: Unique identifier for a User + display-name: Get User + response: + docs: Request was successful + type: UsersGetResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + user_id: 580e63e98c9a982ac9b8b741 + response: + body: + id: 6287ec36a841b25637c663df + isEmailVerified: true + lastUpdated: '2022-05-20T13:46:12Z' + invitedOn: '2022-05-20T13:46:12Z' + createdOn: '2022-05-20T13:46:12Z' + lastLogin: '2022-05-20T13:46:12Z' + status: verified + accessGroups: + - slug: webflowers + type: admin + data: + data: + name: name + email: email + accept-privacy: true + accept-communications: true + additionalProperties: additionalProperties + delete: + path: /sites/{site_id}/users/{user_id} + method: DELETE + auth: true + docs: | + Delete a User by ID + + Required scope | `users:write` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + user_id: + type: string + docs: Unique identifier for a User + display-name: Delete User + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + user_id: 580e63e98c9a982ac9b8b741 + update: + path: /sites/{site_id}/users/{user_id} + method: PATCH + auth: true + docs: | + Update a User by ID + + Required scope | `users:write` + + The email and password + fields cannot be updated using this endpoint + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + user_id: + type: string + docs: Unique identifier for a User + display-name: Update User + request: + name: UsersUpdateRequest + body: + properties: + data: optional + accessGroups: + type: optional> + docs: > + An array of access group slugs. Access groups are assigned to + the user as type `admin` and the user remains in the group until + removed. + content-type: application/json + response: + docs: Request was successful + type: UsersUpdateResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + user_id: 580e63e98c9a982ac9b8b741 + request: + data: + name: Some One + accept-privacy: false + accept-communications: false + accessGroups: + - webflowers + - platinum + - free-tier + response: + body: + id: 6287ec36a841b25637c663df + isEmailVerified: true + lastUpdated: '2022-05-20T13:46:12Z' + invitedOn: '2022-05-20T13:46:12Z' + createdOn: '2022-05-20T13:46:12Z' + lastLogin: '2022-05-20T13:46:12Z' + status: verified + accessGroups: + - slug: webflowers + type: admin + data: + data: + name: name + email: email + accept-privacy: true + accept-communications: true + additionalProperties: additionalProperties + invite: + path: /sites/{site_id}/users/invite + method: POST + auth: true + docs: > + Create and invite a user with an email address. + + + The user will be sent and invite via email, which they will need to + accept in order to join paid any paid access group. + + + Required scope | `users:write` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + display-name: Create and Invite a User + request: + name: UsersInviteRequest + body: + properties: + email: + type: string + docs: Email address of user to send invite to + validation: + format: email + accessGroups: + type: optional> + docs: > + An array of access group slugs. Access groups are assigned to + the user as type `admin` and the user remains in the group until + removed. + content-type: application/json + response: + docs: Request was successful + type: UsersInviteResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.ForbiddenError + - root.NotFoundError + - root.ConflictError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + request: + email: some.one@home.com + accessGroups: + - webflowers + response: + body: + id: 6287ec36a841b25637c663df + isEmailVerified: true + lastUpdated: '2022-05-20T13:46:12Z' + invitedOn: '2022-05-20T13:46:12Z' + createdOn: '2022-05-20T13:46:12Z' + lastLogin: '2022-05-20T13:46:12Z' + status: verified + accessGroups: + - slug: webflowers + type: admin + data: + data: + name: name + email: email + accept-privacy: true + accept-communications: true + additionalProperties: additionalProperties + source: + openapi: v2-data.yml +webhooks: + user_account_added: + method: POST + display-name: New User Added + headers: {} + payload: UserAccountAddedPayload + examples: + - payload: + payload: + id: 6287ec36a841b25637c663df + isEmailVerified: true + lastUpdated: '2022-05-20T13:46:12Z' + invitedOn: '2022-05-20T13:46:12Z' + createdOn: '2022-05-20T13:46:12Z' + lastLogin: '2022-05-20T13:46:12Z' + status: verified + accessGroups: + - slug: webflowers + type: admin + user_account_updated: + method: POST + display-name: Account Updated + headers: {} + payload: UserAccountUpdatedPayload + examples: + - payload: + payload: + id: 6287ec36a841b25637c663df + isEmailVerified: true + lastUpdated: '2022-05-20T13:46:12Z' + invitedOn: '2022-05-20T13:46:12Z' + createdOn: '2022-05-20T13:46:12Z' + lastLogin: '2022-05-20T13:46:12Z' + status: verified + accessGroups: + - slug: webflowers + type: admin + user_account_deleted: + method: POST + display-name: Account Deleted + headers: {} + payload: UserAccountDeletedPayload + examples: + - payload: + payload: + id: 6287ec36a841b25637c663df + isEmailVerified: true + lastUpdated: '2022-05-20T13:46:12Z' + invitedOn: '2022-05-20T13:46:12Z' + createdOn: '2022-05-20T13:46:12Z' + lastLogin: '2022-05-20T13:46:12Z' + status: verified + accessGroups: + - slug: webflowers + type: admin diff --git a/.mock/definition/webhooks.yml b/.mock/definition/webhooks.yml new file mode 100644 index 00000000..31b57dd2 --- /dev/null +++ b/.mock/definition/webhooks.yml @@ -0,0 +1,755 @@ +types: + WebhooksListResponsePagination: + docs: Pagination object + properties: + limit: + type: optional + docs: The limit used for pagination + offset: + type: optional + docs: The offset used for pagination + total: + type: optional + docs: The total number of records + source: + openapi: v2-data.yml + WebhooksListResponseWebhooksItemTriggerType: + enum: + - form_submission + - site_publish + - page_created + - page_metadata_updated + - page_deleted + - ecomm_new_order + - ecomm_order_changed + - ecomm_inventory_changed + - user_account_added + - user_account_updated + - user_account_deleted + - collection_item_created + - collection_item_changed + - collection_item_deleted + - collection_item_unpublished + docs: > + * `form_submission` - Sends the [form_submission](#form_submission) event + + * `site_publish` - Sends a [site_publish](#site_publish) event + + * `page_created` - Send the [page_created](#page_created) event + + * `page_metadata_updated` - Sends the + [page_metadata_updated](#page_metadata_updated) event + + * `page_deleted` - Sends the [page_deleted](#page_deleted) event + + * `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) + event + + * `ecomm_order_changed` - Sends the + [ecomm_order_changed](#ecomm_order_changed) event + + * `ecomm_inventory_changed` - Sends the + [ecomm_inventory_changed](#ecomm_inventory_changed) event + + * `user_account_added` - Sends the + [user_account_added](#user_account_added) event + + * `user_account_updated` - Sends the + [user_account_updated](#user_account_updated) event + + * `user_account_deleted` - Sends the + [user_account_deleted](#user_account_deleted) event + + * `collection_item_created` - Sends the + [collection_item_created](#collection_item_created) event + + * `collection_item_changed` - Sends the + [collection_item_changed](#collection_item_changed) event + + * `collection_item_deleted` - Sends the + [collection_item_deleted](#collection_item_deleted) event + + * `collection_item_unpublished` - Sends the + [collection_item_unpublished](#collection_item_unpublished) event + source: + openapi: v2-data.yml + WebhooksListResponseWebhooksItemFilter: + docs: >- + Only supported for the `form_submission` trigger type. Filter for the form + you want Webhooks to be sent for. + properties: + name: + type: optional + docs: The name of the form you'd like to recieve notifications for. + source: + openapi: v2-data.yml + WebhooksListResponseWebhooksItem: + properties: + id: + type: optional + docs: Unique identifier for the Webhook registration + triggerType: + type: optional + docs: > + * `form_submission` - Sends the [form_submission](#form_submission) + event + + * `site_publish` - Sends a [site_publish](#site_publish) event + + * `page_created` - Send the [page_created](#page_created) event + + * `page_metadata_updated` - Sends the + [page_metadata_updated](#page_metadata_updated) event + + * `page_deleted` - Sends the [page_deleted](#page_deleted) event + + * `ecomm_new_order` - Sends the new + [ecomm_new_order](#ecomm_new_order) event + + * `ecomm_order_changed` - Sends the + [ecomm_order_changed](#ecomm_order_changed) event + + * `ecomm_inventory_changed` - Sends the + [ecomm_inventory_changed](#ecomm_inventory_changed) event + + * `user_account_added` - Sends the + [user_account_added](#user_account_added) event + + * `user_account_updated` - Sends the + [user_account_updated](#user_account_updated) event + + * `user_account_deleted` - Sends the + [user_account_deleted](#user_account_deleted) event + + * `collection_item_created` - Sends the + [collection_item_created](#collection_item_created) event + + * `collection_item_changed` - Sends the + [collection_item_changed](#collection_item_changed) event + + * `collection_item_deleted` - Sends the + [collection_item_deleted](#collection_item_deleted) event + + * `collection_item_unpublished` - Sends the + [collection_item_unpublished](#collection_item_unpublished) event + url: + type: optional + docs: URL to send the Webhook payload to + workspaceId: + type: optional + docs: Unique identifier for the Workspace the Webhook is registered in + siteId: + type: optional + docs: Unique identifier for the Site the Webhook is registered in + filter: + type: optional + docs: >- + Only supported for the `form_submission` trigger type. Filter for the + form you want Webhooks to be sent for. + lastTriggered: + type: optional + docs: Date the Webhook instance was last triggered + createdOn: + type: optional + docs: Date the Webhook registration was created + source: + openapi: v2-data.yml + WebhooksListResponse: + properties: + pagination: + type: optional + docs: Pagination object + webhooks: optional> + source: + openapi: v2-data.yml + WebhooksCreateRequestTriggerType: + enum: + - form_submission + - site_publish + - page_created + - page_metadata_updated + - page_deleted + - ecomm_new_order + - ecomm_order_changed + - ecomm_inventory_changed + - user_account_added + - user_account_updated + - user_account_deleted + - collection_item_created + - collection_item_changed + - collection_item_deleted + - collection_item_unpublished + docs: > + * `form_submission` - Sends the [form_submission](#form_submission) event + + * `site_publish` - Sends a [site_publish](#site_publish) event + + * `page_created` - Send the [page_created](#page_created) event + + * `page_metadata_updated` - Sends the + [page_metadata_updated](#page_metadata_updated) event + + * `page_deleted` - Sends the [page_deleted](#page_deleted) event + + * `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) + event + + * `ecomm_order_changed` - Sends the + [ecomm_order_changed](#ecomm_order_changed) event + + * `ecomm_inventory_changed` - Sends the + [ecomm_inventory_changed](#ecomm_inventory_changed) event + + * `user_account_added` - Sends the + [user_account_added](#user_account_added) event + + * `user_account_updated` - Sends the + [user_account_updated](#user_account_updated) event + + * `user_account_deleted` - Sends the + [user_account_deleted](#user_account_deleted) event + + * `collection_item_created` - Sends the + [collection_item_created](#collection_item_created) event + + * `collection_item_changed` - Sends the + [collection_item_changed](#collection_item_changed) event + + * `collection_item_deleted` - Sends the + [collection_item_deleted](#collection_item_deleted) event + + * `collection_item_unpublished` - Sends the + [collection_item_unpublished](#collection_item_unpublished) event + source: + openapi: v2-data.yml + WebhooksCreateRequestFilter: + docs: >- + Only supported for the `form_submission` trigger type. Filter for the form + you want Webhooks to be sent for. + properties: + name: + type: optional + docs: The name of the form you'd like to recieve notifications for. + source: + openapi: v2-data.yml + WebhooksCreateResponseTriggerType: + enum: + - form_submission + - site_publish + - page_created + - page_metadata_updated + - page_deleted + - ecomm_new_order + - ecomm_order_changed + - ecomm_inventory_changed + - user_account_added + - user_account_updated + - user_account_deleted + - collection_item_created + - collection_item_changed + - collection_item_deleted + - collection_item_unpublished + docs: > + * `form_submission` - Sends the [form_submission](#form_submission) event + + * `site_publish` - Sends a [site_publish](#site_publish) event + + * `page_created` - Send the [page_created](#page_created) event + + * `page_metadata_updated` - Sends the + [page_metadata_updated](#page_metadata_updated) event + + * `page_deleted` - Sends the [page_deleted](#page_deleted) event + + * `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) + event + + * `ecomm_order_changed` - Sends the + [ecomm_order_changed](#ecomm_order_changed) event + + * `ecomm_inventory_changed` - Sends the + [ecomm_inventory_changed](#ecomm_inventory_changed) event + + * `user_account_added` - Sends the + [user_account_added](#user_account_added) event + + * `user_account_updated` - Sends the + [user_account_updated](#user_account_updated) event + + * `user_account_deleted` - Sends the + [user_account_deleted](#user_account_deleted) event + + * `collection_item_created` - Sends the + [collection_item_created](#collection_item_created) event + + * `collection_item_changed` - Sends the + [collection_item_changed](#collection_item_changed) event + + * `collection_item_deleted` - Sends the + [collection_item_deleted](#collection_item_deleted) event + + * `collection_item_unpublished` - Sends the + [collection_item_unpublished](#collection_item_unpublished) event + source: + openapi: v2-data.yml + WebhooksCreateResponseFilter: + docs: >- + Only supported for the `form_submission` trigger type. Filter for the form + you want Webhooks to be sent for. + properties: + name: + type: optional + docs: The name of the form you'd like to recieve notifications for. + source: + openapi: v2-data.yml + WebhooksCreateResponse: + properties: + id: + type: optional + docs: Unique identifier for the Webhook registration + triggerType: + type: optional + docs: > + * `form_submission` - Sends the [form_submission](#form_submission) + event + + * `site_publish` - Sends a [site_publish](#site_publish) event + + * `page_created` - Send the [page_created](#page_created) event + + * `page_metadata_updated` - Sends the + [page_metadata_updated](#page_metadata_updated) event + + * `page_deleted` - Sends the [page_deleted](#page_deleted) event + + * `ecomm_new_order` - Sends the new + [ecomm_new_order](#ecomm_new_order) event + + * `ecomm_order_changed` - Sends the + [ecomm_order_changed](#ecomm_order_changed) event + + * `ecomm_inventory_changed` - Sends the + [ecomm_inventory_changed](#ecomm_inventory_changed) event + + * `user_account_added` - Sends the + [user_account_added](#user_account_added) event + + * `user_account_updated` - Sends the + [user_account_updated](#user_account_updated) event + + * `user_account_deleted` - Sends the + [user_account_deleted](#user_account_deleted) event + + * `collection_item_created` - Sends the + [collection_item_created](#collection_item_created) event + + * `collection_item_changed` - Sends the + [collection_item_changed](#collection_item_changed) event + + * `collection_item_deleted` - Sends the + [collection_item_deleted](#collection_item_deleted) event + + * `collection_item_unpublished` - Sends the + [collection_item_unpublished](#collection_item_unpublished) event + url: + type: optional + docs: URL to send the Webhook payload to + workspaceId: + type: optional + docs: Unique identifier for the Workspace the Webhook is registered in + siteId: + type: optional + docs: Unique identifier for the Site the Webhook is registered in + filter: + type: optional + docs: >- + Only supported for the `form_submission` trigger type. Filter for the + form you want Webhooks to be sent for. + lastTriggered: + type: optional + docs: Date the Webhook instance was last triggered + createdOn: + type: optional + docs: Date the Webhook registration was created + source: + openapi: v2-data.yml + WebhooksGetResponseTriggerType: + enum: + - form_submission + - site_publish + - page_created + - page_metadata_updated + - page_deleted + - ecomm_new_order + - ecomm_order_changed + - ecomm_inventory_changed + - user_account_added + - user_account_updated + - user_account_deleted + - collection_item_created + - collection_item_changed + - collection_item_deleted + - collection_item_unpublished + docs: > + * `form_submission` - Sends the [form_submission](#form_submission) event + + * `site_publish` - Sends a [site_publish](#site_publish) event + + * `page_created` - Send the [page_created](#page_created) event + + * `page_metadata_updated` - Sends the + [page_metadata_updated](#page_metadata_updated) event + + * `page_deleted` - Sends the [page_deleted](#page_deleted) event + + * `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) + event + + * `ecomm_order_changed` - Sends the + [ecomm_order_changed](#ecomm_order_changed) event + + * `ecomm_inventory_changed` - Sends the + [ecomm_inventory_changed](#ecomm_inventory_changed) event + + * `user_account_added` - Sends the + [user_account_added](#user_account_added) event + + * `user_account_updated` - Sends the + [user_account_updated](#user_account_updated) event + + * `user_account_deleted` - Sends the + [user_account_deleted](#user_account_deleted) event + + * `collection_item_created` - Sends the + [collection_item_created](#collection_item_created) event + + * `collection_item_changed` - Sends the + [collection_item_changed](#collection_item_changed) event + + * `collection_item_deleted` - Sends the + [collection_item_deleted](#collection_item_deleted) event + + * `collection_item_unpublished` - Sends the + [collection_item_unpublished](#collection_item_unpublished) event + source: + openapi: v2-data.yml + WebhooksGetResponseFilter: + docs: >- + Only supported for the `form_submission` trigger type. Filter for the form + you want Webhooks to be sent for. + properties: + name: + type: optional + docs: The name of the form you'd like to recieve notifications for. + source: + openapi: v2-data.yml + WebhooksGetResponse: + properties: + id: + type: optional + docs: Unique identifier for the Webhook registration + triggerType: + type: optional + docs: > + * `form_submission` - Sends the [form_submission](#form_submission) + event + + * `site_publish` - Sends a [site_publish](#site_publish) event + + * `page_created` - Send the [page_created](#page_created) event + + * `page_metadata_updated` - Sends the + [page_metadata_updated](#page_metadata_updated) event + + * `page_deleted` - Sends the [page_deleted](#page_deleted) event + + * `ecomm_new_order` - Sends the new + [ecomm_new_order](#ecomm_new_order) event + + * `ecomm_order_changed` - Sends the + [ecomm_order_changed](#ecomm_order_changed) event + + * `ecomm_inventory_changed` - Sends the + [ecomm_inventory_changed](#ecomm_inventory_changed) event + + * `user_account_added` - Sends the + [user_account_added](#user_account_added) event + + * `user_account_updated` - Sends the + [user_account_updated](#user_account_updated) event + + * `user_account_deleted` - Sends the + [user_account_deleted](#user_account_deleted) event + + * `collection_item_created` - Sends the + [collection_item_created](#collection_item_created) event + + * `collection_item_changed` - Sends the + [collection_item_changed](#collection_item_changed) event + + * `collection_item_deleted` - Sends the + [collection_item_deleted](#collection_item_deleted) event + + * `collection_item_unpublished` - Sends the + [collection_item_unpublished](#collection_item_unpublished) event + url: + type: optional + docs: URL to send the Webhook payload to + workspaceId: + type: optional + docs: Unique identifier for the Workspace the Webhook is registered in + siteId: + type: optional + docs: Unique identifier for the Site the Webhook is registered in + filter: + type: optional + docs: >- + Only supported for the `form_submission` trigger type. Filter for the + form you want Webhooks to be sent for. + lastTriggered: + type: optional + docs: Date the Webhook instance was last triggered + createdOn: + type: optional + docs: Date the Webhook registration was created + source: + openapi: v2-data.yml +imports: + root: __package__.yml +service: + auth: false + base-path: '' + endpoints: + list: + path: /sites/{site_id}/webhooks + method: GET + auth: true + docs: | + List all App-created Webhooks registered for a given site + + Required scope | `sites:read` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + display-name: List Webhooks + response: + docs: Request was successful + type: WebhooksListResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + response: + body: + pagination: + limit: 100 + offset: 0 + total: 100 + webhooks: + - id: 57ca0a9e418c504a6e1acbb6 + triggerType: form_submission + url: https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f + workspaceId: 4f4e46fd476ea8c507000001 + siteId: 562ac0395358780a1f5e6fbd + filter: + name: Email Form + lastTriggered: '2023-02-08T23:59:28Z' + createdOn: '2016-09-02T23:26:22Z' + - id: 578d85cce0c47cd2865f4cf2 + triggerType: form_submission + url: https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f + workspaceId: 4f4e46fd476ea8c507000001 + siteId: 562ac0395358780a1f5e6fbd + filter: + name: Email Form + lastTriggered: '2023-02-08T23:59:28Z' + createdOn: '2016-07-19T01:43:40Z' + - id: 578d85cce0c47cd2865f4cf3 + triggerType: form_submission + url: https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f + workspaceId: 4f4e46fd476ea8c507000001 + siteId: 562ac0395358780a1f5e6fbd + filter: + name: Email Form + lastTriggered: '2023-02-08T23:59:28Z' + createdOn: '2016-07-19T01:43:40Z' + create: + path: /sites/{site_id}/webhooks + method: POST + auth: true + docs: > + Create a new Webhook. + + + Limit of 75 registrations per `triggerType`, per site. + +
Access to this + endpoint requires a bearer token from a Data + Client App.
+ + Required scope | `sites:write` + source: + openapi: v2-data.yml + path-parameters: + site_id: + type: string + docs: Unique identifier for a Site + display-name: Create Webhook + request: + name: WebhooksCreateRequest + body: + properties: + triggerType: + type: optional + docs: > + * `form_submission` - Sends the + [form_submission](#form_submission) event + + * `site_publish` - Sends a [site_publish](#site_publish) event + + * `page_created` - Send the [page_created](#page_created) event + + * `page_metadata_updated` - Sends the + [page_metadata_updated](#page_metadata_updated) event + + * `page_deleted` - Sends the [page_deleted](#page_deleted) event + + * `ecomm_new_order` - Sends the new + [ecomm_new_order](#ecomm_new_order) event + + * `ecomm_order_changed` - Sends the + [ecomm_order_changed](#ecomm_order_changed) event + + * `ecomm_inventory_changed` - Sends the + [ecomm_inventory_changed](#ecomm_inventory_changed) event + + * `user_account_added` - Sends the + [user_account_added](#user_account_added) event + + * `user_account_updated` - Sends the + [user_account_updated](#user_account_updated) event + + * `user_account_deleted` - Sends the + [user_account_deleted](#user_account_deleted) event + + * `collection_item_created` - Sends the + [collection_item_created](#collection_item_created) event + + * `collection_item_changed` - Sends the + [collection_item_changed](#collection_item_changed) event + + * `collection_item_deleted` - Sends the + [collection_item_deleted](#collection_item_deleted) event + + * `collection_item_unpublished` - Sends the + [collection_item_unpublished](#collection_item_unpublished) + event + url: + type: optional + docs: URL to send the Webhook payload to + filter: + type: optional + docs: >- + Only supported for the `form_submission` trigger type. Filter + for the form you want Webhooks to be sent for. + content-type: application/json + response: + docs: Request was successful + type: WebhooksCreateResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + site_id: 580e63e98c9a982ac9b8b741 + request: + triggerType: form_submission + url: https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f + response: + body: + id: 582266e0cd48de0f0e3c6d8b + triggerType: form_submission + url: https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f + workspaceId: 4f4e46fd476ea8c507000001 + siteId: 562ac0395358780a1f5e6fbd + filter: + name: My Form + lastTriggered: '2023-02-08T23:59:28Z' + createdOn: '2022-11-08T23:59:28Z' + get: + path: /webhooks/{webhook_id} + method: GET + auth: true + docs: | + Get a specific Webhook instance + + Required scope: `sites:read` + source: + openapi: v2-data.yml + path-parameters: + webhook_id: + type: string + docs: Unique identifier for a Webhook + display-name: Get Webhook + response: + docs: Request was successful + type: WebhooksGetResponse + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + webhook_id: 580e64008c9a982ac9b8b754 + response: + body: + id: 582266e0cd48de0f0e3c6d8b + triggerType: form_submission + url: https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f + workspaceId: 4f4e46fd476ea8c507000001 + siteId: 562ac0395358780a1f5e6fbd + filter: + name: My Form + lastTriggered: '2023-02-08T23:59:28Z' + createdOn: '2022-11-08T23:59:28Z' + delete: + path: /webhooks/{webhook_id} + method: DELETE + auth: true + docs: | + Remove a Webhook + + Required scope: `sites:read` + source: + openapi: v2-data.yml + path-parameters: + webhook_id: + type: string + docs: Unique identifier for a Webhook + display-name: Remove Webhook + errors: + - root.BadRequestError + - root.UnauthorizedError + - root.NotFoundError + - root.TooManyRequestsError + - root.InternalServerError + examples: + - path-parameters: + webhook_id: 580e64008c9a982ac9b8b754 + source: + openapi: v2-data.yml + display-name: Webhooks diff --git a/.mock/fern.config.json b/.mock/fern.config.json new file mode 100644 index 00000000..b1a534b3 --- /dev/null +++ b/.mock/fern.config.json @@ -0,0 +1,4 @@ +{ + "organization" : "webflow", + "version" : "0.45.0-rc43" +} \ No newline at end of file diff --git a/.mock/v2-data.yml b/.mock/v2-data.yml new file mode 100644 index 00000000..a032d2f1 --- /dev/null +++ b/.mock/v2-data.yml @@ -0,0 +1,53565 @@ +openapi: 3.1.0 +info: + version: 2.0.0 + title: Data API + description: Webflow's Data API v2 + termsOfService: 'https://webflow.com/legal/terms' + license: + name: MIT + url: 'https://opensource.org/licenses/MIT' +servers: + - url: 'https://api.webflow.com/v2' +security: + - OAuth2: [] + - ApiKey: [] +tags: + - name: Meta + - name: Sites + - name: Assets + - name: Forms + - name: Pages + - name: Collections + - name: Items + - name: Users + - name: Products & SKUs + - name: Orders + - name: Inventory + - name: Settings + - name: Webhooks + - name: Custom Code + - name: Custom Code - Sites + - name: Custom Code - Pages +paths: + /token/authorized_by: + get: + x-fern-sdk-group-name: token + x-fern-sdk-method-name: authorized-by + security: + - OAuth2: + - 'authorized_user:read' + operationId: authorized_by + summary: Get Authorization User Info + description: | + Information about the Authorized User + + Required Scope | `authorized_user:read` + tags: + - Meta + responses: + '200': + description: Request was successful + content: + application/json: + schema: + example: + id: 545bbecb7bdd6769632504a7 + email: some@email.com + firstName: Some + lastName: One + properties: + id: + type: string + format: objectid + description: The unique ID of the user + example: 545bbecb7bdd6769632504a7 + email: + type: string + format: email + description: The user's email address + example: someone@email.com + firstName: + type: string + description: The user's first name + example: Some + lastName: + type: string + description: The user's last name + example: One + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: 'Provided access token is valid, but is missing the required scopes.' + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: missing_scopes + message: 'OAuthForbidden: You are missing the following scopes - components:write' + externalReference: null + details: [] + 4XX: + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + 5XX: + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + /token/introspect: + get: + x-fern-sdk-group-name: token + x-fern-sdk-method-name: introspect + operationId: introspect + summary: Get Authorization Info + description: | + Information about the authorization token + Access to this endpoint requires a bearer token from a []>Data Client App](/data/docs/getting-started-data-clients). + tags: + - Meta + responses: + '200': + description: Request was successful + content: + application/json: + schema: + example: + authorization: + id: 55818d58616600637b9a5786 + createdOn: '2016-10-03T23:12:00.755Z' + lastUsed: '2016-10-10T21:41:12.736Z' + grantType: authorization_code + rateLimit: 60 + scope: 'assets:read,assets:write' + authorizedTo: + siteIds: + - 62f3b1f7eafac55d0c64ef91 + workspaceIds: + - 52f3b1f7eafac55d0c64ef91 + userIds: + - 545bbecb7bdd6769632504a7 + application: + id: 55131cd036c09f7d07883dfc + description: My Amazing App + homepage: 'https://webflow.com' + displayName: My Amazing App + properties: + authorization: + type: object + description: The Authorization object + properties: + id: + type: string + format: objectid + example: 55818d58616600637b9a5786 + description: The unique ID of the Authorization instance + createdOn: + type: string + format: date-time + example: '2016-10-03T23:12:00.755Z' + description: The date the Authorization was created + lastUsed: + type: string + format: date-time + example: '2016-10-10T21:41:12.736Z' + description: The date the Authorization was last used + grantType: + type: string + example: authorization_code + description: The grant type of the Authorization + rateLimit: + type: integer + format: int32 + example: 60 + description: The default rate limit for the Authorization (requests/min) + scope: + type: string + example: 'custom_code:read sites:read' + description: Comma separted list of OAuth scopes corresponding to the Authorization + authorizedTo: + type: object + example: + siteIds: + - 62f3b1f7eafac55d0c64ef91 + workspaceIds: + - ' 72f3b1f7eafac55d0c64ef91' + userIds: + - 545bbecb7bdd6769632504a7 + properties: + siteIds: + type: array + description: Array of Sites this app is authorized to + example: + - 62f3b1f7eafac55d0c64ef91 + workspaceIds: + type: array + description: Array of Workspaces this app is authorized to + example: + - 72f3b1f7eafac55d0c64ef91 + userIds: + type: array + description: Array of Users this app is authorized to + example: + - 545bbecb7bdd6769632504a7 + application: + Application: + properties: + id: + type: string + format: objectid + example: 55131cd036c09f7d07883dfc + description: Unique identifier for the Application + description: + type: string + example: OAuth Testing Application + description: Application description provided by the developer + homepage: + type: string + format: uri + example: 'https://webflow.com' + description: Application homepage URL provided by the developer + displayName: + type: string + example: Test App + description: Application name provided by the developer + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + 4XX: + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + 5XX: + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + /sites: + get: + x-fern-sdk-group-name: sites + x-fern-sdk-method-name: list + security: + - OAuth2: + - 'sites:read' + operationId: list-sites + summary: List Sites + description: | + List of all sites the provided access token is able to access. + + Required scope | `sites:read` + tags: + - Sites + responses: + '200': + description: Request was successful + content: + application/json: + schema: + type: object + properties: + sites: + type: array + items: + example: + id: 42e98c9a982ac9b8b742 + workspaceId: 42e63e98c9a982ac9b8b742 + displayName: The Hitchhiker's Guide to the Galaxy + shortName: hitchhikers-guide + previewUrl: 'https://screenshots.webflow.com/sites/6258612d1ee792848f805dcf/20231219211811_d5990556c743f33b7071300a03bf67e6.png' + timeZone: Magrathea/FactoryFloor + createdOn: '1979-10-12T12:00:00.000Z' + lastUpdated: '2023-04-02T12:42:00.000Z' + lastPublished: '2023-04-02T12:42:00.000Z' + parentFolderId: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6 + customDomains: + - id: 589a331aa51e760df7ccb89d + url: hitchhikersguide.galaxy + - id: 589a331aa51e760df7ccb89e + url: heartofgold.spaceship + locales: + value: + primary: + id: 653fd9af6a07fc9cfd7a5e57 + cmsLocaleId: 653ad57de882f528b32e810e + enabled: false + displayName: English (United States) + displayImageId: null + redirect: true + subdirectory: '' + tag: en-US + secondary: + - id: 653fd9af6a07fc9cfd7a5e56 + cmsLocaleId: 653fd9af6a07fc9cfd7a5e5d + enabled: true + displayName: French (France) + displayImageId: null + subdirectory: fr-fr + tag: fr-FR + - id: 654112a3a525b2739d97664c + cmsLocaleId: 654112a3a525b2739d97664f + enabled: true + displayName: Spanish (Mexico) + displayImageId: null + subdirectory: es-mx + tag: es-MX + required: + - id + properties: + id: + type: string + format: objectid + description: Unique identifier for the Site + example: 580e63e98c9a982ac9b8b741 + workspaceId: + type: string + format: objectid + description: Unique identifier for the Workspace + example: 580e63e98c9a982ac9b8b741 + createdOn: + type: string + format: date-time + description: Date the Site was created + example: '2016-10-24T19:41:29.156Z' + displayName: + type: string + description: Name given to Site + example: api_docs_sample_json + shortName: + type: string + description: Slugified version of name + example: api-docs-sample-json + lastPublished: + type: string + format: date-time + description: Date the Site was last published + example: '2016-10-24T19:43:17.271Z' + lastUpdated: + type: string + format: date-time + description: Date the Site was last updated + example: '2016-10-24T19:43:17.271Z' + previewUrl: + type: string + format: uri + description: URL of a generated image for the given Site + example: 'https://d1otoma47x30pg.cloudfront.net/580e63e98c9a982ac9b8b741/201610241243.png' + timeZone: + type: string + description: Site timezone set under Site Settings + example: America/Los_Angeles + parentFolderId: + type: string + format: objectid + nullable: true + description: The ID of the parent folder the Site exists in + example: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6 + customDomains: + type: array + items: + type: object + required: + - id + properties: + id: + type: string + format: objectid + example: 589a331aa51e760df7ccb89d + description: Unique identifier for the Domain + readOnly: true + url: + type: string + example: test-api-domain.com + description: The registered Domain name + example: + id: 589a331aa51e760df7ccb89d + url: test-api-domain.com + locales: + type: object + properties: + primary: + description: The primary locale for the site or application. + type: object + properties: + id: + type: string + description: The unique identifier for the locale. + example: 653fd9af6a07fc9cfd7a5e57 + cmsLocaleId: + type: string + description: A CMS-specific identifier for the locale. + example: 653ad57de882f528b32e810e + enabled: + type: boolean + description: Indicates if the locale is enabled. + example: false + displayName: + type: string + description: 'The display name of the locale, typically in English.' + example: English (United States) + displayImageId: + type: string + description: 'An optional ID for an image associated with the locale, nullable.' + nullable: true + example: null + redirect: + type: boolean + description: Determines if requests should redirect to the locale's subdirectory. + example: true + subdirectory: + type: string + description: 'The subdirectory path for the locale, used in URLs.' + example: '' + tag: + type: string + description: 'A tag or code representing the locale, often following a standard format like ''en-US''.' + example: en-US + secondary: + type: array + items: + type: object + properties: + id: + type: string + description: The unique identifier for the locale. + example: 653fd9af6a07fc9cfd7a5e57 + cmsLocaleId: + type: string + description: A CMS-specific identifier for the locale. + example: 653ad57de882f528b32e810e + enabled: + type: boolean + description: Indicates if the locale is enabled. + example: false + displayName: + type: string + description: 'The display name of the locale, typically in English.' + example: English (United States) + displayImageId: + type: string + description: 'An optional ID for an image associated with the locale, nullable.' + nullable: true + example: null + redirect: + type: boolean + description: Determines if requests should redirect to the locale's subdirectory. + example: true + subdirectory: + type: string + description: 'The subdirectory path for the locale, used in URLs.' + example: '' + tag: + type: string + description: 'A tag or code representing the locale, often following a standard format like ''en-US''.' + example: en-US + description: A list of secondary locales available for the site or application. + example: + sites: + - id: 42e63e98c9a982ac9b8b741 + workspaceId: 42e63fc8c9a982ac9b8b744 + createdOn: '1979-10-12T12:00:00.000Z' + displayName: Heart of Gold Spaceship + shortName: heart-of-gold + lastPublished: '2023-04-02T12:42:00.000Z' + previewUrl: 'https://d1otoma47x30pg.cloudfront.net/42e63e98c9a982ac9b8b741/197910121200.png' + timeZone: DeepSpace/InfiniteImprobability + parentFolderId: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6 + customDomains: + - id: 589a331aa51e760df7ccb89e + url: heartofgold.galaxy + locales: + primary: + id: 653fd9af6a07fc9cfd7a5e57 + cmsLocaleId: 653ad57de882f528b32e810e + enabled: true + displayName: English - Heart of Gold Standard + redirect: false + subdirectory: /en + tag: The Ultimate Answer + secondary: + - id: 653fd9af6a07fc9cfd7a5e58 + cmsLocaleId: 653ad57de882f528b32e810g + enabled: true + displayName: Betelgeusian - Vogon Liaison + redirect: true + subdirectory: /bet + tag: Vogon + - id: 653fd9af6a07fc9cfd7a5e59 + cmsLocaleId: 653ad57de882f528b32e810h + enabled: false + displayName: Magrathean - Custom Planet Designs + redirect: true + subdirectory: /mg + tag: Magrathean + - id: 42e63e98c9a982ac9b8b742 + workspaceId: 42e63fc8c9a982ac9b8b745 + createdOn: '1981-10-12T12:00:00.000Z' + displayName: Marvin's Personal Blog + shortName: paranoid-android + lastPublished: '2023-04-02T12:45:00.000Z' + previewUrl: 'https://d1otoma47x30pg.cloudfront.net/42e63e98c9a982ac9b8b742/198110121200.png' + timeZone: DeepSpace/Depression + parentFolderId: null + customDomains: + - id: 589a331aa51e760df7ccb89f + url: marvin.blog + locales: + primary: + id: 653fd9af6a07fc9cfd7a5e57 + cmsLocaleId: 653ad57de882f528b32e810e + enabled: true + displayName: English - Marvin's Musings + redirect: false + subdirectory: /en + tag: English + secondary: + - id: 653fd9af6a07fc9cfd7a5e56 + cmsLocaleId: 653ad57de882f528b32e810f + enabled: true + displayName: Squornshellous - Mattress Speak + redirect: true + subdirectory: /sr + tag: Squornshellous + - id: 42e63e98c9a982ac9b8b743 + workspaceId: 42e63fc8c9a982ac9b8b746 + createdOn: '1982-10-12T12:00:00.000Z' + displayName: Vogon Poetry Archive + shortName: vogon-poetry + lastPublished: '2023-04-02T12:50:00.000Z' + previewUrl: 'https://d1otoma47x30pg.cloudfront.net/42e63e98c9a982ac9b8b743/198210121200.png' + timeZone: Vogsphere/PoetryHall + parentFolderId: null + customDomains: + - id: 589a331aa51e760df7ccb8a0 + url: vogonpoetry.galaxy + locales: + primary: + id: 653fd9af6a07fc9cfd7a5e55 + cmsLocaleId: 653ad57de882f528b32e810d + enabled: true + displayName: English - Vogon Verse + redirect: false + subdirectory: /en + tag: Third Worst Poetry + secondary: + - id: 653fd9af6a07fc9cfd7a5e54 + cmsLocaleId: 653ad57de882f528b32e810c + enabled: true + displayName: Galactic - Universal Language + redirect: true + subdirectory: /gl + tag: Pan-Galactic Gargle Blaster + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + 4XX: + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + 5XX: + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/sites/{site_id}': + get: + x-fern-sdk-group-name: sites + x-fern-sdk-method-name: get + security: + - OAuth2: + - 'sites:read' + operationId: get-site + summary: Get Site + description: | + Get details of a site. + + Required scope | `sites:read` + tags: + - Sites + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + responses: + '200': + description: Request was successful + content: + application/json: + schema: + example: + id: 42e98c9a982ac9b8b742 + workspaceId: 42e63e98c9a982ac9b8b742 + displayName: The Hitchhiker's Guide to the Galaxy + shortName: hitchhikers-guide + previewUrl: 'https://screenshots.webflow.com/sites/6258612d1ee792848f805dcf/20231219211811_d5990556c743f33b7071300a03bf67e6.png' + timeZone: Magrathea/FactoryFloor + createdOn: '1979-10-12T12:00:00.000Z' + lastUpdated: '2023-04-02T12:42:00.000Z' + lastPublished: '2023-04-02T12:42:00.000Z' + parentFolderId: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6 + customDomains: + - id: 589a331aa51e760df7ccb89d + url: hitchhikersguide.galaxy + - id: 589a331aa51e760df7ccb89e + url: heartofgold.spaceship + locales: + value: + primary: + id: 653fd9af6a07fc9cfd7a5e57 + cmsLocaleId: 653ad57de882f528b32e810e + enabled: false + displayName: English (United States) + displayImageId: null + redirect: true + subdirectory: '' + tag: en-US + secondary: + - id: 653fd9af6a07fc9cfd7a5e56 + cmsLocaleId: 653fd9af6a07fc9cfd7a5e5d + enabled: true + displayName: French (France) + displayImageId: null + subdirectory: fr-fr + tag: fr-FR + - id: 654112a3a525b2739d97664c + cmsLocaleId: 654112a3a525b2739d97664f + enabled: true + displayName: Spanish (Mexico) + displayImageId: null + subdirectory: es-mx + tag: es-MX + required: + - id + properties: + id: + type: string + format: objectid + description: Unique identifier for the Site + example: 580e63e98c9a982ac9b8b741 + workspaceId: + type: string + format: objectid + description: Unique identifier for the Workspace + example: 580e63e98c9a982ac9b8b741 + createdOn: + type: string + format: date-time + description: Date the Site was created + example: '2016-10-24T19:41:29.156Z' + displayName: + type: string + description: Name given to Site + example: api_docs_sample_json + shortName: + type: string + description: Slugified version of name + example: api-docs-sample-json + lastPublished: + type: string + format: date-time + description: Date the Site was last published + example: '2016-10-24T19:43:17.271Z' + lastUpdated: + type: string + format: date-time + description: Date the Site was last updated + example: '2016-10-24T19:43:17.271Z' + previewUrl: + type: string + format: uri + description: URL of a generated image for the given Site + example: 'https://d1otoma47x30pg.cloudfront.net/580e63e98c9a982ac9b8b741/201610241243.png' + timeZone: + type: string + description: Site timezone set under Site Settings + example: America/Los_Angeles + parentFolderId: + type: string + format: objectid + nullable: true + description: The ID of the parent folder the Site exists in + example: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6 + customDomains: + type: array + items: + type: object + required: + - id + properties: + id: + type: string + format: objectid + example: 589a331aa51e760df7ccb89d + description: Unique identifier for the Domain + readOnly: true + url: + type: string + example: test-api-domain.com + description: The registered Domain name + example: + id: 589a331aa51e760df7ccb89d + url: test-api-domain.com + locales: + type: object + properties: + primary: + description: The primary locale for the site or application. + type: object + properties: + id: + type: string + description: The unique identifier for the locale. + example: 653fd9af6a07fc9cfd7a5e57 + cmsLocaleId: + type: string + description: A CMS-specific identifier for the locale. + example: 653ad57de882f528b32e810e + enabled: + type: boolean + description: Indicates if the locale is enabled. + example: false + displayName: + type: string + description: 'The display name of the locale, typically in English.' + example: English (United States) + displayImageId: + type: string + description: 'An optional ID for an image associated with the locale, nullable.' + nullable: true + example: null + redirect: + type: boolean + description: Determines if requests should redirect to the locale's subdirectory. + example: true + subdirectory: + type: string + description: 'The subdirectory path for the locale, used in URLs.' + example: '' + tag: + type: string + description: 'A tag or code representing the locale, often following a standard format like ''en-US''.' + example: en-US + secondary: + type: array + items: + type: object + properties: + id: + type: string + description: The unique identifier for the locale. + example: 653fd9af6a07fc9cfd7a5e57 + cmsLocaleId: + type: string + description: A CMS-specific identifier for the locale. + example: 653ad57de882f528b32e810e + enabled: + type: boolean + description: Indicates if the locale is enabled. + example: false + displayName: + type: string + description: 'The display name of the locale, typically in English.' + example: English (United States) + displayImageId: + type: string + description: 'An optional ID for an image associated with the locale, nullable.' + nullable: true + example: null + redirect: + type: boolean + description: Determines if requests should redirect to the locale's subdirectory. + example: true + subdirectory: + type: string + description: 'The subdirectory path for the locale, used in URLs.' + example: '' + tag: + type: string + description: 'A tag or code representing the locale, often following a standard format like ''en-US''.' + example: en-US + description: A list of secondary locales available for the site or application. + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/sites/{site_id}/custom_domains': + get: + x-fern-sdk-group-name: sites + x-fern-sdk-method-name: get-custom-domain + security: + - OAuth2: + - 'sites:read' + operationId: get-custom-domains + summary: Get Custom Domains + description: | + Get a list of all custom domains related to site. + + Required scope | `sites:read` + tags: + - Sites + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + responses: + '200': + description: Request was successful + content: + application/json: + schema: + type: object + properties: + customDomains: + type: array + items: + type: object + required: + - id + properties: + id: + type: string + format: objectid + example: 589a331aa51e760df7ccb89d + description: Unique identifier for the Domain + readOnly: true + url: + type: string + example: test-api-domain.com + description: The registered Domain name + example: + id: 589a331aa51e760df7ccb89d + url: test-api-domain.com + example: + customDomains: + - id: 589a331aa51e760df7ccb89d + url: hitchhikersguide.galaxy + - id: 589a331aa51e760df7ccb89e + url: heartofgold.spaceship + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: Forbidden + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: forbidden + message: User is not authorized to perform this action + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/sites/{site_id}/publish': + post: + x-fern-sdk-group-name: sites + x-fern-sdk-method-name: publish + security: + - OAuth2: + - 'sites:write' + operationId: site-publish + summary: Publish Site + description: | + Publishes a site to one or more more domains. + + This endpoint has a limit of one successful publish queue per minute. + + Required scope | `sites:write` + tags: + - Sites + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + requestBody: + content: + application/json: + schema: + type: object + properties: + customDomains: + description: Array of Custom Domain IDs to publish + type: array + items: + description: The ID of the Custom Domain + type: string + example: 589a331aa51e760df7ccb89d + example: + - 660c6449dd97ebc7346ac629 + - 660c6449dd97ebc7346ac62f + publishToWebflowSubdomain: + description: Choice of whether to publish to the default Webflow Subdomain + type: boolean + default: false + example: false + responses: + '202': + description: Request accepted + content: + application/json: + schema: + type: object + properties: + customDomains: + description: Array of domains objects + type: array + items: + type: object + required: + - id + properties: + id: + type: string + format: objectid + example: 589a331aa51e760df7ccb89d + description: Unique identifier for the Domain + readOnly: true + url: + type: string + example: test-api-domain.com + description: The registered Domain name + example: + id: 589a331aa51e760df7ccb89d + url: test-api-domain.com + publishToWebflowSubdomain: + description: Flag for publishing to webflow.io subdomain + type: boolean + default: false + '400': + description: Bad Request + content: + application/json: + schema: + oneOf: + - description: Requested an invalid Domain. Please send a valid custom domain URI. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: invalid_domain + message: Please send a valid custom domain ID + externalReference: null + details: [] + - description: You must pass at least one domain ID to the publish endpoint. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: no_domains + message: No domain IDs provided + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: Forbidden + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: forbidden + message: User is not authorized to perform this action + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '/sites/{site_id}/activity_logs': + get: + x-fern-sdk-group-name: + - sites + - activity-logs + x-fern-sdk-method-name: list + summary: Get Site Activity Logs + operationId: get-site-activity-logs + description: 'Retrieve Activity Logs for a specific Site. Requires Site to be on an Enterprise plan.

Required scope | `site_activity:read`' + tags: + - Site Activity + - Sites + security: + - OAuth2: + - 'site_activity:read' + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + - in: query + allowEmptyValue: true + name: limit + example: 100 + description: 'Maximum number of records to be returned (max limit: 100)' + required: false + schema: + type: number + - in: query + example: 0 + allowEmptyValue: true + name: offset + description: Offset used for pagination if the results have more than limit records + required: false + schema: + type: number + responses: + '200': + description: A list of site activity logs + content: + application/json: + schema: + type: object + properties: + items: + type: array + items: + type: object + properties: + id: + type: string + createdOn: + type: string + format: date-time + lastUpdated: + type: string + format: date-time + event: + type: string + enum: + - styles_modified + - site_published + - ix2_modified_on_page + - page_dom_modified + - cms_item + - backup_created + - page_custom_code_modified + - symbols_modified + - variable_modified + - variables_modified + - cms_collection + - page_settings_modified + - page_settings_custom_code_modified + - ix2_modified_on_component + - ix2_modified_on_class + - site_custom_code_modified + - page_duplicated + - secondary_locale_page_content_modified + - page_renamed + - page_created + - page_deleted + - site_unpublished + - backup_restored + - locale_added + - branch_created + - locale_display_name_updated + - locale_subdirectory_updated + - branch_merged + - locale_tag_updated + - branch_deleted + - locale_enabled + - locale_removed + - locale_disabled + - library_shared + - library_unshared + - library_installed + - library_uninstalled + - library_update_shared + - library_update_accepted + - branch_review_created + - branch_review_approved + - branch_review_canceled + resourceOperation: + type: string + enum: + - CREATED + - MODIFIED + - PUBLISHED + - UNPUBLISHED + - DELETED + - GROUP_REORDERED + - GROUP_CREATED + - GROUP_DELETED + - REORDERED + user: + type: object + nullable: true + properties: + id: + type: string + displayName: + type: string + resourceId: + type: string + nullable: true + resourceName: + type: string + nullable: true + newValue: + type: string + nullable: true + previousValue: + type: string + nullable: true + payload: + type: object + nullable: true + pagination: + description: Pagination object + type: object + properties: + limit: + type: number + description: The limit used for pagination + example: 100 + offset: + type: number + description: The offset used for pagination + example: 0 + total: + type: number + description: The total number of records + example: 100 + example: + items: + - id: 654c16c7b229e56bcf26872d + createdOn: 2023-11-08T23:16:23.496Z + lastUpdated: 2023-11-08T23:16:23.496Z + event: cms_collection + user: + id: 6509cd56e90eec668b009712 + displayName: John Doe + resourceOperation: CREATED + resourceId: 654c16c7b229e56bcf26870c + resourceName: foo-bar + newValue: null + previousValue: null + payload: null + pagination: + total: 1 + offset: 0 + limit: 25 + '403': + description: Forbidden request + content: + application/json: + schema: + oneOf: + - description: 'Provided access token is valid, but is missing the required scopes.' + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: missing_scopes + message: 'OAuthForbidden: You are missing the following scopes - components:write' + externalReference: null + details: [] + - description: Error response for non-enterprise plan sites. + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_enterprise_plan_site + message: This site is not associated with an Enterprise plan + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/sites/{site_id}/collections': + get: + x-fern-sdk-group-name: collections + x-fern-sdk-method-name: list + security: + - OAuth2: + - 'cms:read' + operationId: list-collections + summary: List Collections + description: | + List of all Collections within a Site. + + Required scope | `cms:read` + tags: + - Collections + - Sites + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + responses: + '200': + description: Request was successful + content: + application/json: + schema: + type: object + example: + collections: + - id: 63692ab61fb2852f582ba8f5 + displayName: Products + singularName: Product + slug: product + createdOn: '2019-06-12T13:35:14.238Z' + lastUpdated: '2022-11-17T15:08:50.480Z' + - id: 63692ab61fb2856e6a2ba8f6 + displayName: Categories + singularName: Category + slug: category + createdOn: '2019-06-12T13:35:14.238Z' + lastUpdated: '2022-11-17T15:08:50.481Z' + - id: 63692ab61fb285a8562ba8f4 + displayName: SKUs + singularName: SKU + slug: sku + createdOn: '2019-06-12T13:35:14.238Z' + lastUpdated: '2022-11-17T15:08:50.478Z' + properties: + collections: + description: An array of Collections + type: array + items: + example: + id: 580e63fc8c9a982ac9b8b745 + displayName: Blog Posts + singularName: Blog Post + slug: post + createdOn: '2016-10-24T19:41:48.349Z' + lastUpdated: '2016-10-24T19:42:38.929Z' + fields: + - id: 23cc2d952d4e4631ffd4345d2743db4e + isEditable: true + isRequired: true + type: PlainText + slug: name + displayName: Name + helpText: null + description: A collection object + type: object + required: + - id + properties: + id: + type: string + format: objectid + description: Unique identifier for a Collection + example: 562ac0395358780a1f5e6fbd + readOnly: true + displayName: + type: string + example: Blog Posts + description: Name given to the Collection + singularName: + type: string + example: Blog Post + description: The name of one Item in Collection (e.g. ”Blog Post” if the Collection is called “Blog Posts”) + slug: + type: string + example: blog-posts + description: Slug of Collection in Site URL structure + createdOn: + type: string + format: date-time + example: '2022-12-07T16:51:37.571Z' + readOnly: true + description: The date the collection was created + lastUpdated: + type: string + format: date-time + example: '2022-12-07T16:51:37.571Z' + readOnly: true + description: The date the collection was last updated + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + post: + x-fern-sdk-group-name: collections + x-fern-sdk-method-name: create + security: + - OAuth2: + - 'cms:write' + operationId: create-collection + summary: Create Collection + description: | + Create a Collection for a site. + + Required scope | `cms:write` + tags: + - Collections + - Sites + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + requestBody: + description: 'Pass the Name of the collection, as well as the singular name of each item in the collection.' + required: true + content: + application/json: + schema: + type: object + required: + - displayName + - singularName + properties: + displayName: + type: string + description: Name of the collection. Each collection name must be distinct. + singularName: + type: string + description: Singular name of each item. + slug: + type: string + description: Part of a URL that identifier + example: + displayName: Blog Posts + singularName: Blog Post + slug: posts + responses: + '200': + description: Request was successful + content: + application/json: + schema: + example: + id: 580e63fc8c9a982ac9b8b745 + displayName: Blog Posts + singularName: Blog Post + slug: post + createdOn: '2016-10-24T19:41:48.349Z' + lastUpdated: '2016-10-24T19:42:38.929Z' + fields: + - id: 23cc2d952d4e4631ffd4345d2743db4e + isEditable: true + isRequired: true + type: PlainText + slug: name + displayName: Name + helpText: null + description: A collection object + type: object + required: + - id + - fields + properties: + id: + type: string + format: objectid + description: Unique identifier for a Collection + example: 562ac0395358780a1f5e6fbd + readOnly: true + displayName: + type: string + example: Blog Posts + description: Name given to the Collection + singularName: + type: string + example: Blog Post + description: The name of one Item in Collection (e.g. ”Blog Post” if the Collection is called “Blog Posts”) + slug: + type: string + example: blog-posts + description: Slug of Collection in Site URL structure + createdOn: + type: string + format: date-time + example: '2022-12-07T16:51:37.571Z' + readOnly: true + description: The date the collection was created + lastUpdated: + type: string + format: date-time + example: '2022-12-07T16:51:37.571Z' + readOnly: true + description: The date the collection was last updated + fields: + type: array + description: The list of fields in the Collection + readOnly: true + items: + description: The details of a field in a collection + example: + id: 75821f618da60c18383330bcc0ca488b + isEditable: true + isRequired: false + type: RichText + slug: post-body + displayName: Post Body + helpText: Add the body of your post here + type: object + required: + - id + - type + - isRequired + - displayName + properties: + id: + type: string + format: objectid + description: Unique identifier for a Field + readOnly: true + isRequired: + type: boolean + description: define whether a field is required in a collection + isEditable: + type: boolean + description: Define whether the field is editable + readOnly: true + type: + type: string + enum: + - PlainText + - RichText + - Image + - MultiImage + - Video + - Link + - Email + - Phone + - Number + - DateTime + - Switch + - Color + - ExtFileRef + description: Choose these appropriate field type for your collection data + slug: + type: string + description: Slug of Field in Site URL structure. Slugs should be all lowercase with no spaces. Any spaces will be converted to "-." + displayName: + type: string + description: The name of a field + helpText: + type: string + description: Additional text to help anyone filling out this field + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/collections/{collection_id}': + get: + x-fern-sdk-group-name: collections + x-fern-sdk-method-name: get + security: + - OAuth2: + - 'cms:read' + operationId: collection-details + summary: Get Collection Details + description: | + Get the full details of a collection from its ID. + + Required scope | `cms:read` + tags: + - Collections + - Sites + parameters: + - name: collection_id + in: path + description: Unique identifier for a Collection + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + responses: + '200': + description: Request was successful + content: + application/json: + schema: + example: + id: 580e63fc8c9a982ac9b8b745 + displayName: Blog Posts + singularName: Blog Post + slug: post + createdOn: '2016-10-24T19:41:48.349Z' + lastUpdated: '2016-10-24T19:42:38.929Z' + fields: + - id: 23cc2d952d4e4631ffd4345d2743db4e + isEditable: true + isRequired: true + type: PlainText + slug: name + displayName: Name + helpText: null + description: A collection object + type: object + required: + - id + - fields + properties: + id: + type: string + format: objectid + description: Unique identifier for a Collection + example: 562ac0395358780a1f5e6fbd + readOnly: true + displayName: + type: string + example: Blog Posts + description: Name given to the Collection + singularName: + type: string + example: Blog Post + description: The name of one Item in Collection (e.g. ”Blog Post” if the Collection is called “Blog Posts”) + slug: + type: string + example: blog-posts + description: Slug of Collection in Site URL structure + createdOn: + type: string + format: date-time + example: '2022-12-07T16:51:37.571Z' + readOnly: true + description: The date the collection was created + lastUpdated: + type: string + format: date-time + example: '2022-12-07T16:51:37.571Z' + readOnly: true + description: The date the collection was last updated + fields: + type: array + description: The list of fields in the Collection + readOnly: true + items: + description: The details of a field in a collection + example: + id: 75821f618da60c18383330bcc0ca488b + isEditable: true + isRequired: false + type: RichText + slug: post-body + displayName: Post Body + helpText: Add the body of your post here + type: object + required: + - id + - type + - isRequired + - displayName + properties: + id: + type: string + format: objectid + description: Unique identifier for a Field + readOnly: true + isRequired: + type: boolean + description: define whether a field is required in a collection + isEditable: + type: boolean + description: Define whether the field is editable + readOnly: true + type: + type: string + enum: + - PlainText + - RichText + - Image + - MultiImage + - Video + - Link + - Email + - Phone + - Number + - DateTime + - Switch + - Color + - ExtFileRef + description: Choose these appropriate field type for your collection data + slug: + type: string + description: Slug of Field in Site URL structure. Slugs should be all lowercase with no spaces. Any spaces will be converted to "-." + displayName: + type: string + description: The name of a field + helpText: + type: string + description: Additional text to help anyone filling out this field + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + delete: + x-fern-sdk-group-name: collections + x-fern-sdk-method-name: delete + security: + - OAuth2: + - 'cms:write' + operationId: delete-collection + summary: Delete Collection + description: | + Delete a collection using its ID. + + Required scope | `cms:write` + tags: + - Collections + - Sites + parameters: + - name: collection_id + in: path + description: Unique identifier for a Collection + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + responses: + '204': + description: Request was successful. No Content is returned. + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/collections/{collection_id}/fields': + post: + x-fern-sdk-group-name: + - collections + - fields + x-fern-sdk-method-name: create + security: + - OAuth2: + - 'cms:write' + operationId: create-field + summary: Create Collection Field + description: | + Create a custom field in a collection. + + Slugs must be all lowercase letters without spaces. + If you pass a string with uppercase letters and/or spaces to the "Slug" property, Webflow will + convert the slug to lowercase and replace spaces with "-." + + Only some field types can be created through the API. + This endpoint does not currently support bulk creation. + + Required scope | `cms:write` + tags: + - Collections + - Sites + requestBody: + description: The field to create + required: true + content: + application/json: + schema: + description: Details about the field of a collection + example: + type: RichText + isRequired: false + displayName: Post Body + helpText: Add the body of your post here + type: object + required: + - type + - displayName + properties: + isRequired: + type: boolean + description: define whether a field is required in a collection + type: + type: string + enum: + - PlainText + - RichText + - Image + - MultiImage + - Video + - Link + - Email + - Phone + - Number + - DateTime + - Switch + - Color + - File + description: Choose these appropriate field type for your collection data + displayName: + type: string + description: The name of a field + helpText: + type: string + description: Additional text to help anyone filling out this field + parameters: + - name: collection_id + in: path + description: Unique identifier for a Collection + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: The details of a field in a collection + example: + id: 75821f618da60c18383330bcc0ca488b + isEditable: true + isRequired: false + type: RichText + slug: post-body + displayName: Post Body + helpText: Add the body of your post here + type: object + required: + - id + - type + - isRequired + - displayName + properties: + id: + type: string + format: objectid + description: Unique identifier for a Field + readOnly: true + isRequired: + type: boolean + description: define whether a field is required in a collection + isEditable: + type: boolean + description: Define whether the field is editable + readOnly: true + type: + type: string + enum: + - PlainText + - RichText + - Image + - MultiImage + - Video + - Link + - Email + - Phone + - Number + - DateTime + - Switch + - Color + - ExtFileRef + description: Choose these appropriate field type for your collection data + slug: + type: string + description: Slug of Field in Site URL structure. Slugs should be all lowercase with no spaces. Any spaces will be converted to "-." + displayName: + type: string + description: The name of a field + helpText: + type: string + description: Additional text to help anyone filling out this field + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/collections/{collection_id}/fields/{field_id}': + patch: + x-fern-sdk-group-name: + - collections + - fields + x-fern-sdk-method-name: update + security: + - OAuth2: + - 'cms:write' + operationId: update-field + summary: Update Collection Field + description: | + Update a custom field in a collection. + + Required scope | `cms:write` + tags: + - Collections + - Sites + requestBody: + description: The field details to update + content: + application/json: + schema: + description: Details about the field of a collection + example: + isRequired: false + displayName: Post Body + helpText: Add the body of your post here + type: object + properties: + isRequired: + type: boolean + description: Define whether a field is required in a collection + displayName: + type: string + description: The name of a field + helpText: + type: string + description: Additional text to help anyone filling out this field + parameters: + - name: collection_id + in: path + description: Unique identifier for a Collection + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + - name: field_id + in: path + description: Unique identifier for a Field in a collection + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: The details of a field in a collection + example: + id: 75821f618da60c18383330bcc0ca488b + isEditable: true + isRequired: false + type: RichText + slug: post-body + displayName: Post Body + helpText: Add the body of your post here + type: object + required: + - id + - type + - isRequired + - displayName + properties: + id: + type: string + format: objectid + description: Unique identifier for a Field + readOnly: true + isRequired: + type: boolean + description: define whether a field is required in a collection + isEditable: + type: boolean + description: Define whether the field is editable + readOnly: true + type: + type: string + enum: + - PlainText + - RichText + - Image + - MultiImage + - Video + - Link + - Email + - Phone + - Number + - DateTime + - Switch + - Color + - ExtFileRef + description: Choose these appropriate field type for your collection data + slug: + type: string + description: Slug of Field in Site URL structure. Slugs should be all lowercase with no spaces. Any spaces will be converted to "-." + displayName: + type: string + description: The name of a field + helpText: + type: string + description: Additional text to help anyone filling out this field + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + delete: + x-fern-sdk-group-name: + - collections + - fields + x-fern-sdk-method-name: delete + security: + - OAuth2: + - 'cms:write' + operationId: delete-field + summary: Delete Collection Field + description: | + Delete a custom field in a collection. This endpoint does not currently support bulk deletion. + + Required scope | `cms:write` + tags: + - Collections + - Sites + parameters: + - name: collection_id + in: path + description: Unique identifier for a Collection + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + - name: field_id + in: path + description: Unique identifier for a Field in a collection + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + responses: + '204': + description: Request was successful. No Content is returned. + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/collections/{collection_id}/items': + get: + x-fern-sdk-group-name: + - collections + - items + x-fern-sdk-method-name: list-items + security: + - OAuth2: + - 'CMS:read' + operationId: list-collection-items + summary: List Collection Items + description: | + List of all Items within a Collection. + + Required scope | `CMS:read` + tags: + - Items + - Collections + - Sites + parameters: + - name: collection_id + in: path + description: Unique identifier for a Collection + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + - name: cmsLocaleId + in: query + allowEmptyValue: true + description: 'Unique identifier for a CMS Locale. This UID is different from the Site locale identifier and is listed as `cmsLocaleId` in the Sites response. To query multiple locales, input a comma separated string.' + schema: + type: string + - in: query + example: 0 + allowEmptyValue: true + name: offset + description: Offset used for pagination if the results have more than limit records + required: false + schema: + type: number + - in: query + allowEmptyValue: true + name: limit + example: 100 + description: 'Maximum number of records to be returned (max limit: 100)' + required: false + schema: + type: number + - name: name + in: query + allowEmptyValue: true + description: The name of the item(s) + schema: + type: string + - name: slug + in: query + allowEmptyValue: true + description: The slug of the item + schema: + type: string + - name: lastPublished + in: query + allowEmptyValue: true + description: The last published date of the item(s) + schema: + type: object + properties: + lte: + type: string + format: date-time + example: '2024-04-22T16:00:31.000Z' + gte: + type: string + format: date-time + example: '2024-04-19T16:00:31.000Z' + style: deepObject + explode: true + - name: sortBy + in: query + allowEmptyValue: true + description: Sort results by the provided value + required: false + schema: + type: string + enum: + - lastPublished + - name + - slug + - name: sortOrder + in: query + allowEmptyValue: true + description: Sorts the results by asc or desc + required: false + schema: + type: string + enum: + - asc + - desc + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: Results from collection items list + example: + items: + - id: 62b720ef280c7a7a3be8cabe + lastPublished: '2022-06-30T13:35:20.878Z' + lastUpdated: '2022-06-25T14:51:27.809Z' + createdOn: '2022-06-25T14:51:27.809Z' + cmsLocaleId: 66f6e966c9e1dc700a857ca3 + isArchived: false + isDraft: false + fieldData: + url: 'https://boards.greenhouse.io/webflow/jobs/26567701' + name: Senior Data Analyst + department: Data + slug: senior-data-analyst + - id: 62c880ef281c7b7b4cf9dabc + lastPublished: '2023-04-15T10:25:18.123Z' + lastUpdated: '2023-04-10T11:45:30.567Z' + createdOn: '2023-04-10T11:45:30.567Z' + cmsLocaleId: 66f6e966c9e1dc700a857ca3 + isArchived: false + isDraft: false + fieldData: + url: 'https://boards.greenhouse.io/webflow/jobs/31234567' + name: Product Manager + department: Product + slug: product-manager + pagination: + limit: 25 + offset: 0 + total: 2 + properties: + items: + type: array + description: List of Items within the collection + items: + description: | + The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + required: + - id + properties: + id: + type: string + readOnly: true + example: 580e64008c9a982ac9b8b754 + description: Unique identifier for the Item + cmsLocaleId: + type: string + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last published + lastUpdated: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last updated + createdOn: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was created + isArchived: + type: boolean + default: false + description: Boolean determining if the Item is set to archived + isDraft: + type: boolean + default: false + description: Boolean determining if the Item is set to draft + fieldData: + type: object + properties: + name: + type: string + description: Name of the Item + slug: + type: string + description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.' + additionalProperties: true + example: + date: 2022-11-18T00:00:00.000Z + featured: false + name: My new item + slug: my-new-item + color: '#db4b68' + example: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + date: '2022-11-18T00:00:00.000Z' + featured: true + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + color: '#db4b68' + pagination: + type: object + properties: + limit: + type: number + default: 100 + description: The limit specified in the request + offset: + type: number + default: 0 + description: The offset specified for pagination + total: + type: number + description: Total number of items in the collection + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + post: + x-fern-sdk-group-name: + - collections + - items + x-fern-sdk-method-name: create-item + security: + - OAuth2: + - 'CMS:write' + operationId: create-item + summary: Create Collection Item(s) + description: | + Create Item(s) in a Collection. + + + To create items across multiple locales, please use [this endpoint.](/data/v2.0.0/reference/cms/collection-items/bulk-items/create-items) + + Required scope | `CMS:write` + tags: + - Items + - Collections + - Sites + parameters: + - name: collection_id + in: path + description: Unique identifier for a Collection + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + requestBody: + description: Details of the item(s) to create + content: + application/json: + schema: + oneOf: + - description: | + The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + required: + - id + properties: + id: + type: string + readOnly: true + example: 580e64008c9a982ac9b8b754 + description: Unique identifier for the Item + cmsLocaleId: + type: string + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last published + lastUpdated: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last updated + createdOn: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was created + isArchived: + type: boolean + default: false + description: Boolean determining if the Item is set to archived + isDraft: + type: boolean + default: false + description: Boolean determining if the Item is set to draft + fieldData: + type: object + properties: + name: + type: string + description: Name of the Item + slug: + type: string + description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.' + additionalProperties: true + example: + date: 2022-11-18T00:00:00.000Z + featured: false + name: My new item + slug: my-new-item + color: '#db4b68' + example: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + date: '2022-11-18T00:00:00.000Z' + featured: true + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + color: '#db4b68' + - type: object + additionalProperties: false + properties: + items: + type: array + description: An array of items to create + items: + description: | + The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + required: + - id + properties: + id: + type: string + readOnly: true + example: 580e64008c9a982ac9b8b754 + description: Unique identifier for the Item + cmsLocaleId: + type: string + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last published + lastUpdated: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last updated + createdOn: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was created + isArchived: + type: boolean + default: false + description: Boolean determining if the Item is set to archived + isDraft: + type: boolean + default: false + description: Boolean determining if the Item is set to draft + fieldData: + type: object + properties: + name: + type: string + description: Name of the Item + slug: + type: string + description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.' + additionalProperties: true + example: + date: 2022-11-18T00:00:00.000Z + featured: false + name: My new item + slug: my-new-item + color: '#db4b68' + example: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + date: '2022-11-18T00:00:00.000Z' + featured: true + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + color: '#db4b68' + examples: + SingleItem: + value: + isArchived: false + isDraft: false + fieldData: + date: '2022-11-18T00:00:00.000Z' + featured: true + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + color: '#db4b68' + MultipleItems: + value: + items: + - isArchived: false + isDraft: false + fieldData: + url: 'https://boards.greenhouse.io/webflow/jobs/26567701' + name: Senior Data Analyst + department: Data + slug: senior-data-analyst + - isArchived: false + isDraft: false + fieldData: + url: 'https://boards.greenhouse.io/webflow/jobs/31234567' + name: Product Manager + department: Product + slug: product-manager + responses: + '202': + description: Request was successful + content: + application/json: + schema: + description: | + The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + required: + - id + properties: + id: + type: string + readOnly: true + example: 580e64008c9a982ac9b8b754 + description: Unique identifier for the Item + cmsLocaleId: + type: string + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last published + lastUpdated: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last updated + createdOn: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was created + isArchived: + type: boolean + default: false + description: Boolean determining if the Item is set to archived + isDraft: + type: boolean + default: false + description: Boolean determining if the Item is set to draft + fieldData: + type: object + properties: + name: + type: string + description: Name of the Item + slug: + type: string + description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.' + additionalProperties: true + example: + date: 2022-11-18T00:00:00.000Z + featured: false + name: My new item + slug: my-new-item + color: '#db4b68' + example: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + date: '2022-11-18T00:00:00.000Z' + featured: true + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + color: '#db4b68' + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + patch: + x-fern-sdk-group-name: + - collections + - items + x-fern-sdk-method-name: update-items + security: + - OAuth2: + - 'CMS:write' + operationId: update-items + summary: Update Collection Items + description: | + Update a single item or multiple items (up to 100) in a Collection. + + **Note:** If the `cmsLocaleId` parameter is undefined or empty and the items are localized, items will be updated only in the primary locale. + + Required scope | `CMS:write` + tags: + - Items + - Collections + - Sites + parameters: + - name: collection_id + in: path + description: Unique identifier for a Collection + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + requestBody: + description: Details of the item to update + content: + application/json: + schema: + properties: + items: + type: array + items: + description: | + The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + required: + - id + properties: + id: + type: string + example: 580e64008c9a982ac9b8b754 + description: Unique identifier for the Item + cmsLocaleId: + type: string + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last published + lastUpdated: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last updated + createdOn: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was created + isArchived: + type: boolean + default: false + description: Boolean determining if the Item is set to archived + isDraft: + type: boolean + default: false + description: Boolean determining if the Item is set to draft + fieldData: + type: object + properties: + name: + type: string + description: Name of the Item + slug: + type: string + description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.' + additionalProperties: true + example: + date: 2022-11-18T00:00:00.000Z + featured: false + name: My new item + slug: my-new-item + color: '#db4b68' + example: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + date: '2022-11-18T00:00:00.000Z' + featured: true + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + color: '#db4b68' + examples: + LocalizedItems: + value: + items: + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca5 + fieldData: + name: Ne Paniquez Pas + slug: ne-paniquez-pas + featured: false + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca4 + fieldData: + name: No Entrar en Pánico + slug: no-entrar-en-panico + featured: false + - id: 66f6ed9576ddacf3149d5eaa + cmsLocaleId: 66f6e966c9e1dc700a857ca5 + fieldData: + name: Au Revoir et Merci pour Tous les Poissons + slug: au-revoir-et-merci + featured: false + - id: 66f6ed9576ddacf3149d5eaa + cmsLocaleId: 66f6e966c9e1dc700a857ca4 + fieldData: + name: Hasta Luego y Gracias por Todo el Pescado + slug: hasta-luego-y-gracias + featured: false + MultipleItems: + value: + items: + - isArchived: false + isDraft: false + fieldData: + url: 'https://boards.greenhouse.io/webflow/jobs/26567701' + name: Senior Data Analyst + department: Data + slug: senior-data-analyst + - isArchived: false + isDraft: false + fieldData: + url: 'https://boards.greenhouse.io/webflow/jobs/31234567' + name: Product Manager + department: Product + slug: product-manager + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: | + The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + required: + - id + properties: + id: + type: string + readOnly: true + example: 580e64008c9a982ac9b8b754 + description: Unique identifier for the Item + cmsLocaleId: + type: string + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last published + lastUpdated: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last updated + createdOn: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was created + isArchived: + type: boolean + default: false + description: Boolean determining if the Item is set to archived + isDraft: + type: boolean + default: false + description: Boolean determining if the Item is set to draft + fieldData: + type: object + properties: + name: + type: string + description: Name of the Item + slug: + type: string + description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.' + additionalProperties: true + example: + date: 2022-11-18T00:00:00.000Z + featured: false + name: My new item + slug: my-new-item + color: '#db4b68' + example: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + date: '2022-11-18T00:00:00.000Z' + featured: true + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + color: '#db4b68' + examples: + LocalizedItems: + summary: Multiple items updated across multiple locales + value: + items: + - id: 66f6ed9576ddacf3149d5ea6 + lastPublished: null + lastUpdated: 2024-09-27T17:38:29.066Z + createdOn: 2024-09-27T17:38:29.066Z + cmsLocaleId: 66f6e966c9e1dc700a857ca5 + fieldData: + name: Ne Paniquez Pas + slug: ne-paniquez-pas + featured: false + - id: 66f6ed9576ddacf3149d5ea6 + lastPublished: null + lastUpdated: 2024-09-27T17:38:29.066Z + createdOn: 2024-09-27T17:38:29.066Z + cmsLocaleId: 66f6e966c9e1dc700a857ca4 + fieldData: + name: No Entrar en Pánico + slug: no-entrar-en-panico + featured: false + - id: 66f6ed9576ddacf3149d5eaa + lastPublished: null + lastUpdated: 2024-09-27T17:38:29.066Z + createdOn: 2024-09-27T17:38:29.066Z + cmsLocaleId: 66f6e966c9e1dc700a857ca5 + fieldData: + name: Au Revoir et Merci pour Tous les Poissons + slug: au-revoir-et-merci + featured: false + - id: 66f6ed9576ddacf3149d5eaa + lastPublished: null + lastUpdated: 2024-09-27T17:38:29.066Z + createdOn: 2024-09-27T17:38:29.066Z + cmsLocaleId: 66f6e966c9e1dc700a857ca4 + fieldData: + name: Hasta Luego y Gracias por Todo el Pescado + slug: hasta-luego-y-gracias + featured: false + MultipleItems: + summary: Mulitple items updated in a single locale + value: + items: + - id: 62b720ef280c7a7a3be8cabe + lastPublished: '2022-06-30T13:35:20.878Z' + lastUpdated: '2022-06-25T14:51:27.809Z' + createdOn: '2022-06-25T14:51:27.809Z' + cmsLocaleId: 66f6e966c9e1dc700a857ca3 + isArchived: false + isDraft: false + fieldData: + url: 'https://boards.greenhouse.io/webflow/jobs/26567701' + name: Senior Data Analyst + department: Data + slug: senior-data-analyst + - id: 62c880ef281c7b7b4cf9dabc + lastPublished: '2023-04-15T10:25:18.123Z' + lastUpdated: '2023-04-10T11:45:30.567Z' + createdOn: '2023-04-10T11:45:30.567Z' + cmsLocaleId: 66f6e966c9e1dc700a857ca3 + isArchived: false + isDraft: false + fieldData: + url: 'https://boards.greenhouse.io/webflow/jobs/31234567' + name: Product Manager + department: Product + slug: product-manager + pagination: + limit: 25 + offset: 0 + total: 2 + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + delete: + x-fern-sdk-group-name: + - collections + - items + x-fern-sdk-method-name: delete-items + security: + - OAuth2: + - 'CMS:write' + operationId: delete-items + summary: Delete Collection Items + description: | + Delete Items from a Collection. + + **Note:** If the `cmsLocaleId` parameter is undefined or empty and the items are localized, items will be deleted only in the primary locale. + + Required scope | `CMS:write` + tags: + - Items + - Collections + - Sites + parameters: + - name: collection_id + in: path + description: Unique identifier for a Collection + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + requestBody: + description: Details of the items to delete + content: + application/json: + schema: + properties: + items: + type: array + items: + type: object + required: + - id + properties: + id: + type: string + example: 580e64008c9a982ac9b8b754 + description: Unique identifier for the Item + cmsLocaleIds: + type: array + description: Array of identifiers for the locales where the item will be created + items: + type: string + description: CMS Locale ID + example: + - 653ad57de882f528b32e810e + - 6514390aea353fc691d69827 + - 65143930ea353fc691d69cd8 + responses: + '204': + description: Request was successful + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/collections/{collection_id}/items/live': + get: + x-fern-sdk-group-name: + - collections + - items + x-fern-sdk-method-name: list-items-live + security: + - OAuth2: + - 'CMS:read' + operationId: list-collection-items-live + summary: List Live Collection Items + description: | + List of all live Items within a Collection. + + Required scope | `CMS:read` + tags: + - Items + - Collections + - Sites + parameters: + - name: collection_id + in: path + description: Unique identifier for a Collection + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + - name: cmsLocaleId + in: query + allowEmptyValue: true + description: 'Unique identifier for a CMS Locale. This UID is different from the Site locale identifier and is listed as `cmsLocaleId` in the Sites response. To query multiple locales, input a comma separated string.' + schema: + type: string + - in: query + example: 0 + allowEmptyValue: true + name: offset + description: Offset used for pagination if the results have more than limit records + required: false + schema: + type: number + - in: query + allowEmptyValue: true + name: limit + example: 100 + description: 'Maximum number of records to be returned (max limit: 100)' + required: false + schema: + type: number + - name: name + in: query + allowEmptyValue: true + description: The name of the item(s) + schema: + type: string + - name: slug + in: query + allowEmptyValue: true + description: The slug of the item + schema: + type: string + - name: lastPublished + in: query + allowEmptyValue: true + description: The last published date of the item(s) + schema: + type: object + properties: + lte: + type: string + format: date-time + example: '2024-04-22T16:00:31.000Z' + gte: + type: string + format: date-time + example: '2024-04-19T16:00:31.000Z' + style: deepObject + explode: true + - name: sortBy + in: query + allowEmptyValue: true + description: Sort results by the provided value + required: false + schema: + type: string + enum: + - lastPublished + - name + - slug + - name: sortOrder + in: query + allowEmptyValue: true + description: Sorts the results by asc or desc + required: false + schema: + type: string + enum: + - asc + - desc + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: Results from collection items list + example: + items: + - id: 62b720ef280c7a7a3be8cabe + lastPublished: '2022-06-30T13:35:20.878Z' + lastUpdated: '2022-06-25T14:51:27.809Z' + createdOn: '2022-06-25T14:51:27.809Z' + cmsLocaleId: 66f6e966c9e1dc700a857ca3 + isArchived: false + isDraft: false + fieldData: + url: 'https://boards.greenhouse.io/webflow/jobs/26567701' + name: Senior Data Analyst + department: Data + slug: senior-data-analyst + - id: 62c880ef281c7b7b4cf9dabc + lastPublished: '2023-04-15T10:25:18.123Z' + lastUpdated: '2023-04-10T11:45:30.567Z' + createdOn: '2023-04-10T11:45:30.567Z' + cmsLocaleId: 66f6e966c9e1dc700a857ca3 + isArchived: false + isDraft: false + fieldData: + url: 'https://boards.greenhouse.io/webflow/jobs/31234567' + name: Product Manager + department: Product + slug: product-manager + pagination: + limit: 25 + offset: 0 + total: 2 + properties: + items: + type: array + description: List of Items within the collection + items: + description: | + The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + required: + - id + properties: + id: + type: string + readOnly: true + example: 580e64008c9a982ac9b8b754 + description: Unique identifier for the Item + cmsLocaleId: + type: string + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last published + lastUpdated: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last updated + createdOn: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was created + isArchived: + type: boolean + default: false + description: Boolean determining if the Item is set to archived + isDraft: + type: boolean + default: false + description: Boolean determining if the Item is set to draft + fieldData: + type: object + properties: + name: + type: string + description: Name of the Item + slug: + type: string + description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.' + additionalProperties: true + example: + date: 2022-11-18T00:00:00.000Z + featured: false + name: My new item + slug: my-new-item + color: '#db4b68' + example: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + date: '2022-11-18T00:00:00.000Z' + featured: true + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + color: '#db4b68' + pagination: + type: object + properties: + limit: + type: number + default: 100 + description: The limit specified in the request + offset: + type: number + default: 0 + description: The offset specified for pagination + total: + type: number + description: Total number of items in the collection + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + post: + x-fern-sdk-group-name: + - collections + - items + x-fern-sdk-method-name: create-item-live + security: + - OAuth2: + - 'CMS:write' + operationId: create-item-live + summary: Create Live Collection Item(s) + description: | + Create live Item(s) in a Collection. The Item(s) will be published to the live site. + + + To create items across multiple locales, [please use this endpoint.](/v2.0.0/data/reference/cms/collection-items/bulk-items/create-items) + + + Required scope | `CMS:write` + tags: + - Items + - Collections + - Sites + parameters: + - name: collection_id + in: path + description: Unique identifier for a Collection + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + requestBody: + description: Details of the item(s) to create + content: + application/json: + schema: + oneOf: + - description: | + The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + required: + - id + properties: + id: + type: string + readOnly: true + example: 580e64008c9a982ac9b8b754 + description: Unique identifier for the Item + cmsLocaleId: + type: string + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last published + lastUpdated: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last updated + createdOn: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was created + isArchived: + type: boolean + default: false + description: Boolean determining if the Item is set to archived + isDraft: + type: boolean + default: false + description: Boolean determining if the Item is set to draft + fieldData: + type: object + properties: + name: + type: string + description: Name of the Item + slug: + type: string + description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.' + additionalProperties: true + example: + date: 2022-11-18T00:00:00.000Z + featured: false + name: My new item + slug: my-new-item + color: '#db4b68' + example: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + date: '2022-11-18T00:00:00.000Z' + featured: true + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + color: '#db4b68' + - type: object + properties: + items: + type: array + description: List of collection items to create + items: + description: | + The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + required: + - id + properties: + id: + type: string + readOnly: true + example: 580e64008c9a982ac9b8b754 + description: Unique identifier for the Item + cmsLocaleId: + type: string + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last published + lastUpdated: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last updated + createdOn: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was created + isArchived: + type: boolean + default: false + description: Boolean determining if the Item is set to archived + isDraft: + type: boolean + default: false + description: Boolean determining if the Item is set to draft + fieldData: + type: object + properties: + name: + type: string + description: Name of the Item + slug: + type: string + description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.' + additionalProperties: true + example: + date: 2022-11-18T00:00:00.000Z + featured: false + name: My new item + slug: my-new-item + color: '#db4b68' + example: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + date: '2022-11-18T00:00:00.000Z' + featured: true + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + color: '#db4b68' + examples: + SingleItem: + value: + isArchived: false + isDraft: false + fieldData: + date: '2022-11-18T00:00:00.000Z' + featured: true + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + color: '#db4b68' + MultipleItems: + value: + items: + - isArchived: false + isDraft: false + fieldData: + url: 'https://boards.greenhouse.io/webflow/jobs/26567701' + name: Senior Data Analyst + department: Data + slug: senior-data-analyst + - isArchived: false + isDraft: false + fieldData: + url: 'https://boards.greenhouse.io/webflow/jobs/31234567' + name: Product Manager + department: Product + slug: product-manager + responses: + '202': + description: Request was successful + content: + application/json: + schema: + description: | + The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + required: + - id + properties: + id: + type: string + readOnly: true + example: 580e64008c9a982ac9b8b754 + description: Unique identifier for the Item + cmsLocaleId: + type: string + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last published + lastUpdated: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last updated + createdOn: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was created + isArchived: + type: boolean + default: false + description: Boolean determining if the Item is set to archived + isDraft: + type: boolean + default: false + description: Boolean determining if the Item is set to draft + fieldData: + type: object + properties: + name: + type: string + description: Name of the Item + slug: + type: string + description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.' + additionalProperties: true + example: + date: 2022-11-18T00:00:00.000Z + featured: false + name: My new item + slug: my-new-item + color: '#db4b68' + example: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + date: '2022-11-18T00:00:00.000Z' + featured: true + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + color: '#db4b68' + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + patch: + x-fern-sdk-group-name: + - collections + - items + x-fern-sdk-method-name: update-items-live + security: + - OAuth2: + - 'CMS:write' + operationId: update-items-live + summary: Update Live Collection Items + description: | + Update a single live item or multiple live items (up to 100) in a Collection + + **Note:** If the `cmsLocaleId` parameter is undefined or empty and the items are localized, items will be updated only in the primary locale. + + Required scope | `CMS:write` + tags: + - Items + - Collections + - Sites + parameters: + - name: collection_id + in: path + description: Unique identifier for a Collection + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + requestBody: + description: Details of the live items to update + content: + application/json: + schema: + properties: + items: + type: array + items: + description: | + The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + required: + - id + properties: + id: + type: string + example: 580e64008c9a982ac9b8b754 + description: Unique identifier for the Item + cmsLocaleId: + type: string + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last published + lastUpdated: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last updated + createdOn: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was created + isArchived: + type: boolean + default: false + description: Boolean determining if the Item is set to archived + isDraft: + type: boolean + default: false + description: Boolean determining if the Item is set to draft + fieldData: + type: object + properties: + name: + type: string + description: Name of the Item + slug: + type: string + description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.' + additionalProperties: true + example: + date: 2022-11-18T00:00:00.000Z + featured: false + name: My new item + slug: my-new-item + color: '#db4b68' + example: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + date: '2022-11-18T00:00:00.000Z' + featured: true + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + color: '#db4b68' + examples: + LocalizedItems: + value: + items: + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca5 + fieldData: + name: Ne Paniquez Pas + slug: ne-paniquez-pas + featured: false + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca4 + fieldData: + name: No Entrar en Pánico + slug: no-entrar-en-panico + featured: false + - id: 66f6ed9576ddacf3149d5eaa + cmsLocaleId: 66f6e966c9e1dc700a857ca5 + fieldData: + name: Au Revoir et Merci pour Tous les Poissons + slug: au-revoir-et-merci + featured: false + - id: 66f6ed9576ddacf3149d5eaa + cmsLocaleId: 66f6e966c9e1dc700a857ca4 + fieldData: + name: Hasta Luego y Gracias por Todo el Pescado + slug: hasta-luego-y-gracias + featured: false + MultipleItems: + value: + items: + - isArchived: false + isDraft: false + fieldData: + url: 'https://boards.greenhouse.io/webflow/jobs/26567701' + name: Senior Data Analyst + department: Data + slug: senior-data-analyst + - isArchived: false + isDraft: false + fieldData: + url: 'https://boards.greenhouse.io/webflow/jobs/31234567' + name: Product Manager + department: Product + slug: product-manager + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: Results from collection items list + example: + items: + - id: 62b720ef280c7a7a3be8cabe + lastPublished: '2022-06-30T13:35:20.878Z' + lastUpdated: '2022-06-25T14:51:27.809Z' + createdOn: '2022-06-25T14:51:27.809Z' + cmsLocaleId: 66f6e966c9e1dc700a857ca3 + isArchived: false + isDraft: false + fieldData: + url: 'https://boards.greenhouse.io/webflow/jobs/26567701' + name: Senior Data Analyst + department: Data + slug: senior-data-analyst + - id: 62c880ef281c7b7b4cf9dabc + lastPublished: '2023-04-15T10:25:18.123Z' + lastUpdated: '2023-04-10T11:45:30.567Z' + createdOn: '2023-04-10T11:45:30.567Z' + cmsLocaleId: 66f6e966c9e1dc700a857ca3 + isArchived: false + isDraft: false + fieldData: + url: 'https://boards.greenhouse.io/webflow/jobs/31234567' + name: Product Manager + department: Product + slug: product-manager + pagination: + limit: 25 + offset: 0 + total: 2 + properties: + items: + type: array + description: List of Items within the collection + items: + description: | + The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + required: + - id + properties: + id: + type: string + readOnly: true + example: 580e64008c9a982ac9b8b754 + description: Unique identifier for the Item + cmsLocaleId: + type: string + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last published + lastUpdated: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last updated + createdOn: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was created + isArchived: + type: boolean + default: false + description: Boolean determining if the Item is set to archived + isDraft: + type: boolean + default: false + description: Boolean determining if the Item is set to draft + fieldData: + type: object + properties: + name: + type: string + description: Name of the Item + slug: + type: string + description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.' + additionalProperties: true + example: + date: 2022-11-18T00:00:00.000Z + featured: false + name: My new item + slug: my-new-item + color: '#db4b68' + example: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + date: '2022-11-18T00:00:00.000Z' + featured: true + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + color: '#db4b68' + examples: + LocalizedItems: + summary: Multiple items updated across multiple locales + value: + items: + - id: 66f6ed9576ddacf3149d5ea6 + lastPublished: null + lastUpdated: 2024-09-27T17:38:29.066Z + createdOn: 2024-09-27T17:38:29.066Z + cmsLocaleId: 66f6e966c9e1dc700a857ca5 + fieldData: + name: Ne Paniquez Pas + slug: ne-paniquez-pas + featured: false + - id: 66f6ed9576ddacf3149d5ea6 + lastPublished: null + lastUpdated: 2024-09-27T17:38:29.066Z + createdOn: 2024-09-27T17:38:29.066Z + cmsLocaleId: 66f6e966c9e1dc700a857ca4 + fieldData: + name: No Entrar en Pánico + slug: no-entrar-en-panico + featured: false + - id: 66f6ed9576ddacf3149d5eaa + lastPublished: null + lastUpdated: 2024-09-27T17:38:29.066Z + createdOn: 2024-09-27T17:38:29.066Z + cmsLocaleId: 66f6e966c9e1dc700a857ca5 + fieldData: + name: Au Revoir et Merci pour Tous les Poissons + slug: au-revoir-et-merci + featured: false + - id: 66f6ed9576ddacf3149d5eaa + lastPublished: null + lastUpdated: 2024-09-27T17:38:29.066Z + createdOn: 2024-09-27T17:38:29.066Z + cmsLocaleId: 66f6e966c9e1dc700a857ca4 + fieldData: + name: Hasta Luego y Gracias por Todo el Pescado + slug: hasta-luego-y-gracias + featured: false + MultipleItems: + summary: Mulitple items updated in a single locale + value: + items: + - id: 62b720ef280c7a7a3be8cabe + lastPublished: '2022-06-30T13:35:20.878Z' + lastUpdated: '2022-06-25T14:51:27.809Z' + createdOn: '2022-06-25T14:51:27.809Z' + cmsLocaleId: 66f6e966c9e1dc700a857ca3 + isArchived: false + isDraft: false + fieldData: + url: 'https://boards.greenhouse.io/webflow/jobs/26567701' + name: Senior Data Analyst + department: Data + slug: senior-data-analyst + - id: 62c880ef281c7b7b4cf9dabc + lastPublished: '2023-04-15T10:25:18.123Z' + lastUpdated: '2023-04-10T11:45:30.567Z' + createdOn: '2023-04-10T11:45:30.567Z' + cmsLocaleId: 66f6e966c9e1dc700a857ca3 + isArchived: false + isDraft: false + fieldData: + url: 'https://boards.greenhouse.io/webflow/jobs/31234567' + name: Product Manager + department: Product + slug: product-manager + pagination: + limit: 25 + offset: 0 + total: 2 + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + delete: + x-fern-sdk-group-name: + - collections + - items + x-fern-sdk-method-name: delete-items-live + security: + - OAuth2: + - 'CMS:write' + operationId: delete-items-live + summary: Delete Live Collection Items + description: | + Remove an item or multiple items (up to 100 items) from the live site. Deleting published items will unpublish the items from the live site and set them to draft. + + **Note:** If the `cmsLocaleId` parameter is undefined or empty and the items are localized, items will be unpublished only in the primary locale. + + Required scope | `CMS:write` + tags: + - Items + - Collections + - Sites + parameters: + - name: collection_id + in: path + description: Unique identifier for a Collection + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + requestBody: + description: Details of the live items to delete + content: + application/json: + schema: + properties: + items: + type: array + items: + type: object + required: + - itemId + properties: + itemId: + type: string + example: 580e64008c9a982ac9b8b754 + description: Unique identifier for the Item + cmsLocaleIds: + type: array + description: Array of identifiers for the locales where the item will be created + items: + type: string + description: CMS Locale ID + example: + - 653ad57de882f528b32e810e + - 6514390aea353fc691d69827 + - 65143930ea353fc691d69cd8 + responses: + '204': + description: Request was successful + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/collections/{collection_id}/items/bulk': + post: + x-fern-sdk-group-name: + - collections + - items + x-fern-sdk-method-name: create-items + security: + - OAuth2: + - 'cms:write' + operationId: create-items + summary: Create Collection Items + description: | + Create an item or multiple items in a CMS Collection across multiple corresponding locales. + + **Notes:** + - This endpoint can create up to 100 items in a request. + - If the `cmsLocaleIds` parameter is undefined or empty and localization is enabled, items will only be created in the primary locale. + + Required scope | `CMS:write` + tags: + - Items + - Collections + - Sites + parameters: + - name: collection_id + in: path + description: Unique identifier for a Collection + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + requestBody: + description: Details of the item to create + content: + application/json: + schema: + description: | + Schema for creating multiple items within a Collection. Each item adheres to the schema defined by the Collection it belongs to. In addition to user-defined fields, several system fields are automatically created for all items, including `name` and `slug`. + required: + - id + properties: + id: + type: string + readOnly: true + example: 580e64008c9a982ac9b8b754 + description: Unique identifier for the Item + cmsLocaleIds: + type: array + description: Array of identifiers for the locales where the item will be created + items: + type: string + description: CMS Locale ID + example: + - 653ad57de882f528b32e810e + - 6514390aea353fc691d69827 + - 65143930ea353fc691d69cd8 + lastPublished: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date and time when the item was last published. + lastUpdated: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date and time when the item was last updated. + createdOn: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date and time when the item was created. + isArchived: + type: boolean + default: false + description: Indicates whether the item is archived. + isDraft: + type: boolean + default: false + description: Indicates whether the item is in draft state. + fieldData: + oneOf: + - type: object + additionalProperties: true + properties: + name: + type: string + description: The name of the item. + slug: + type: string + description: |- + URL slug for the item in your site. + Note: Updating the item slug will break all links referencing the old slug. + required: + - name + - slug + - type: array + items: + type: object + additionalProperties: true + properties: + name: + type: string + description: The name of the item. + slug: + type: string + description: |- + URL slug for the item in your site. + Note: Updating the item slug will break all links referencing the old slug. + required: + - name + - slug + examples: + SingleItemMultipleLocales: + summary: Create a single item across multiple locales + value: + cmsLocaleIds: + - 66f6e966c9e1dc700a857ca3 + - 66f6e966c9e1dc700a857ca4 + - 66f6e966c9e1dc700a857ca5 + isArchived: false + isDraft: false + fieldData: + name: Don’t Panic + slug: dont-panic + MultipleItemsMultipleLocales: + summary: Create multiple items across multipel locales + value: + cmsLocaleIds: + - 66f6e966c9e1dc700a857ca3 + - 66f6e966c9e1dc700a857ca4 + isArchived: false + isDraft: false + fieldData: + - name: Don’t Panic + slug: dont-panic + - name: So Long and Thanks for All the Fish + slug: so-long-and-thanks + examples: + SingleItemMultipleLocales: + summary: Create a single item across multiple locales + value: + cmsLocaleIds: + - 66f6e966c9e1dc700a857ca3 + - 66f6e966c9e1dc700a857ca4 + - 66f6e966c9e1dc700a857ca5 + isArchived: false + isDraft: false + fieldData: + name: Don’t Panic + slug: dont-panic + MultipleItemsMultipleLocales: + summary: Create multiple items across multipel locales + value: + cmsLocaleIds: + - 66f6e966c9e1dc700a857ca3 + - 66f6e966c9e1dc700a857ca4 + isArchived: false + isDraft: false + fieldData: + - name: Don’t Panic + slug: dont-panic + - name: So Long and Thanks for All the Fish + slug: so-long-and-thanks + responses: + '202': + description: Request was successful + content: + application/json: + schema: + description: | + The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + required: + - id + properties: + id: + type: string + readOnly: true + example: 580e64008c9a982ac9b8b754 + description: Unique identifier for the Item + cmsLocaleIds: + type: array + description: Array of identifiers for the locales where the item will be created + items: + type: string + description: CMS Locale ID + example: + - 653ad57de882f528b32e810e + - 6514390aea353fc691d69827 + - 65143930ea353fc691d69cd8 + lastPublished: + type: string + format: date-string + nullable: true + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last published + lastUpdated: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last updated + createdOn: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was created + isArchived: + type: boolean + default: false + description: Boolean determining if the Item is set to archived + isDraft: + type: boolean + default: false + description: Boolean determining if the Item is set to draft + fieldData: + type: object + properties: + name: + type: string + description: Name of the Item + slug: + type: string + description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.' + additionalProperties: true + example: + date: 2022-11-18T00:00:00.000Z + featured: false + name: My new item + slug: my-new-item + color: '#db4b68' + example: + items: + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca3 + lastPublished: null + lastUpdated: '2024-02-28T19:25:39.942Z' + createdOn: '2024-02-28T19:25:39.942Z' + isArchived: false + isDraft: false + fieldData: + name: Don't Panic + slug: dont-panic + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca4 + lastPublished: null + lastUpdated: '2024-02-28T19:25:39.942Z' + createdOn: '2024-02-28T19:25:39.942Z' + isArchived: false + isDraft: false + fieldData: + name: Don't Panic + slug: dont-panic + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca5 + lastPublished: null + lastUpdated: '2024-02-28T19:25:39.942Z' + createdOn: '2024-02-28T19:25:39.942Z' + isArchived: false + isDraft: false + fieldData: + name: Don't Panic + slug: dont-panic + examples: + SingleItemMultipleLocales: + summary: Single item created across multiple locales + value: + items: + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca3 + lastPublished: null + lastUpdated: '2024-02-28T19:25:39.942Z' + createdOn: '2024-02-28T19:25:39.942Z' + isArchived: false + isDraft: false + fieldData: + name: Don't Panic + slug: dont-panic + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca4 + lastPublished: null + lastUpdated: '2024-02-28T19:25:39.942Z' + createdOn: '2024-02-28T19:25:39.942Z' + isArchived: false + isDraft: false + fieldData: + name: Don't Panic + slug: dont-panic + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca5 + lastPublished: null + lastUpdated: '2024-02-28T19:25:39.942Z' + createdOn: '2024-02-28T19:25:39.942Z' + isArchived: false + isDraft: false + fieldData: + name: Don't Panic + slug: dont-panic + MultipleItemsMultipleLocales: + summary: Multiple items created across multiple locales + value: + items: + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca3 + lastPublished: null + lastUpdated: '2024-09-27T17:38:29.066Z' + createdOn: '2024-09-27T17:38:29.066Z' + isArchived: false + isDraft: false + fieldData: + featured: false + name: Don't Panic + slug: dont-panic + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca4 + lastPublished: null + lastUpdated: '2024-09-27T17:38:29.066Z' + createdOn: '2024-09-27T17:38:29.066Z' + isArchived: false + isDraft: false + fieldData: + featured: false + name: Don't Panic + slug: dont-panic + - id: 66f6ed9576ddacf3149d5ea6 + cmsLocaleId: 66f6e966c9e1dc700a857ca5 + lastPublished: null + lastUpdated: '2024-09-27T17:38:29.066Z' + createdOn: '2024-09-27T17:38:29.066Z' + isArchived: false + isDraft: false + fieldData: + featured: false + name: Don't Panic + slug: dont-panic + - id: 66f6ed9576ddacf3149d5eaa + cmsLocaleId: 66f6e966c9e1dc700a857ca3 + lastPublished: null + lastUpdated: '2024-09-27T17:38:29.066Z' + createdOn: '2024-09-27T17:38:29.066Z' + isArchived: false + isDraft: false + fieldData: + featured: false + name: So Long and Thanks for All the Fish + slug: so-long-and-thanks + - id: 66f6ed9576ddacf3149d5eaa + cmsLocaleId: 66f6e966c9e1dc700a857ca4 + lastPublished: null + lastUpdated: '2024-09-27T17:38:29.066Z' + createdOn: '2024-09-27T17:38:29.066Z' + isArchived: false + isDraft: false + fieldData: + featured: false + name: So Long and Thanks for All the Fish + slug: so-long-and-thanks + - id: 66f6ed9576ddacf3149d5eaa + cmsLocaleId: 66f6e966c9e1dc700a857ca5 + lastPublished: null + lastUpdated: '2024-09-27T17:38:29.066Z' + createdOn: '2024-09-27T17:38:29.066Z' + isArchived: false + isDraft: false + fieldData: + featured: false + name: So Long and Thanks for All the Fish + slug: so-long-and-thanks + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/collections/{collection_id}/items/{item_id}': + get: + x-fern-sdk-group-name: + - collections + - items + x-fern-sdk-method-name: get-item + security: + - OAuth2: + - 'CMS:read' + operationId: Get-Item + summary: Get Collection Item + description: | + Get details of a selected Collection Item. + + Required scope | `CMS:read` + tags: + - Items + - Collections + - Sites + parameters: + - name: collection_id + in: path + description: Unique identifier for a Collection + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + - name: item_id + in: path + description: Unique identifier for an Item + example: 580e64008c9a982ac9b8b754 + required: true + schema: + type: string + format: objectid + - name: cmsLocaleId + in: query + allowEmptyValue: true + description: 'Unique identifier for a CMS Locale. This UID is different from the Site locale identifier and is listed as `cmsLocaleId` in the Sites response. To query multiple locales, input a comma separated string.' + schema: + type: string + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: | + The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + required: + - id + properties: + id: + type: string + readOnly: true + example: 580e64008c9a982ac9b8b754 + description: Unique identifier for the Item + cmsLocaleId: + type: string + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last published + lastUpdated: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last updated + createdOn: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was created + isArchived: + type: boolean + default: false + description: Boolean determining if the Item is set to archived + isDraft: + type: boolean + default: false + description: Boolean determining if the Item is set to draft + fieldData: + type: object + properties: + name: + type: string + description: Name of the Item + slug: + type: string + description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.' + additionalProperties: true + example: + date: 2022-11-18T00:00:00.000Z + featured: false + name: My new item + slug: my-new-item + color: '#db4b68' + example: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + date: '2022-11-18T00:00:00.000Z' + featured: true + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + color: '#db4b68' + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + patch: + x-fern-sdk-group-name: + - collections + - items + x-fern-sdk-method-name: update-item + security: + - OAuth2: + - 'CMS:write' + operationId: update-item + summary: Update Collection Item + description: | + Update a selected Item in a Collection. + + Required scope | `CMS:write` + tags: + - Items + - Collections + - Sites + parameters: + - name: collection_id + in: path + description: Unique identifier for a Collection + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + - name: item_id + in: path + description: Unique identifier for an Item + example: 580e64008c9a982ac9b8b754 + required: true + schema: + type: string + format: objectid + requestBody: + description: Details of the item to update + content: + application/json: + schema: + description: | + The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + required: + - id + properties: + id: + type: string + readOnly: true + example: 580e64008c9a982ac9b8b754 + description: Unique identifier for the Item + cmsLocaleId: + type: string + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last published + lastUpdated: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last updated + createdOn: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was created + isArchived: + type: boolean + default: false + description: Boolean determining if the Item is set to archived + isDraft: + type: boolean + default: false + description: Boolean determining if the Item is set to draft + fieldData: + type: object + properties: + name: + type: string + description: Name of the Item + slug: + type: string + description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.' + additionalProperties: true + example: + date: 2022-11-18T00:00:00.000Z + featured: false + name: My new item + slug: my-new-item + color: '#db4b68' + example: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + date: '2022-11-18T00:00:00.000Z' + featured: true + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + color: '#db4b68' + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: | + The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + required: + - id + properties: + id: + type: string + readOnly: true + example: 580e64008c9a982ac9b8b754 + description: Unique identifier for the Item + cmsLocaleId: + type: string + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last published + lastUpdated: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last updated + createdOn: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was created + isArchived: + type: boolean + default: false + description: Boolean determining if the Item is set to archived + isDraft: + type: boolean + default: false + description: Boolean determining if the Item is set to draft + fieldData: + type: object + properties: + name: + type: string + description: Name of the Item + slug: + type: string + description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.' + additionalProperties: true + example: + date: 2022-11-18T00:00:00.000Z + featured: false + name: My new item + slug: my-new-item + color: '#db4b68' + example: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + date: '2022-11-18T00:00:00.000Z' + featured: true + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + color: '#db4b68' + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + delete: + x-fern-sdk-group-name: + - collections + - items + x-fern-sdk-method-name: delete-item + security: + - OAuth2: + - 'CMS:write' + operationId: delete-item + summary: Delete Collection Item + description: | + Delete an Item from a Collection. This endpoint does not currently support bulk deletion. + + Required scope | `CMS:write` + tags: + - Items + - Collections + - Sites + parameters: + - name: collection_id + in: path + description: Unique identifier for a Collection + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + - name: item_id + in: path + description: Unique identifier for an Item + example: 580e64008c9a982ac9b8b754 + required: true + schema: + type: string + format: objectid + - name: cmsLocaleId + in: query + allowEmptyValue: true + description: 'Unique identifier for a CMS Locale. This UID is different from the Site locale identifier and is listed as `cmsLocaleId` in the Sites response. To query multiple locales, input a comma separated string.' + schema: + type: string + responses: + '204': + description: Request was successful + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/collections/{collection_id}/items/{item_id}/live': + get: + x-fern-sdk-group-name: + - collections + - items + x-fern-sdk-method-name: get-item-live + security: + - OAuth2: + - 'CMS:read' + operationId: get-item-live + summary: Get Live Collection Item + description: | + Get details of a selected Collection live Item. + + Required scope | `CMS:read` + tags: + - Items + - Collections + - Sites + parameters: + - name: collection_id + in: path + description: Unique identifier for a Collection + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + - name: item_id + in: path + description: Unique identifier for an Item + example: 580e64008c9a982ac9b8b754 + required: true + schema: + type: string + format: objectid + - name: cmsLocaleId + in: query + allowEmptyValue: true + description: 'Unique identifier for a CMS Locale. This UID is different from the Site locale identifier and is listed as `cmsLocaleId` in the Sites response. To query multiple locales, input a comma separated string.' + schema: + type: string + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: | + The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + required: + - id + properties: + id: + type: string + readOnly: true + example: 580e64008c9a982ac9b8b754 + description: Unique identifier for the Item + cmsLocaleId: + type: string + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last published + lastUpdated: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last updated + createdOn: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was created + isArchived: + type: boolean + default: false + description: Boolean determining if the Item is set to archived + isDraft: + type: boolean + default: false + description: Boolean determining if the Item is set to draft + fieldData: + type: object + properties: + name: + type: string + description: Name of the Item + slug: + type: string + description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.' + additionalProperties: true + example: + date: 2022-11-18T00:00:00.000Z + featured: false + name: My new item + slug: my-new-item + color: '#db4b68' + example: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + date: '2022-11-18T00:00:00.000Z' + featured: true + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + color: '#db4b68' + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + patch: + x-fern-sdk-group-name: + - collections + - items + x-fern-sdk-method-name: update-item-live + security: + - OAuth2: + - 'CMS:write' + operationId: update-item-live + summary: Update Live Collection Item + description: | + Update a selected live Item in a Collection. The updates for this Item will be published to the live site. + + Required scope | `CMS:write` + tags: + - Items + - Collections + - Sites + parameters: + - name: collection_id + in: path + description: Unique identifier for a Collection + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + - name: item_id + in: path + description: Unique identifier for an Item + example: 580e64008c9a982ac9b8b754 + required: true + schema: + type: string + format: objectid + requestBody: + description: Details of the item to update + content: + application/json: + schema: + description: | + The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + required: + - id + properties: + id: + type: string + readOnly: true + example: 580e64008c9a982ac9b8b754 + description: Unique identifier for the Item + cmsLocaleId: + type: string + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last published + lastUpdated: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last updated + createdOn: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was created + isArchived: + type: boolean + default: false + description: Boolean determining if the Item is set to archived + isDraft: + type: boolean + default: false + description: Boolean determining if the Item is set to draft + fieldData: + type: object + properties: + name: + type: string + description: Name of the Item + slug: + type: string + description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.' + additionalProperties: true + example: + date: 2022-11-18T00:00:00.000Z + featured: false + name: My new item + slug: my-new-item + color: '#db4b68' + example: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + date: '2022-11-18T00:00:00.000Z' + featured: true + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + color: '#db4b68' + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: | + The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + required: + - id + properties: + id: + type: string + readOnly: true + example: 580e64008c9a982ac9b8b754 + description: Unique identifier for the Item + cmsLocaleId: + type: string + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last published + lastUpdated: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last updated + createdOn: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was created + isArchived: + type: boolean + default: false + description: Boolean determining if the Item is set to archived + isDraft: + type: boolean + default: false + description: Boolean determining if the Item is set to draft + fieldData: + type: object + properties: + name: + type: string + description: Name of the Item + slug: + type: string + description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.' + additionalProperties: true + example: + date: 2022-11-18T00:00:00.000Z + featured: false + name: My new item + slug: my-new-item + color: '#db4b68' + example: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + date: '2022-11-18T00:00:00.000Z' + featured: true + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + color: '#db4b68' + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + delete: + x-fern-sdk-group-name: + - collections + - items + x-fern-sdk-method-name: delete-item-live + security: + - OAuth2: + - 'CMS:write' + operationId: delete-item-live + summary: Delete Live Collection Item + description: | + Remove a live item from the site. Removing a published item will unpublish the item from the live site and set it to draft. + + This endpoint does not currently support bulk deletion. + + Required scope | `CMS:write` + tags: + - Items + - Collections + - Sites + parameters: + - name: collection_id + in: path + description: Unique identifier for a Collection + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + - name: item_id + in: path + description: Unique identifier for an Item + example: 580e64008c9a982ac9b8b754 + required: true + schema: + type: string + format: objectid + - name: cmsLocaleId + in: query + allowEmptyValue: true + description: 'Unique identifier for a CMS Locale. This UID is different from the Site locale identifier and is listed as `cmsLocaleId` in the Sites response. To query multiple locales, input a comma separated string.' + schema: + type: string + responses: + '204': + description: Request was successful + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/collections/{collection_id}/items/publish': + post: + x-fern-sdk-group-name: + - collections + - items + x-fern-sdk-method-name: publish-item + security: + - OAuth2: + - 'cms:write' + operationId: publish-item + summary: Publish Collection Item + description: | + Publish an item or multiple items. + + Required scope | `cms:write` + tags: + - Items + - Collections + - Sites + parameters: + - name: collection_id + in: path + description: Unique identifier for a Collection + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + requestBody: + description: An array of Item IDs + content: + application/json: + schema: + type: object + required: + - itemIds + properties: + itemIds: + type: array + items: + type: string + format: objectid + example: + itemIds: + - 643fd856d66b6528195ee2ca + - 643fd856d66b6528195ee2cb + - 643fd856d66b6528195ee2cc + responses: + '202': + description: Request was successful + content: + application/json: + schema: + type: object + properties: + publishedItemIds: + type: array + items: + type: string + errors: + type: array + items: + type: string + example: + publishedItemIds: + - 643fd856d66b6528195ee2ca + - 643fd856d66b6528195ee2cb + errors: + - Staging item ID 643fd856d66b6528195ee2cf not found. + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '409': + description: Site is published to multiple domains at different times + x-logErrorCode: 409 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + message: '''Site is published to multiple domains at different times' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/sites/{site_id}/pages': + get: + x-fern-sdk-group-name: pages + x-fern-sdk-method-name: list + security: + - OAuth2: + - 'page:read' + operationId: list-pages + summary: List Pages + description: | + List of all pages for a site. + + Required scope | `pages:read` + tags: + - Pages + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + - name: localeId + in: query + allowEmptyValue: true + example: 65427cf400e02b306eaa04a0 + description: 'Unique identifier for a specific locale. Applicable, when using localization.' + schema: + type: string + - in: query + allowEmptyValue: true + name: limit + example: 100 + description: 'Maximum number of records to be returned (max limit: 100)' + required: false + schema: + type: number + - in: query + example: 0 + allowEmptyValue: true + name: offset + description: Offset used for pagination if the results have more than limit records + required: false + schema: + type: number + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: The Page object + type: object + example: + pages: + - id: 6596da6045e56dee495bcbba + siteId: 6258612d1ee792848f805dcf + parentId: null + collectionId: null + title: Guide to the Galaxy + slug: guide-to-the-galaxy + createdOn: '2024-03-11T10:42:00.000Z' + lastUpdated: '2024-03-11T10:42:42.000Z' + archived: false + draft: false + canBranch: true + isBranch: false + seo: + title: The Ultimate Hitchhiker's Guide to the Galaxy + description: 'Everything you need to know about the galaxy, from avoiding Vogon poetry to the importance of towels.' + openGraph: + title: Explore the Cosmos with The Ultimate Guide + titleCopied: false + description: Dive deep into the mysteries of the universe with your guide to everything galactic. + descriptionCopied: false + localeId: 653fd9af6a07fc9cfd7a5e57 + publishedPath: /en-us/guide-to-the-galaxy + - id: 6596da6045e56dee495bcbad + siteId: 6258612d1ee792848f805dcf + parentId: null + collectionId: null + title: Towel Day Celebrations + slug: towel-day + createdOn: '2024-05-25T09:00:00.000Z' + lastUpdated: '2024-05-25T09:42:00.000Z' + archived: false + draft: false + canBranch: true + seo: + title: Celebrate Towel Day - The Hitchhiker's Guide to the Galaxy + description: 'A guide to celebrating Towel Day, in honor of the most massively useful thing an interstellar hitchhiker can have.' + openGraph: + title: Towel Day - Don't Panic + titleCopied: false + description: 'Join the galaxy in celebrating Towel Day, the day dedicated to carrying towels everywhere in memory of Douglas Adams.' + descriptionCopied: false + localeId: 653fd9af6a07fc9cfd7a5e57 + publishedPath: /en-us/towel-day + pagination: + limit: 20 + offset: 0 + total: 2 + properties: + pages: + type: array + items: + description: The Page object + type: object + required: + - id + example: + id: 6596da6045e56dee495bcbba + siteId: 6258612d1ee792848f805dcf + parentId: null + collectionId: null + title: Guide to the Galaxy + slug: guide-to-the-galaxy + createdOn: '2024-03-11T10:42:00.000Z' + lastUpdated: '2024-03-11T10:42:42.000Z' + archived: false + draft: false + canBranch: true + isBranch: false + seo: + title: The Ultimate Hitchhiker's Guide to the Galaxy + description: 'Everything you need to know about the galaxy, from avoiding Vogon poetry to the importance of towels.' + openGraph: + title: Explore the Cosmos with The Ultimate Guide + titleCopied: false + description: Dive deep into the mysteries of the universe with your guide to everything galactic. + descriptionCopied: false + localeId: 653fd9af6a07fc9cfd7a5e57 + publishedPath: /en-us/guide-to-the-galaxy + properties: + id: + type: string + format: objectid + readOnly: true + description: Unique identifier for the Page + example: 63499e4e6e9ed5abbfe42b69 + siteId: + type: string + format: objectid + readOnly: true + description: Unique identifier for the Site + example: 580e63e98c9a982ac9b8b741 + title: + type: string + description: Title of the Page + example: My New Page + slug: + type: string + description: slug of the Page (derived from title) + example: my-new-page + parentId: + type: string + format: objectid + description: Identifier of the parent folder + readOnly: true + example: 6419db964a9c435aa3af6251 + collectionId: + type: string + format: objectid + readOnly: true + description: 'Unique identifier for a linked Collection, value will be null if the Page is not part of a Collection.' + example: 6390c49774a71f12831a08e3 + createdOn: + type: string + format: date-time + readOnly: true + description: The date the Page was created + example: '2016-10-24T19:42:38.929Z' + lastUpdated: + type: string + format: date-time + readOnly: true + description: The date the Page was most recently updated + example: '2016-10-24T19:42:38.929Z' + archived: + type: boolean + description: Whether the Page has been archived + default: false + example: false + readOnly: true + draft: + type: boolean + description: Whether the Page is a draft + default: false + example: false + readOnly: true + canBranch: + type: boolean + description: 'Indicates whether the Page supports [Page Branching](https://university.webflow.com/lesson/page-branching)' + readOnly: true + default: false + example: false + isBranch: + type: boolean + description: 'Indicates whether the Page is a Branch of another Page [Page Branching](https://university.webflow.com/lesson/page-branching)' + readOnly: true + default: false + example: false + isMembersOnly: + type: boolean + description: 'Indicates whether the Page is restricted by [Memberships Controls](https://university.webflow.com/lesson/webflow-memberships-overview#how-to-manage-page-restrictions)' + readOnly: true + default: false + example: false + seo: + type: object + description: SEO-related fields for the Page + properties: + title: + type: string + description: The Page title shown in search engine results + example: CoffeeStyle eCommerce - Webflow HTML website template + description: + type: string + description: The Page description shown in search engine results + example: This Webflow template offers a quick start into an ecommerce / memberships site + openGraph: + type: object + description: Open Graph fields for the Page + properties: + title: + type: string + description: The title supplied to Open Graph annotations + example: My snazzy Open Graph title + titleCopied: + type: boolean + description: Indicates the Open Graph title was copied from the SEO title + readOnly: true + default: true + description: + type: string + description: The description supplied to Open Graph annotations + example: My informative Open Graph description + descriptionCopied: + type: boolean + description: Indicates the Open Graph description was copied from the SEO description + readOnly: true + default: true + localeId: + description: Unique ID of the page locale + type: string + format: objectid + nullable: true + readOnly: true + example: 653fd9af6a07fc9cfd7a5e57 + publishedPath: + description: Relative path of the published page URL + type: string + readOnly: true + example: /heart-of-gold + pagination: + description: Pagination object + type: object + properties: + limit: + type: number + description: The limit used for pagination + example: 100 + offset: + type: number + description: The offset used for pagination + example: 0 + total: + type: number + description: The total number of records + example: 100 + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/pages/{page_id}': + get: + x-fern-sdk-group-name: pages + x-fern-sdk-method-name: get-metadata + security: + - OAuth2: + - 'page:read' + operationId: get-page-metadata + summary: Get Page Metadata + description: | + Get metadata information for a single page. + + Required scope | `pages:read` + tags: + - Pages + parameters: + - name: page_id + in: path + description: Unique identifier for a Page + example: 63c720f9347c2139b248e552 + required: true + schema: + type: string + format: objectid + default: null + - name: localeId + in: query + allowEmptyValue: true + example: 65427cf400e02b306eaa04a0 + description: 'Unique identifier for a specific locale. Applicable, when using localization.' + schema: + type: string + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: The Page object + type: object + required: + - id + example: + id: 6596da6045e56dee495bcbba + siteId: 6258612d1ee792848f805dcf + parentId: null + collectionId: null + title: Guide to the Galaxy + slug: guide-to-the-galaxy + createdOn: '2024-03-11T10:42:00.000Z' + lastUpdated: '2024-03-11T10:42:42.000Z' + archived: false + draft: false + canBranch: true + isBranch: false + seo: + title: The Ultimate Hitchhiker's Guide to the Galaxy + description: 'Everything you need to know about the galaxy, from avoiding Vogon poetry to the importance of towels.' + openGraph: + title: Explore the Cosmos with The Ultimate Guide + titleCopied: false + description: Dive deep into the mysteries of the universe with your guide to everything galactic. + descriptionCopied: false + localeId: 653fd9af6a07fc9cfd7a5e57 + publishedPath: /en-us/guide-to-the-galaxy + properties: + id: + type: string + format: objectid + readOnly: true + description: Unique identifier for the Page + example: 63499e4e6e9ed5abbfe42b69 + siteId: + type: string + format: objectid + readOnly: true + description: Unique identifier for the Site + example: 580e63e98c9a982ac9b8b741 + title: + type: string + description: Title of the Page + example: My New Page + slug: + type: string + description: slug of the Page (derived from title) + example: my-new-page + parentId: + type: string + format: objectid + description: Identifier of the parent folder + readOnly: true + example: 6419db964a9c435aa3af6251 + collectionId: + type: string + format: objectid + readOnly: true + description: 'Unique identifier for a linked Collection, value will be null if the Page is not part of a Collection.' + example: 6390c49774a71f12831a08e3 + createdOn: + type: string + format: date-time + readOnly: true + description: The date the Page was created + example: '2016-10-24T19:42:38.929Z' + lastUpdated: + type: string + format: date-time + readOnly: true + description: The date the Page was most recently updated + example: '2016-10-24T19:42:38.929Z' + archived: + type: boolean + description: Whether the Page has been archived + default: false + example: false + readOnly: true + draft: + type: boolean + description: Whether the Page is a draft + default: false + example: false + readOnly: true + canBranch: + type: boolean + description: 'Indicates whether the Page supports [Page Branching](https://university.webflow.com/lesson/page-branching)' + readOnly: true + default: false + example: false + isBranch: + type: boolean + description: 'Indicates whether the Page is a Branch of another Page [Page Branching](https://university.webflow.com/lesson/page-branching)' + readOnly: true + default: false + example: false + isMembersOnly: + type: boolean + description: 'Indicates whether the Page is restricted by [Memberships Controls](https://university.webflow.com/lesson/webflow-memberships-overview#how-to-manage-page-restrictions)' + readOnly: true + default: false + example: false + seo: + type: object + description: SEO-related fields for the Page + properties: + title: + type: string + description: The Page title shown in search engine results + example: CoffeeStyle eCommerce - Webflow HTML website template + description: + type: string + description: The Page description shown in search engine results + example: This Webflow template offers a quick start into an ecommerce / memberships site + openGraph: + type: object + description: Open Graph fields for the Page + properties: + title: + type: string + description: The title supplied to Open Graph annotations + example: My snazzy Open Graph title + titleCopied: + type: boolean + description: Indicates the Open Graph title was copied from the SEO title + readOnly: true + default: true + description: + type: string + description: The description supplied to Open Graph annotations + example: My informative Open Graph description + descriptionCopied: + type: boolean + description: Indicates the Open Graph description was copied from the SEO description + readOnly: true + default: true + localeId: + description: Unique ID of the page locale + type: string + format: objectid + nullable: true + readOnly: true + example: 653fd9af6a07fc9cfd7a5e57 + publishedPath: + description: Relative path of the published page URL + type: string + readOnly: true + example: /heart-of-gold + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + put: + security: + - OAuth2: + - 'page:write' + description: | + Update Page-level metadata, including SEO and Open Graph fields. + + Required scope | `pages:write` + summary: Update Page Metadata + operationId: update-page-settings + tags: + - Pages + parameters: + - name: page_id + in: path + description: Unique identifier for a Page + example: 63c720f9347c2139b248e552 + required: true + schema: + type: string + format: objectid + default: null + - name: localeId + in: query + allowEmptyValue: true + example: 65427cf400e02b306eaa04a0 + description: 'Unique identifier for a specific locale. Applicable, when using localization.' + schema: + type: string + requestBody: + content: + application/json: + schema: + description: The Page object + type: object + required: + - id + example: + id: 6596da6045e56dee495bcbba + siteId: 6258612d1ee792848f805dcf + parentId: null + collectionId: null + title: Guide to the Galaxy + slug: guide-to-the-galaxy + createdOn: '2024-03-11T10:42:00.000Z' + lastUpdated: '2024-03-11T10:42:42.000Z' + archived: false + draft: false + canBranch: true + isBranch: false + seo: + title: The Ultimate Hitchhiker's Guide to the Galaxy + description: 'Everything you need to know about the galaxy, from avoiding Vogon poetry to the importance of towels.' + openGraph: + title: Explore the Cosmos with The Ultimate Guide + titleCopied: false + description: Dive deep into the mysteries of the universe with your guide to everything galactic. + descriptionCopied: false + localeId: 653fd9af6a07fc9cfd7a5e57 + publishedPath: /en-us/guide-to-the-galaxy + properties: + id: + type: string + format: objectid + readOnly: true + description: Unique identifier for the Page + example: 63499e4e6e9ed5abbfe42b69 + siteId: + type: string + format: objectid + readOnly: true + description: Unique identifier for the Site + example: 580e63e98c9a982ac9b8b741 + title: + type: string + description: Title of the Page + example: My New Page + slug: + type: string + description: slug of the Page (derived from title) + example: my-new-page + parentId: + type: string + format: objectid + description: Identifier of the parent folder + readOnly: true + example: 6419db964a9c435aa3af6251 + collectionId: + type: string + format: objectid + readOnly: true + description: 'Unique identifier for a linked Collection, value will be null if the Page is not part of a Collection.' + example: 6390c49774a71f12831a08e3 + createdOn: + type: string + format: date-time + readOnly: true + description: The date the Page was created + example: '2016-10-24T19:42:38.929Z' + lastUpdated: + type: string + format: date-time + readOnly: true + description: The date the Page was most recently updated + example: '2016-10-24T19:42:38.929Z' + archived: + type: boolean + description: Whether the Page has been archived + default: false + example: false + readOnly: true + draft: + type: boolean + description: Whether the Page is a draft + default: false + example: false + readOnly: true + canBranch: + type: boolean + description: 'Indicates whether the Page supports [Page Branching](https://university.webflow.com/lesson/page-branching)' + readOnly: true + default: false + example: false + isBranch: + type: boolean + description: 'Indicates whether the Page is a Branch of another Page [Page Branching](https://university.webflow.com/lesson/page-branching)' + readOnly: true + default: false + example: false + isMembersOnly: + type: boolean + description: 'Indicates whether the Page is restricted by [Memberships Controls](https://university.webflow.com/lesson/webflow-memberships-overview#how-to-manage-page-restrictions)' + readOnly: true + default: false + example: false + seo: + type: object + description: SEO-related fields for the Page + properties: + title: + type: string + description: The Page title shown in search engine results + example: CoffeeStyle eCommerce - Webflow HTML website template + description: + type: string + description: The Page description shown in search engine results + example: This Webflow template offers a quick start into an ecommerce / memberships site + openGraph: + type: object + description: Open Graph fields for the Page + properties: + title: + type: string + description: The title supplied to Open Graph annotations + example: My snazzy Open Graph title + titleCopied: + type: boolean + description: Indicates the Open Graph title was copied from the SEO title + readOnly: true + default: true + description: + type: string + description: The description supplied to Open Graph annotations + example: My informative Open Graph description + descriptionCopied: + type: boolean + description: Indicates the Open Graph description was copied from the SEO description + readOnly: true + default: true + localeId: + description: Unique ID of the page locale + type: string + format: objectid + nullable: true + readOnly: true + example: 653fd9af6a07fc9cfd7a5e57 + publishedPath: + description: Relative path of the published page URL + type: string + readOnly: true + example: /heart-of-gold + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: The Page object + type: object + required: + - id + example: + id: 6596da6045e56dee495bcbba + siteId: 6258612d1ee792848f805dcf + parentId: null + collectionId: null + title: Guide to the Galaxy + slug: guide-to-the-galaxy + createdOn: '2024-03-11T10:42:00.000Z' + lastUpdated: '2024-03-11T10:42:42.000Z' + archived: false + draft: false + canBranch: true + isBranch: false + seo: + title: The Ultimate Hitchhiker's Guide to the Galaxy + description: 'Everything you need to know about the galaxy, from avoiding Vogon poetry to the importance of towels.' + openGraph: + title: Explore the Cosmos with The Ultimate Guide + titleCopied: false + description: Dive deep into the mysteries of the universe with your guide to everything galactic. + descriptionCopied: false + localeId: 653fd9af6a07fc9cfd7a5e57 + publishedPath: /en-us/guide-to-the-galaxy + properties: + id: + type: string + format: objectid + readOnly: true + description: Unique identifier for the Page + example: 63499e4e6e9ed5abbfe42b69 + siteId: + type: string + format: objectid + readOnly: true + description: Unique identifier for the Site + example: 580e63e98c9a982ac9b8b741 + title: + type: string + description: Title of the Page + example: My New Page + slug: + type: string + description: slug of the Page (derived from title) + example: my-new-page + parentId: + type: string + format: objectid + description: Identifier of the parent folder + readOnly: true + example: 6419db964a9c435aa3af6251 + collectionId: + type: string + format: objectid + readOnly: true + description: 'Unique identifier for a linked Collection, value will be null if the Page is not part of a Collection.' + example: 6390c49774a71f12831a08e3 + createdOn: + type: string + format: date-time + readOnly: true + description: The date the Page was created + example: '2016-10-24T19:42:38.929Z' + lastUpdated: + type: string + format: date-time + readOnly: true + description: The date the Page was most recently updated + example: '2016-10-24T19:42:38.929Z' + archived: + type: boolean + description: Whether the Page has been archived + default: false + example: false + readOnly: true + draft: + type: boolean + description: Whether the Page is a draft + default: false + example: false + readOnly: true + canBranch: + type: boolean + description: 'Indicates whether the Page supports [Page Branching](https://university.webflow.com/lesson/page-branching)' + readOnly: true + default: false + example: false + isBranch: + type: boolean + description: 'Indicates whether the Page is a Branch of another Page [Page Branching](https://university.webflow.com/lesson/page-branching)' + readOnly: true + default: false + example: false + isMembersOnly: + type: boolean + description: 'Indicates whether the Page is restricted by [Memberships Controls](https://university.webflow.com/lesson/webflow-memberships-overview#how-to-manage-page-restrictions)' + readOnly: true + default: false + example: false + seo: + type: object + description: SEO-related fields for the Page + properties: + title: + type: string + description: The Page title shown in search engine results + example: CoffeeStyle eCommerce - Webflow HTML website template + description: + type: string + description: The Page description shown in search engine results + example: This Webflow template offers a quick start into an ecommerce / memberships site + openGraph: + type: object + description: Open Graph fields for the Page + properties: + title: + type: string + description: The title supplied to Open Graph annotations + example: My snazzy Open Graph title + titleCopied: + type: boolean + description: Indicates the Open Graph title was copied from the SEO title + readOnly: true + default: true + description: + type: string + description: The description supplied to Open Graph annotations + example: My informative Open Graph description + descriptionCopied: + type: boolean + description: Indicates the Open Graph description was copied from the SEO description + readOnly: true + default: true + localeId: + description: Unique ID of the page locale + type: string + format: objectid + nullable: true + readOnly: true + example: 653fd9af6a07fc9cfd7a5e57 + publishedPath: + description: Relative path of the published page URL + type: string + readOnly: true + example: /heart-of-gold + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/pages/{page_id}/dom': + get: + x-fern-sdk-group-name: pages + x-fern-sdk-method-name: get-content + security: + - OAuth2: + - 'page:read' + summary: Get Page Content + description: | + Get static content from a static page. + + If you do not provide a Locale ID in your request, the response will return any content that can be localized from the Primary locale. + + Required scope | `pages:read` + operationId: get-static-content + tags: + - Pages + parameters: + - name: page_id + in: path + description: Unique identifier for a Page + example: 63c720f9347c2139b248e552 + required: true + schema: + type: string + format: objectid + default: null + - name: localeId + in: query + allowEmptyValue: true + example: 65427cf400e02b306eaa04a0 + description: 'Unique identifier for a specific locale. Applicable, when using localization.' + schema: + type: string + - in: query + allowEmptyValue: true + name: limit + example: 100 + description: 'Maximum number of records to be returned (max limit: 100)' + required: false + schema: + type: number + - in: query + example: 0 + allowEmptyValue: true + name: offset + description: Offset used for pagination if the results have more than limit records + required: false + schema: + type: number + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: | + The DOM (Document Object Model) schema represents the content structure of a web page. It captures various content nodes, such as text and images, along with their associated attributes. Each node has a unique identifier and can be of different types like text or image. The schema also provides pagination details for scenarios where the content nodes are too many to be fetched in a single request. + type: object + example: + pageId: 658205daa3e8206a523b5ad4 + nodes: + - id: a245c12d-995b-55ee-5ec7-aa36a6cad623 + type: text + text: + html:

The Hitchhiker's Guide to the Galaxy

+ text: The Hitchhiker's Guide to the Galaxy + attributes: {} + - id: a245c12d-995b-55ee-5ec7-aa36a6cad627 + type: text + text: + html:

Don't Panic!

Always know where your towel is.

+ text: null + attributes: {} + - id: a245c12d-995b-55ee-5ec7-aa36a6cad629 + type: image + image: + alt: 'Marvin, the Paranoid Android' + assetId: 659595234426a9fcbad57043 + attributes: {} + pagination: + limit: 3 + offset: 0 + total: 3 + properties: + pageId: + type: string + description: Page ID + nodes: + type: array + items: + description: | + A generic representation of a content element within the Document Object Model (DOM). Each node has a unique identifier and a specific type that determines its content structure and attributes. + type: object + properties: + id: + type: string + description: Node UUID + readOnly: true + type: + type: string + enum: + - text + - image + text: + description: | + Represents textual content within the DOM. It contains both the raw text and its HTML representation, allowing for flexibility in rendering and processing. Additional attributes can be associated with the text for styling or other purposes. + type: object + properties: + html: + type: string + text: + type: string + nullable: true + image: + description: | + Represents an image within the DOM. It contains details about the image, such as its alternative text (alt) for accessibility and an asset identifier for fetching the actual image resource. Additional attributes can be associated with the image for styling or other purposes. + type: object + properties: + alt: + type: string + nullable: true + assetId: + type: string + attributes: + type: object + description: The custom attributes of the node + additionalProperties: + type: string + pagination: + description: Pagination object + type: object + properties: + limit: + type: number + description: The limit used for pagination + example: 100 + offset: + type: number + description: The offset used for pagination + example: 0 + total: + type: number + description: The total number of records + example: 100 + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: Forbidden + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: forbidden + message: User is not authorized to perform this action + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + post: + security: + - OAuth2: + - 'page:write' + summary: Update Page Content + description: | + This endpoint allows for updating static content on a static page within a secondary locale. It is designed specifically for localized pages and can handle up to 1000 nodes per request. +

Note:This endpoint is specifically for localized pages. Ensure that the locale specified is a valid secondary locale for the site.

+ + Required scope | `pages:write` + operationId: update-static-content + tags: + - Pages + parameters: + - name: page_id + in: path + description: Unique identifier for a Page + example: 63c720f9347c2139b248e552 + required: true + schema: + type: string + format: objectid + default: null + - name: localeId + in: query + allowEmptyValue: true + example: 65427cf400e02b306eaa04a0 + description: 'Unique identifier for a specific locale. Applicable, when using localization.' + schema: + type: string + requestBody: + content: + application/json: + schema: + description: | + The DOM (Document Object Model) schema represents the content structure of a web page. It captures various content nodes, such as text and images, along with their associated attributes. Each node has a unique identifier and can be of different types like text or image. The schema also provides pagination details for scenarios where the content nodes are too many to be fetched in a single request. + type: object + properties: + nodes: + type: array + items: + type: object + properties: + nodeId: + type: string + description: Node UUID + example: a245c12d-995b-55ee-5ec7-aa36a6cad623 + text: + type: string + description: 'HTML content of the node, including the HTML tag. The HTML tags must be the same as what''s returned from the Get Content endpoint.' + example:

Hello world

+ required: + - nodeId + - text + minItems: 1 + maxItems: 1000 + required: + - nodes + example: + nodes: + - nodeId: a245c12d-995b-55ee-5ec7-aa36a6cad623 + text:

The Hitchhiker’s Guide to the Galaxy

+ - nodeId: a245c12d-995b-55ee-5ec7-aa36a6cad627 + text:

Don’t Panic!

Always know where your towel is.

+ - nodeId: a245c12d-995b-55ee-5ec7-aa36a6cad629 + text: 'Marvin, the Paranoid Android' + responses: + '200': + description: Request was successful + content: + application/json: + schema: + type: object + properties: + errors: + type: array + description: 'A list of error messages, if any.' + items: + type: string + example: [] + required: + - errors + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: Forbidden + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: forbidden + message: User is not authorized to perform this action + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/pages/{page_id}/custom_code': + get: + x-fern-sdk-group-name: + - pages + - scripts + x-fern-sdk-method-name: get-custom-code + security: + - OAuth2: + - 'custom_code:read' + operationId: get-page-custom-code + summary: Get Custom Code + description: "Get all registered scripts that have been applied to a specific Page. \n\nIn order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered \nto a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate\n`custom_code` endpoints. \n
Access to this endpoint requires a bearer token from a Data Client App.
\n\nRequired scope | `custom_code:read`\n" + tags: + - Custom Code - Pages + - Custom Code + - Sites + parameters: + - name: page_id + in: path + description: Unique identifier for a Page + example: 63c720f9347c2139b248e552 + required: true + schema: + type: string + format: objectid + default: null + responses: + '200': + description: Request was successful + content: + application/json: + schema: + type: object + properties: + scripts: + type: array + description: A list of scripts applied to a Site or a Page + items: + type: object + required: + - id + - version + - location + properties: + id: + description: ID of the registered custom code script + type: string + format: objectId + location: + description: 'Location of the script, either in the header or footer of the published site' + type: string + default: header + enum: + - header + - footer + version: + type: string + description: Semantic Version String for the registered script *e.g. 0.0.1* + attributes: + type: object + description: Developer-specified key/value pairs to be applied as attributes to the script + example: + - id: cms_slider + - location: header + - version: 1.0.0 + lastUpdated: + type: string + format: date-string + readOnly: true + description: Date when the Site's scripts were last updated + createdOn: + type: string + format: date-string + readOnly: true + description: Date when the Site's scripts were created + example: + scripts: + - id: cms_slider + location: header + version: 1.0.0 + attributes: + my-attribute: some-value + - id: alert + location: header + version: 0.0.1 + example: + value: + scripts: + - id: cms_slider + location: header + version: 1.0.0 + attributes: + my-attribute: some-value + - id: alert + location: header + version: 0.0.1 + attributes: {} + lastUpdated: '2022-10-26T00:28:54.191Z' + createdOn: '2022-10-26T00:28:54.191Z' + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + delete: + x-fern-sdk-group-name: + - pages + - scripts + x-fern-sdk-method-name: delete-custom-code + security: + - OAuth2: + - 'custom_code:write' + operationId: delete-page-custom-code + summary: Delete Custom Code + description: "Delete the custom code block that an app has created for a page\n\nIn order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered \nto a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate\n`custom_code` endpoints. \n
Access to this endpoint requires a bearer token from a Data Client App.
\n\nRequired scope | `custom_code:write`\n" + tags: + - Custom Code - Pages + - Custom Code + - Sites + parameters: + - name: page_id + in: path + description: Unique identifier for a Page + example: 63c720f9347c2139b248e552 + required: true + schema: + type: string + format: objectid + default: null + responses: + '204': + description: Request was successful. No Content is returned. + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + put: + x-fern-sdk-group-name: + - pages + - scripts + x-fern-sdk-method-name: upsert-custom-code + security: + - OAuth2: + - 'custom_code:write' + operationId: add-custom-code-to-page + summary: Add/Update Custom Code + description: "Add a registered script to a Page. \n\nIn order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered \nto a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate\n`custom_code` endpoints. \n
Access to this endpoint requires a bearer token from a Data Client App.
\n\nRequired scope | `custom_code:write`\n" + tags: + - Custom Code - Pages + - Custom Code + - Sites + parameters: + - name: page_id + in: path + description: Unique identifier for a Page + example: 63c720f9347c2139b248e552 + required: true + schema: + type: string + format: objectid + default: null + requestBody: + content: + application/json: + schema: + type: object + properties: + scripts: + type: array + description: A list of scripts applied to a Site or a Page + items: + type: object + required: + - id + - version + - location + properties: + id: + description: ID of the registered custom code script + type: string + format: objectId + location: + description: 'Location of the script, either in the header or footer of the published site' + type: string + default: header + enum: + - header + - footer + version: + type: string + description: Semantic Version String for the registered script *e.g. 0.0.1* + attributes: + type: object + description: Developer-specified key/value pairs to be applied as attributes to the script + example: + - id: cms_slider + - location: header + - version: 1.0.0 + lastUpdated: + type: string + format: date-string + readOnly: true + description: Date when the Site's scripts were last updated + createdOn: + type: string + format: date-string + readOnly: true + description: Date when the Site's scripts were created + example: + scripts: + - id: cms_slider + location: header + version: 1.0.0 + attributes: + my-attribute: some-value + - id: alert + location: header + version: 0.0.1 + responses: + '200': + description: Request was successful + content: + application/json: + schema: + type: object + properties: + scripts: + type: array + description: A list of scripts applied to a Site or a Page + items: + type: object + required: + - id + - version + - location + properties: + id: + description: ID of the registered custom code script + type: string + format: objectId + location: + description: 'Location of the script, either in the header or footer of the published site' + type: string + default: header + enum: + - header + - footer + version: + type: string + description: Semantic Version String for the registered script *e.g. 0.0.1* + attributes: + type: object + description: Developer-specified key/value pairs to be applied as attributes to the script + example: + - id: cms_slider + - location: header + - version: 1.0.0 + lastUpdated: + type: string + format: date-string + readOnly: true + description: Date when the Site's scripts were last updated + createdOn: + type: string + format: date-string + readOnly: true + description: Date when the Site's scripts were created + example: + scripts: + - id: cms_slider + location: header + version: 1.0.0 + attributes: + my-attribute: some-value + - id: alert + location: header + version: 0.0.1 + example: + scripts: + - id: cms_slider + location: header + version: 1.0.0 + attributes: + my-attribute: some-value + - id: alert + location: header + version: 0.0.1 + attributes: {} + lastUpdated: '2022-10-26T00:28:54.191Z' + createdOn: '2022-10-26T00:28:54.191Z' + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/sites/{site_id}/custom_code': + get: + x-fern-sdk-group-name: + - sites + - scripts + x-fern-sdk-method-name: get-custom-code + security: + - OAuth2: + - 'custom_code:read' + operationId: get-site-custom-code + summary: Get Custom Code + description: "Get all registered scripts that have been applied to a specific Site. \n
Access to this endpoint requires a bearer token from a Data Client App.
\n\nRequired scope | `custom_code:read`\n" + tags: + - Custom Code - Sites + - Custom Code + - Sites + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + responses: + '200': + description: Request was successful + content: + application/json: + schema: + type: object + properties: + scripts: + type: array + description: A list of scripts applied to a Site or a Page + items: + type: object + required: + - id + - version + - location + properties: + id: + description: ID of the registered custom code script + type: string + format: objectId + location: + description: 'Location of the script, either in the header or footer of the published site' + type: string + default: header + enum: + - header + - footer + version: + type: string + description: Semantic Version String for the registered script *e.g. 0.0.1* + attributes: + type: object + description: Developer-specified key/value pairs to be applied as attributes to the script + example: + - id: cms_slider + - location: header + - version: 1.0.0 + lastUpdated: + type: string + format: date-string + readOnly: true + description: Date when the Site's scripts were last updated + createdOn: + type: string + format: date-string + readOnly: true + description: Date when the Site's scripts were created + example: + scripts: + - id: cms_slider + location: header + version: 1.0.0 + attributes: + my-attribute: some-value + - id: alert + location: header + version: 0.0.1 + example: + scripts: + - id: cms_slider + location: header + version: 1.0.0 + attributes: + my-attribute: some-value + - id: alert + location: header + version: 0.0.1 + attributes: {} + lastUpdated: '2022-10-26T00:28:54.191Z' + createdOn: '2022-10-26T00:28:54.191Z' + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + delete: + x-fern-sdk-group-name: + - sites + - scripts + x-fern-sdk-method-name: delete-custom-code + security: + - OAuth2: + - 'custom_code:write' + operationId: delete-site-custom-code + summary: Delete Custom Code + description: "Delete the custom code block that an app created for a Site\n\n
Access to this endpoint requires a bearer token from a Data Client App.
\n\nRequired scope | `custom_code:write`\n" + tags: + - Custom Code - Sites + - Custom Code + - Sites + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + responses: + '204': + description: Request was successful. No Content is returned. + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + put: + x-fern-sdk-group-name: + - sites + - scripts + x-fern-sdk-method-name: upsert-custom-code + security: + - OAuth2: + - 'custom_code:write' + operationId: add-custom-code-tosite + summary: Add/Update Custom Code + description: "Add a registered script to a Site. \n\nIn order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered \nto a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate\n`custom_code` endpoints. \n
Access to this endpoint requires a bearer token from a Data Client App.
\n\nRequired scope | `custom_code:write`\n" + tags: + - Custom Code - Sites + - Custom Code + - Sites + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + requestBody: + content: + application/json: + schema: + type: object + properties: + scripts: + type: array + description: A list of scripts applied to a Site or a Page + items: + type: object + required: + - id + - version + - location + properties: + id: + description: ID of the registered custom code script + type: string + format: objectId + location: + description: 'Location of the script, either in the header or footer of the published site' + type: string + default: header + enum: + - header + - footer + version: + type: string + description: Semantic Version String for the registered script *e.g. 0.0.1* + attributes: + type: object + description: Developer-specified key/value pairs to be applied as attributes to the script + example: + - id: cms_slider + - location: header + - version: 1.0.0 + lastUpdated: + type: string + format: date-string + readOnly: true + description: Date when the Site's scripts were last updated + createdOn: + type: string + format: date-string + readOnly: true + description: Date when the Site's scripts were created + example: + scripts: + - id: cms_slider + location: header + version: 1.0.0 + attributes: + my-attribute: some-value + - id: alert + location: header + version: 0.0.1 + responses: + '200': + description: Request was successful + content: + application/json: + schema: + type: object + properties: + scripts: + type: array + description: A list of scripts applied to a Site or a Page + items: + type: object + required: + - id + - version + - location + properties: + id: + description: ID of the registered custom code script + type: string + format: objectId + location: + description: 'Location of the script, either in the header or footer of the published site' + type: string + default: header + enum: + - header + - footer + version: + type: string + description: Semantic Version String for the registered script *e.g. 0.0.1* + attributes: + type: object + description: Developer-specified key/value pairs to be applied as attributes to the script + example: + - id: cms_slider + - location: header + - version: 1.0.0 + lastUpdated: + type: string + format: date-string + readOnly: true + description: Date when the Site's scripts were last updated + createdOn: + type: string + format: date-string + readOnly: true + description: Date when the Site's scripts were created + example: + scripts: + - id: cms_slider + location: header + version: 1.0.0 + attributes: + my-attribute: some-value + - id: alert + location: header + version: 0.0.1 + example: + scripts: + - id: cms_slider + location: header + version: 1.0.0 + attributes: + my-attribute: some-value + - id: alert + location: header + version: 0.0.1 + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/sites/{site_id}/registered_scripts': + get: + x-fern-sdk-group-name: scripts + x-fern-sdk-method-name: list + security: + - OAuth2: + - 'custom_code:read' + operationId: get-scripts + summary: Get Registered Scripts + description: "List of scripts registered to a Site. \n\nIn order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered \nto a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate\n`custom_code` endpoints. \nAdditionally, Scripts can be remotely hosted, or registered as inline snippets.\n
Access to this endpoint requires a bearer token from a Data Client App.
\n\nRequired scope | `custom_code:read`\n" + tags: + - Custom Code + - Registered Scripts + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + responses: + '200': + description: Request was successful + content: + application/json: + schema: + type: object + description: A list of scripts registered to the site + properties: + registeredScripts: + type: array + items: + description: Registered custom code for application + properties: + id: + type: string + readOnly: true + description: 'Human readable id, derived from the user-specified display name' + canCopy: + type: boolean + description: Define whether the script can be copied on site duplication and transfer + default: false + displayName: + type: string + description: User-facing name for the script. Must be between 1 and 50 alphanumeric characters + hostedLocation: + type: string + description: URI for an externally hosted script location + integrityHash: + type: string + description: Sub-Resource Integrity Hash. Only required for externally hosted scripts (passed via hostedLocation) + format: hash + createdOn: + type: string + format: date-string + readOnly: true + description: Timestamp when the script version was created + lastUpdated: + type: string + format: date-string + readOnly: true + description: Timestamp when the script version was last updated + version: + type: string + description: 'A Semantic Version (SemVer) string, denoting the version of the script' + example: + id: cms_slider + displayName: CMS Slider + hostedLocation: 'https://cdn.jsdelivr.net/.../cmsslider.js' + integrityHash: sha384-J+YlJ8v0gpaRoKH7SbFbEmxOZlAxLiwNjfSsBhDooGa5roXlPPpXbEevck4J7YZ+ + canCopy: true + version: 1.0.0 + createdOn: '2022-10-26T00:28:54.191Z' + example: + registeredScripts: + - id: alert + version: 0.0.1 + displayName: Alert + hostedLocation: 'https://cdn.webflow.io/.../alert-0.0.1.js' + integrityHash: null + createdOn: '2022-10-26T00:28:54.191Z' + canCopy: false + - id: alert + version: 0.0.2 + displayName: Alert + hostedLocation: 'https://cdn.webflow.io/.../alert-0.0.2.js' + integrityHash: null + createdOn: '2022-10-26T00:28:54.191Z' + canCopy: false + - id: cms_slider + version: 1.0.0 + displayName: CMS Slider + hostedLocation: 'https://cdn.jsdelivr.net/.../cms_slider.js' + integrityHash: sha384-J+YlJ8v0gpaRoKH7SbFbEmxOZlAxLiwNjfSsBhDooGa5roXlPPpXbEevck4J7YZ+ + createdOn: '2022-10-26T00:28:54.191Z' + canCopy: true + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/sites/{site_id}/registered_scripts/hosted': + post: + x-fern-sdk-group-name: scripts + x-fern-sdk-method-name: register-hosted + security: + - OAuth2: + - 'custom_code:write' + operationId: post-hosted-script + summary: Register Script - Hosted + description: "Add a script to a Site's Custom Code registry.\n\nIn order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered \nto a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate\n`custom_code` endpoints. \nAdditionally, Scripts can be remotely hosted, or registered as inline snippets. \n
Access to this endpoint requires a bearer token from a Data Client App.
\n\nRequired scope | `custom_code:write`\n" + tags: + - Custom Code + - Registered Scripts + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + requestBody: + content: + application/json: + schema: + description: A registered external script + required: + - displayName + - version + - hostedLocation + - integrityHash + properties: + hostedLocation: + type: string + description: URI for an externally hosted script location + integrityHash: + type: string + description: Sub-Resource Integrity Hash + format: hash + canCopy: + type: boolean + description: Define whether the script can be copied on site duplication and transfer + default: false + version: + type: string + description: 'A Semantic Version (SemVer) string, denoting the version of the script' + displayName: + type: string + description: User-facing name for the script. Must be between 1 and 50 alphanumeric characters + examples: + - displayName: CMS Slider + hostedLocation: 'https://cdn.jsdelivr.net/.../cmsslider.js' + integrityHash: sha384-J+YlJ8v0gpaRoKH7SbFbEmxOZlAxLiwNjfSsBhDooGa5roXlPPpXbEevck4J7YZ+ + canCopy: true + version: 1.0.0 + responses: + '201': + description: Request was successful + content: + application/json: + schema: + description: Registered custom code for application + properties: + id: + type: string + readOnly: true + description: 'Human readable id, derived from the user-specified display name' + canCopy: + type: boolean + description: Define whether the script can be copied on site duplication and transfer + default: false + displayName: + type: string + description: User-facing name for the script. Must be between 1 and 50 alphanumeric characters + hostedLocation: + type: string + description: URI for an externally hosted script location + integrityHash: + type: string + description: Sub-Resource Integrity Hash. Only required for externally hosted scripts (passed via hostedLocation) + format: hash + createdOn: + type: string + format: date-string + readOnly: true + description: Timestamp when the script version was created + lastUpdated: + type: string + format: date-string + readOnly: true + description: Timestamp when the script version was last updated + version: + type: string + description: 'A Semantic Version (SemVer) string, denoting the version of the script' + example: + id: cms_slider + displayName: CMS Slider + hostedLocation: 'https://cdn.jsdelivr.net/.../cmsslider.js' + integrityHash: sha384-J+YlJ8v0gpaRoKH7SbFbEmxOZlAxLiwNjfSsBhDooGa5roXlPPpXbEevck4J7YZ+ + canCopy: true + version: 1.0.0 + createdOn: '2022-10-26T00:28:54.191Z' + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/sites/{site_id}/registered_scripts/inline': + post: + x-fern-sdk-group-name: scripts + x-fern-sdk-method-name: register-inline + security: + - OAuth2: + - 'custom_code:write' + operationId: post-inline-scripts + summary: Register Script - Inline + description: "Add a script to a Site's Custom Code registry. Inline scripts can be between 1 and 2000 characters.\n\nIn order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered \nto a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate\n`custom_code` endpoints. \n\n
Access to this endpoint requires a bearer token from a Data Client App.
\n\nRequired scope | `custom_code:write`\n" + tags: + - Custom Code + - Registered Scripts + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + requestBody: + content: + application/json: + schema: + description: A registered inline (Webflow-hosted) script + required: + - displayName + - version + - sourceCode + properties: + sourceCode: + type: string + description: The code to be added to the site (to be hosted by Webflow). + example: alert('hello world'); + integrityHash: + type: string + description: Sub-Resource Integrity Hash. Only required for externally hosted scripts (passed via hostedLocation) + format: hash + canCopy: + type: boolean + description: Define whether the script can be copied on site duplication and transfer + default: false + version: + type: string + description: 'A Semantic Version (SemVer) string, denoting the version of the script' + displayName: + type: string + description: User-facing name for the script. Must be between 1 and 50 alphanumeric characters + example: + displayName: Alert + sourceCode: alert('hello world'); + integrityHash: null + version: 0.0.1 + responses: + '201': + description: Created + content: + application/json: + schema: + description: Registered custom code for application + properties: + id: + type: string + readOnly: true + description: 'Human readable id, derived from the user-specified display name' + canCopy: + type: boolean + description: Define whether the script can be copied on site duplication and transfer + default: false + displayName: + type: string + description: User-facing name for the script. Must be between 1 and 50 alphanumeric characters + hostedLocation: + type: string + description: URI for an externally hosted script location + integrityHash: + type: string + description: Sub-Resource Integrity Hash. Only required for externally hosted scripts (passed via hostedLocation) + format: hash + createdOn: + type: string + format: date-string + readOnly: true + description: Timestamp when the script version was created + lastUpdated: + type: string + format: date-string + readOnly: true + description: Timestamp when the script version was last updated + version: + type: string + description: 'A Semantic Version (SemVer) string, denoting the version of the script' + example: + id: alert + displayName: Alert + hostedLocation: 'https://uploads-ssl.webflow.com/6258612d1ee792848f805dcf%2F64b6c769ff52ba6c3d904a91%2F660d6e15b3d1696f2d2b1447%2Falert-0.0.1.js' + integrityHash: null + canCopy: false + version: 0.0.1 + createdOn: '2022-10-26T00:28:54.191Z' + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/sites/{site_id}/custom_code/blocks': + get: + x-fern-sdk-group-name: + - sites + - scripts + x-fern-sdk-method-name: list-custom-code-blocks + security: + - OAuth2: + - 'custom_code:read' + operationId: get-site-custom-code-blocks + summary: List Custom Code Blocks + description: "Get all instances of Custom Code applied to a Site or Pages. \n
Access to this endpoint requires a bearer token from a Data Client App.
\n\nRequired scope | `custom_code:read`\n" + tags: + - Custom Code + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + - in: query + example: 0 + allowEmptyValue: true + name: offset + description: Offset used for pagination if the results have more than limit records + required: false + schema: + type: number + - in: query + allowEmptyValue: true + name: limit + example: 100 + description: 'Maximum number of records to be returned (max limit: 100)' + required: false + schema: + type: number + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: Custom Code Blocks corresponding to where scripts were applied + properties: + blocks: + type: array + items: + description: A specific instance of Custom Code applied to a Site or Page + properties: + siteId: + type: string + description: The Site ID where the custom code was applied + pageId: + type: string + nullable: true + description: The Page ID (if applied at Page-level) + type: + type: string + nullable: true + enum: + - page + - site + description: Whether the Custom Code script is applied at the Site-level or Page-level + scripts: + type: array + description: A list of scripts applied to a Site or a Page + items: + type: object + required: + - id + - version + - location + properties: + id: + description: ID of the registered custom code script + type: string + format: objectId + location: + description: 'Location of the script, either in the header or footer of the published site' + type: string + default: header + enum: + - header + - footer + version: + type: string + description: Semantic Version String for the registered script *e.g. 0.0.1* + attributes: + type: object + description: Developer-specified key/value pairs to be applied as attributes to the script + example: + - id: cms_slider + - location: header + - version: 1.0.0 + createdOn: + type: string + format: date-time + readOnly: true + description: The date the Block was created + example: '2016-10-24T19:42:38.929Z' + lastUpdated: + type: string + format: date-time + readOnly: true + description: The date the Block was most recently updated + example: '2016-10-24T19:42:38.929Z' + pagination: + description: Pagination object + type: object + properties: + limit: + type: number + description: The limit used for pagination + example: 100 + offset: + type: number + description: The offset used for pagination + example: 0 + total: + type: number + description: The total number of records + example: 100 + example: + blocks: + - siteId: 6258612d1ee792848f805dcf + pageId: null + type: site + scripts: + - id: chartjs + displayName: ChartJS + version: 4.4.2 + location: header + attributes: {} + lastUpdated: '2024-04-03T16:49:15.461Z' + createdOn: '2024-04-03T16:49:15.461Z' + - siteId: 6390c49674a71f84b51a08d8 + pageId: 6419db964a9c43f6a3af6348 + type: page + scripts: + - id: cms_slider + location: header + version: 1.0.0 + attributes: + my-attribute: some-value + - id: alert + location: header + version: 0.0.1 + attributes: {} + lastUpdated: '2022-10-26T00:28:54.191Z' + createdOn: '2022-10-26T00:28:54.191Z' + pagination: + total: 1 + offset: 0 + limit: 10 + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/sites/{site_id}/assets': + get: + x-fern-sdk-group-name: assets + x-fern-sdk-method-name: list + security: + - OAuth2: + - 'assets:read' + operationId: list-assets + summary: List Assets + description: | + List assets for a given site + + Required scope | `assets:read` + tags: + - Assets + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + responses: + '200': + description: Request was successful + content: + application/json: + schema: + type: object + description: A list of assets + properties: + assets: + type: array + items: + properties: + id: + type: string + format: objectid + example: 55131cd036c09f7d07883dfc + description: Unique identifier for this asset + contentType: + type: string + example: image/png + format: mime-type + description: File format type + size: + type: integer + description: size in bytes + example: 1500 + siteId: + type: string + format: objectid + example: 62749158efef318abc8d5a0f + description: Unique identifier for the site that hosts this asset + hostedUrl: + type: string + format: uri + example: example.com/hostedimage.png + description: Link to the asset + originalFileName: + type: string + example: image.png + description: Original file name at the time of upload + displayName: + type: string + example: example-image-123.png + description: Display name of the asset + lastUpdated: + type: string + format: date-time + example: '2016-09-06T21:12:22.148Z' + description: Date the asset metadata was last updated + createdOn: + type: string + format: date-time + example: '2016-09-02T23:26:22.241Z' + description: Date the asset metadata was created + variants: + type: array + items: + properties: + hostedUrl: + type: string + format: uri + example: example.com/hostedimage.png + description: URL of where the asset variant is hosted + originalFileName: + type: string + example: image.png + description: Original file name of the variant + displayName: + type: string + example: A brown dog + description: Display name of the variant + format: + type: string + description: format of the variant + width: + type: integer + description: Width in pixels + example: 1500 + height: + type: integer + description: Height in pixels + example: 900 + quality: + type: integer + description: Value between 0 and 100 representing the image quality + error: + type: string + description: Any associated validation errors + altText: + type: string + example: A red chair + description: The visual description of the asset + example: + assets: + - id: 63e5889e7fe4eafa7384cea4 + originalFileName: Candy-Wrapper.svg + displayName: 63e5889e7fe4eafa7384cea4_Candy-Wrapper.png + contentType: image/png + size: 2212772 + siteId: 63938b302ea6b0aa6f3d8745 + createdOn: '2023-02-09T23:58:22.294Z' + lastUpdated: '2023-03-01T23:42:57.862Z' + hostedUrl: 'https://s3.amazonaws.com/webflow-prod-assets/63938b302ea6b0aa6f3d8745/63e5889e7fe4eafa7384cea4_Vectors-Wrapper.svg' + variants: + - hostedUrl: 'https://s3.amazonaws.com/webflow-prod-assets/6258612d1ee792848f805dcf/660d83ce30f3a599ddb0bdb3_Screenshot%202024-03-20%20at%209.03.24%E2%80%AFPM-p-500.png' + originalFileName: Screenshot%202024-03-20%20at%209.03.24%E2%80%AFPM-p-500.png + displayName: 660d83ce30f3a599ddb0bdb3_Screenshot%202024-03-20%20at%209.03.24%E2%80%AFPM-p-500.png + format: png + width: 500 + height: null + quality: 100 + error: null + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + post: + x-fern-sdk-group-name: assets + x-fern-sdk-method-name: create + security: + - OAuth2: + - 'assets:write' + operationId: create-asset + summary: Create Asset Metadata + description: | + Create a new asset entry. + + + This endpoint generates a response with the following information: `uploadUrl` and `uploadDetails`. + You can use these two properties to [upload the file to Amazon s3 by making a POST](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html) + request to the `uploadUrl` with the `uploadDetails` object as your header information in the request. + + + Required scope | `assets:write` + tags: + - Assets + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + requestBody: + description: Information about the asset to create + required: true + content: + application/json: + schema: + description: The request to create a webhook + required: + - fileName + - fileHash + properties: + fileName: + type: string + example: file.png + description: File name including file extension. File names must be less than 100 characters. + fileHash: + type: string + example: 3c7d87c9575702bc3b1e991f4d3c638e + description: MD5 hash of the file + parentFolder: + type: string + example: 6436b1ce5281cace05b65aea + description: ID of the Asset folder (optional) + responses: + '200': + description: Request was successful + content: + application/json: + schema: + properties: + uploadDetails: + type: object + description: Metadata for uploading the asset binary + properties: + acl: + type: string + example: public-read + bucket: + type: string + example: webflow-bucket-name + X-Amz-Algorithm: + type: string + example: AWS4-HMAC-SHA256 + X-Amz-Credential: + type: string + example: ///s3/aws4_request + X-Amz-Date: + type: string + example: + key: + type: string + example: /_ + Policy: + type: string + example: + X-Amz-Signature: + type: string + example: + success_action_status: + type: string + example: '201' + content-type: + type: string + format: mime-type + example: image/png + Cache-Control: + type: string + example: 'max-age=31536000, must-revalidate' + contentType: + type: string + example: image/png + id: + type: string + format: objectid + example: 55131cd036c09f7d07883dfc + parentFolder: + type: string + format: objectid + default: null + example: 6436b1ce5281cace05b65aea + description: Parent folder for the asset + uploadUrl: + type: string + format: uri + example: example.com/assets/image.png + assetUrl: + type: string + format: uri + example: example.com/assets/image.png + description: S3 link to the asset + hostedUrl: + type: string + format: uri + description: Represents the link to the asset + example: example.com/hostedimage.png + originalFileName: + type: string + example: image.png + description: 'Original file name when uploaded. If not specified at time of upload, it may be extracted from the raw file name' + createdOn: + type: string + format: date-time + example: '2016-09-02T23:26:22.241Z' + description: Date the asset metadata was created + lastUpdated: + type: string + format: date-time + example: '2016-09-06T21:12:22.148Z' + description: Date the asset metadata was last updated + example: + uploadDetails: + acl: public-read + bucket: webflow-bucket-name + X-Amz-Algorithm: AWS4-HMAC-SHA256 + X-Amz-Credential: ///s3/aws4_request + X-Amz-Date: + key: /_ + Policy: + X-Amz-Signature: + success_action_status: '201' + content-type: image/png + Cache-Control: 'max-age=31536000, must-revalidate' + contentType: image/png + id: 64358b9544249dc43d37d2b7 + parentFolder: 6436b1ce5281cace05b65aea + uploadUrl: 'https://s3.amazonaws.com/webflow-dev-assets/643021114e290e0d3a0602b2/64358b9544249dc43d37d2b7_Screenshot%202023-04-11%20at%209.50.42%20AM.png' + assetUrl: 'https://s3.amazonaws.com/webflow-prod-assets/6258612d1ee792848f805dcf/660d907ab9e91e3e9f56385e_paranoidAndroid-2024.png' + hostedUrl: 'https://d1otoma47x30pg.cloudfront.net/643021114e290e0d3a0602b2/64358b9544249dc43d37d2b7_Screenshot%202023-04-11%20at%209.50.42%20AM.png' + originalFileName: file.png + createdOn: '2023-04-11T16:32:21.804Z' + lastUpdated: '2023-04-12T20:31:03.197Z' + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/assets/{asset_id}': + get: + x-fern-sdk-group-name: assets + x-fern-sdk-method-name: get + security: + - OAuth2: + - 'assets:read' + operationId: get-asset + summary: Get Asset + description: | + Get an Asset + + Required scope | `assets:read` + tags: + - Assets + parameters: + - name: asset_id + in: path + description: Unique identifier for an Asset on a site + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + responses: + '200': + description: Request was successful + content: + application/json: + schema: + properties: + id: + type: string + format: objectid + example: 55131cd036c09f7d07883dfc + description: Unique identifier for this asset + contentType: + type: string + example: image/png + format: mime-type + description: File format type + size: + type: integer + description: size in bytes + example: 1500 + siteId: + type: string + format: objectid + example: 62749158efef318abc8d5a0f + description: Unique identifier for the site that hosts this asset + hostedUrl: + type: string + format: uri + example: example.com/hostedimage.png + description: Link to the asset + originalFileName: + type: string + example: image.png + description: Original file name at the time of upload + displayName: + type: string + example: example-image-123.png + description: Display name of the asset + lastUpdated: + type: string + format: date-time + example: '2016-09-06T21:12:22.148Z' + description: Date the asset metadata was last updated + createdOn: + type: string + format: date-time + example: '2016-09-02T23:26:22.241Z' + description: Date the asset metadata was created + variants: + type: array + items: + properties: + hostedUrl: + type: string + format: uri + example: example.com/hostedimage.png + description: URL of where the asset variant is hosted + originalFileName: + type: string + example: image.png + description: Original file name of the variant + displayName: + type: string + example: A brown dog + description: Display name of the variant + format: + type: string + description: format of the variant + width: + type: integer + description: Width in pixels + example: 1500 + height: + type: integer + description: Height in pixels + example: 900 + quality: + type: integer + description: Value between 0 and 100 representing the image quality + error: + type: string + description: Any associated validation errors + altText: + type: string + example: A red chair + description: The visual description of the asset + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + patch: + x-fern-sdk-group-name: assets + x-fern-sdk-method-name: update + security: + - OAuth2: + - 'assets:write' + operationId: patch-asset + summary: Update Asset + description: | + Update an Asset + + Required scope | `assets:write` + tags: + - Assets + parameters: + - name: asset_id + in: path + description: Unique identifier for an Asset on a site + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + requestBody: + description: Information about the asset to update + required: true + content: + application/json: + schema: + description: The request to update an asset + properties: + localeId: + type: string + example: 65427cf400e02b306eaa04a0 + description: 'Unique identifier for a specific locale. Applicable, when using localization.' + displayName: + type: string + example: bulldoze.png + description: A human readable name for the asset + responses: + '200': + description: Request was successful + content: + application/json: + schema: + properties: + id: + type: string + format: objectid + example: 55131cd036c09f7d07883dfc + description: Unique identifier for this asset + contentType: + type: string + example: image/png + format: mime-type + description: File format type + size: + type: integer + description: size in bytes + example: 1500 + siteId: + type: string + format: objectid + example: 62749158efef318abc8d5a0f + description: Unique identifier for the site that hosts this asset + hostedUrl: + type: string + format: uri + example: example.com/hostedimage.png + description: Link to the asset + originalFileName: + type: string + example: image.png + description: Original file name at the time of upload + displayName: + type: string + example: example-image-123.png + description: Display name of the asset + lastUpdated: + type: string + format: date-time + example: '2016-09-06T21:12:22.148Z' + description: Date the asset metadata was last updated + createdOn: + type: string + format: date-time + example: '2016-09-02T23:26:22.241Z' + description: Date the asset metadata was created + variants: + type: array + items: + properties: + hostedUrl: + type: string + format: uri + example: example.com/hostedimage.png + description: URL of where the asset variant is hosted + originalFileName: + type: string + example: image.png + description: Original file name of the variant + displayName: + type: string + example: A brown dog + description: Display name of the variant + format: + type: string + description: format of the variant + width: + type: integer + description: Width in pixels + example: 1500 + height: + type: integer + description: Height in pixels + example: 900 + quality: + type: integer + description: Value between 0 and 100 representing the image quality + error: + type: string + description: Any associated validation errors + altText: + type: string + example: A red chair + description: The visual description of the asset + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + delete: + x-fern-sdk-group-name: assets + x-fern-sdk-method-name: delete + security: + - OAuth2: + - 'assets:write' + operationId: delete-asset + summary: Delete Asset + description: | + Delete an Asset + + Required Scope: `assets: write` + tags: + - Assets + parameters: + - name: asset_id + in: path + description: Unique identifier for an Asset on a site + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + responses: + '204': + description: Request was successful. No Content is returned. + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/sites/{site_id}/asset_folders': + get: + x-fern-sdk-group-name: assets + x-fern-sdk-method-name: list-folders + security: + - OAuth2: + - 'assets:read' + operationId: list-asset-folders + summary: List Asset Folders + description: | + List Asset Folders within a given site + + Required scope | `assets:read` + tags: + - Asset Folders + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: The Asset Folders object + type: object + example: + assetFolders: + - id: 6390c49774a71f0e3c1a08ee + displayName: emoji icons + parentFolder: null + assets: + - 63e5889e7fe4eafa7384cea4 + - 659595234426a9fcbad57043 + siteId: 6390c49674a71f84b51a08d8 + createdOn: 2018-10-14T21:55:49.063Z + lastUpdated: 2022-12-07T16:51:37.571Z + pagination: + total: 1 + offset: 0 + limit: 1 + properties: + assetFolders: + type: array + description: A list of Asset folders + items: + description: Asset Folder details + example: + id: 6390c49774a71f0e3c1a08ee + displayName: emoji icons + parentFolder: 6390c49774a71f99f21a08eb + assets: + - 63e5889e7fe4eafa7384cea4 + - 659595234426a9fcbad57043 + siteId: 6390c49674a71f84b51a08d8 + createdOn: 2018-10-14T21:55:49.063Z + lastUpdated: 2022-12-07T16:51:37.571Z + properties: + id: + type: string + format: objectid + description: Unique identifier for the Asset Folder + example: 55131cd036c09f7d07883dfc + displayName: + type: string + description: User visible name for the Asset Folder + parentFolder: + type: string + default: null + description: Pointer to parent Asset Folder (or null if root) + example: 6390c49774a71f99f21a08eb + assets: + type: array + description: Array of Asset instances in the folder + items: + type: string + format: objectid + description: Unique identifier for the Asset + example: 63e5889e7fe4eafa7384cea4 + siteId: + type: string + format: objectid + description: The unique ID of the site the Asset Folder belongs to + example: 545bbecb7bdd6769632504a7 + createdOn: + type: string + format: date-time + description: Date that the Asset Folder was created on + example: '2018-10-04T15:21:02.042Z' + lastUpdated: + type: string + format: date-time + description: Date that the Asset Folder was last updated on + example: '2018-10-04T15:21:02.042Z' + pagination: + description: Pagination object + type: object + properties: + limit: + type: number + description: The limit used for pagination + example: 100 + offset: + type: number + description: The offset used for pagination + example: 0 + total: + type: number + description: The total number of records + example: 100 + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + post: + x-fern-sdk-group-name: assets + x-fern-sdk-method-name: create-folder + security: + - OAuth2: + - 'assets:write' + operationId: create-asset-folder + summary: Create Asset Folder + description: | + Create an Asset Folder within a given site + + Required scope | `assets:write` + tags: + - Asset Folders + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + requestBody: + required: true + content: + application/json: + schema: + required: + - displayName + properties: + displayName: + type: string + example: my asset folder + description: A human readable name for the Asset Folder + parentFolder: + type: string + example: 6390c49774a71f99f21a08eb + default: null + description: An (optional) pointer to a parent Asset Folder (or null for root) + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: Asset Folder details + example: + id: 6390c49774a71f0e3c1a08ee + displayName: emoji icons + parentFolder: 6390c49774a71f99f21a08eb + assets: + - 63e5889e7fe4eafa7384cea4 + - 659595234426a9fcbad57043 + siteId: 6390c49674a71f84b51a08d8 + createdOn: 2018-10-14T21:55:49.063Z + lastUpdated: 2022-12-07T16:51:37.571Z + properties: + id: + type: string + format: objectid + description: Unique identifier for the Asset Folder + example: 55131cd036c09f7d07883dfc + displayName: + type: string + description: User visible name for the Asset Folder + parentFolder: + type: string + default: null + description: Pointer to parent Asset Folder (or null if root) + example: 6390c49774a71f99f21a08eb + assets: + type: array + description: Array of Asset instances in the folder + items: + type: string + format: objectid + description: Unique identifier for the Asset + example: 63e5889e7fe4eafa7384cea4 + siteId: + type: string + format: objectid + description: The unique ID of the site the Asset Folder belongs to + example: 545bbecb7bdd6769632504a7 + createdOn: + type: string + format: date-time + description: Date that the Asset Folder was created on + example: '2018-10-04T15:21:02.042Z' + lastUpdated: + type: string + format: date-time + description: Date that the Asset Folder was last updated on + example: '2018-10-04T15:21:02.042Z' + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/asset_folders/{asset_folder_id}': + get: + x-fern-sdk-group-name: assets + x-fern-sdk-method-name: get-folder + security: + - OAuth2: + - 'assets:read' + operationId: get-asset-folder + summary: Get Asset Folder + description: | + Get details about a specific Asset Folder + + Required scope | `assets:read` + tags: + - Asset Folders + parameters: + - name: asset_folder_id + in: path + description: Unique identifier for an Asset Folder + example: 6390c49774a71f0e3c1a08ee + required: true + schema: + type: string + format: objectid + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: Asset Folder details + example: + id: 6390c49774a71f0e3c1a08ee + displayName: emoji icons + parentFolder: 6390c49774a71f99f21a08eb + assets: + - 63e5889e7fe4eafa7384cea4 + - 659595234426a9fcbad57043 + siteId: 6390c49674a71f84b51a08d8 + createdOn: 2018-10-14T21:55:49.063Z + lastUpdated: 2022-12-07T16:51:37.571Z + properties: + id: + type: string + format: objectid + description: Unique identifier for the Asset Folder + example: 55131cd036c09f7d07883dfc + displayName: + type: string + description: User visible name for the Asset Folder + parentFolder: + type: string + default: null + description: Pointer to parent Asset Folder (or null if root) + example: 6390c49774a71f99f21a08eb + assets: + type: array + description: Array of Asset instances in the folder + items: + type: string + format: objectid + description: Unique identifier for the Asset + example: 63e5889e7fe4eafa7384cea4 + siteId: + type: string + format: objectid + description: The unique ID of the site the Asset Folder belongs to + example: 545bbecb7bdd6769632504a7 + createdOn: + type: string + format: date-time + description: Date that the Asset Folder was created on + example: '2018-10-04T15:21:02.042Z' + lastUpdated: + type: string + format: date-time + description: Date that the Asset Folder was last updated on + example: '2018-10-04T15:21:02.042Z' + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/sites/{site_id}/webhooks': + get: + x-fern-sdk-group-name: webhooks + x-fern-sdk-method-name: list + operationId: list-webhooks + summary: List Webhooks + description: | + List all App-created Webhooks registered for a given site + + Required scope | `sites:read` + tags: + - Webhooks + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + responses: + '200': + description: Request was successful + content: + application/json: + schema: + example: + webhooks: + - id: 57ca0a9e418c504a6e1acbb6 + triggerType: form_submission + siteId: 562ac0395358780a1f5e6fbd + workspaceId: 4f4e46fd476ea8c507000001 + filter: + name: Email Form + createdOn: '2016-09-02T23:26:22.241Z' + lastTriggered: '2023-02-08T23:59:28.572Z' + url: 'https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f' + - id: 578d85cce0c47cd2865f4cf2 + triggerType: form_submission + siteId: 562ac0395358780a1f5e6fbd + workspaceId: 4f4e46fd476ea8c507000001 + filter: + name: Email Form + createdOn: '2016-07-19T01:43:40.585Z' + lastTriggered: '2023-02-08T23:59:28.572Z' + url: 'https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f' + - id: 578d85cce0c47cd2865f4cf3 + triggerType: form_submission + siteId: 562ac0395358780a1f5e6fbd + workspaceId: 4f4e46fd476ea8c507000001 + filter: + name: Email Form + createdOn: '2016-07-19T01:43:40.605Z' + lastTriggered: '2023-02-08T23:59:28.572Z' + url: 'https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f' + properties: + pagination: + description: Pagination object + type: object + properties: + limit: + type: number + description: The limit used for pagination + example: 100 + offset: + type: number + description: The offset used for pagination + example: 0 + total: + type: number + description: The total number of records + example: 100 + webhooks: + type: array + items: + example: + id: 582266e0cd48de0f0e3c6d8b + triggerType: form_submission + siteId: 562ac0395358780a1f5e6fbd + workspaceId: 4f4e46fd476ea8c507000001 + createdOn: '2022-11-08T23:59:28.572Z' + lastTriggered: '2023-02-08T23:59:28.572Z' + filter: null + url: 'https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f' + properties: + id: + readOnly: true + type: string + format: objectid + example: 57ca0a9e418c504a6e1acbb6 + description: Unique identifier for the Webhook registration + triggerType: + type: string + example: form_submission + description: | + * `form_submission` - Sends the [form_submission](#form_submission) event + * `site_publish` - Sends a [site_publish](#site_publish) event + * `page_created` - Send the [page_created](#page_created) event + * `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event + * `page_deleted` - Sends the [page_deleted](#page_deleted) event + * `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event + * `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event + * `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event + * `user_account_added` - Sends the [user_account_added](#user_account_added) event + * `user_account_updated` - Sends the [user_account_updated](#user_account_updated) event + * `user_account_deleted` - Sends the [user_account_deleted](#user_account_deleted) event + * `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event + * `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event + * `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event + * `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event + enum: + - form_submission + - site_publish + - page_created + - page_metadata_updated + - page_deleted + - ecomm_new_order + - ecomm_order_changed + - ecomm_inventory_changed + - user_account_added + - user_account_updated + - user_account_deleted + - collection_item_created + - collection_item_changed + - collection_item_deleted + - collection_item_unpublished + url: + type: string + example: 'https://example.com/webhook' + description: URL to send the Webhook payload to + workspaceId: + readOnly: true + type: string + format: objectid + example: 580e63e98c9a982ac9b8b741 + description: Unique identifier for the Workspace the Webhook is registered in + siteId: + readOnly: true + type: string + format: objectid + example: 562ac0395358780a1f5e6fbd + description: Unique identifier for the Site the Webhook is registered in + filter: + description: 'Only supported for the `form_submission` trigger type. Filter for the form you want Webhooks to be sent for. ' + type: object + properties: + name: + type: string + description: The name of the form you'd like to recieve notifications for. + example: My Form + lastTriggered: + readOnly: true + type: string + format: date-time + example: '2016-09-06T21:12:22.148Z' + description: Date the Webhook instance was last triggered + createdOn: + readOnly: true + type: string + format: date-time + example: '2016-09-02T23:26:22.241Z' + description: Date the Webhook registration was created + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + post: + x-fern-sdk-group-name: webhooks + x-fern-sdk-method-name: create + operationId: create-webhook + summary: Create Webhook + description: "Create a new Webhook.\n\nLimit of 75 registrations per `triggerType`, per site.\n
Access to this endpoint requires a bearer token from a Data Client App.
\nRequired scope | `sites:write`\n" + tags: + - Webhooks + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + requestBody: + description: The Webhook registration object + required: true + content: + application/json: + schema: + example: + id: 582266e0cd48de0f0e3c6d8b + triggerType: form_submission + siteId: 562ac0395358780a1f5e6fbd + workspaceId: 4f4e46fd476ea8c507000001 + createdOn: '2022-11-08T23:59:28.572Z' + lastTriggered: '2023-02-08T23:59:28.572Z' + filter: null + url: 'https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f' + properties: + id: + readOnly: true + type: string + format: objectid + example: 57ca0a9e418c504a6e1acbb6 + description: Unique identifier for the Webhook registration + triggerType: + type: string + example: form_submission + description: | + * `form_submission` - Sends the [form_submission](#form_submission) event + * `site_publish` - Sends a [site_publish](#site_publish) event + * `page_created` - Send the [page_created](#page_created) event + * `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event + * `page_deleted` - Sends the [page_deleted](#page_deleted) event + * `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event + * `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event + * `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event + * `user_account_added` - Sends the [user_account_added](#user_account_added) event + * `user_account_updated` - Sends the [user_account_updated](#user_account_updated) event + * `user_account_deleted` - Sends the [user_account_deleted](#user_account_deleted) event + * `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event + * `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event + * `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event + * `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event + enum: + - form_submission + - site_publish + - page_created + - page_metadata_updated + - page_deleted + - ecomm_new_order + - ecomm_order_changed + - ecomm_inventory_changed + - user_account_added + - user_account_updated + - user_account_deleted + - collection_item_created + - collection_item_changed + - collection_item_deleted + - collection_item_unpublished + url: + type: string + example: 'https://example.com/webhook' + description: URL to send the Webhook payload to + workspaceId: + readOnly: true + type: string + format: objectid + example: 580e63e98c9a982ac9b8b741 + description: Unique identifier for the Workspace the Webhook is registered in + siteId: + readOnly: true + type: string + format: objectid + example: 562ac0395358780a1f5e6fbd + description: Unique identifier for the Site the Webhook is registered in + filter: + description: 'Only supported for the `form_submission` trigger type. Filter for the form you want Webhooks to be sent for. ' + type: object + properties: + name: + type: string + description: The name of the form you'd like to recieve notifications for. + example: My Form + lastTriggered: + readOnly: true + type: string + format: date-time + example: '2016-09-06T21:12:22.148Z' + description: Date the Webhook instance was last triggered + createdOn: + readOnly: true + type: string + format: date-time + example: '2016-09-02T23:26:22.241Z' + description: Date the Webhook registration was created + responses: + '201': + description: Request was successful + content: + application/json: + schema: + example: + id: 582266e0cd48de0f0e3c6d8b + triggerType: form_submission + siteId: 562ac0395358780a1f5e6fbd + workspaceId: 4f4e46fd476ea8c507000001 + createdOn: '2022-11-08T23:59:28.572Z' + lastTriggered: '2023-02-08T23:59:28.572Z' + filter: null + url: 'https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f' + properties: + id: + readOnly: true + type: string + format: objectid + example: 57ca0a9e418c504a6e1acbb6 + description: Unique identifier for the Webhook registration + triggerType: + type: string + example: form_submission + description: | + * `form_submission` - Sends the [form_submission](#form_submission) event + * `site_publish` - Sends a [site_publish](#site_publish) event + * `page_created` - Send the [page_created](#page_created) event + * `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event + * `page_deleted` - Sends the [page_deleted](#page_deleted) event + * `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event + * `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event + * `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event + * `user_account_added` - Sends the [user_account_added](#user_account_added) event + * `user_account_updated` - Sends the [user_account_updated](#user_account_updated) event + * `user_account_deleted` - Sends the [user_account_deleted](#user_account_deleted) event + * `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event + * `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event + * `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event + * `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event + enum: + - form_submission + - site_publish + - page_created + - page_metadata_updated + - page_deleted + - ecomm_new_order + - ecomm_order_changed + - ecomm_inventory_changed + - user_account_added + - user_account_updated + - user_account_deleted + - collection_item_created + - collection_item_changed + - collection_item_deleted + - collection_item_unpublished + url: + type: string + example: 'https://example.com/webhook' + description: URL to send the Webhook payload to + workspaceId: + readOnly: true + type: string + format: objectid + example: 580e63e98c9a982ac9b8b741 + description: Unique identifier for the Workspace the Webhook is registered in + siteId: + readOnly: true + type: string + format: objectid + example: 562ac0395358780a1f5e6fbd + description: Unique identifier for the Site the Webhook is registered in + filter: + description: 'Only supported for the `form_submission` trigger type. Filter for the form you want Webhooks to be sent for. ' + type: object + properties: + name: + type: string + description: The name of the form you'd like to recieve notifications for. + example: My Form + lastTriggered: + readOnly: true + type: string + format: date-time + example: '2016-09-06T21:12:22.148Z' + description: Date the Webhook instance was last triggered + createdOn: + readOnly: true + type: string + format: date-time + example: '2016-09-02T23:26:22.241Z' + description: Date the Webhook registration was created + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/webhooks/{webhook_id}': + get: + x-fern-sdk-group-name: webhooks + x-fern-sdk-method-name: get + operationId: get-webhook + summary: Get Webhook + description: | + Get a specific Webhook instance + + Required scope: `sites:read` + tags: + - Webhooks + parameters: + - name: webhook_id + in: path + description: Unique identifier for a Webhook + example: 580e64008c9a982ac9b8b754 + required: true + schema: + type: string + format: objectid + responses: + '200': + description: Request was successful + content: + application/json: + schema: + example: + id: 582266e0cd48de0f0e3c6d8b + triggerType: form_submission + siteId: 562ac0395358780a1f5e6fbd + workspaceId: 4f4e46fd476ea8c507000001 + createdOn: '2022-11-08T23:59:28.572Z' + lastTriggered: '2023-02-08T23:59:28.572Z' + filter: null + url: 'https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f' + properties: + id: + readOnly: true + type: string + format: objectid + example: 57ca0a9e418c504a6e1acbb6 + description: Unique identifier for the Webhook registration + triggerType: + type: string + example: form_submission + description: | + * `form_submission` - Sends the [form_submission](#form_submission) event + * `site_publish` - Sends a [site_publish](#site_publish) event + * `page_created` - Send the [page_created](#page_created) event + * `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event + * `page_deleted` - Sends the [page_deleted](#page_deleted) event + * `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event + * `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event + * `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event + * `user_account_added` - Sends the [user_account_added](#user_account_added) event + * `user_account_updated` - Sends the [user_account_updated](#user_account_updated) event + * `user_account_deleted` - Sends the [user_account_deleted](#user_account_deleted) event + * `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event + * `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event + * `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event + * `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event + enum: + - form_submission + - site_publish + - page_created + - page_metadata_updated + - page_deleted + - ecomm_new_order + - ecomm_order_changed + - ecomm_inventory_changed + - user_account_added + - user_account_updated + - user_account_deleted + - collection_item_created + - collection_item_changed + - collection_item_deleted + - collection_item_unpublished + url: + type: string + example: 'https://example.com/webhook' + description: URL to send the Webhook payload to + workspaceId: + readOnly: true + type: string + format: objectid + example: 580e63e98c9a982ac9b8b741 + description: Unique identifier for the Workspace the Webhook is registered in + siteId: + readOnly: true + type: string + format: objectid + example: 562ac0395358780a1f5e6fbd + description: Unique identifier for the Site the Webhook is registered in + filter: + description: 'Only supported for the `form_submission` trigger type. Filter for the form you want Webhooks to be sent for. ' + type: object + properties: + name: + type: string + description: The name of the form you'd like to recieve notifications for. + example: My Form + lastTriggered: + readOnly: true + type: string + format: date-time + example: '2016-09-06T21:12:22.148Z' + description: Date the Webhook instance was last triggered + createdOn: + readOnly: true + type: string + format: date-time + example: '2016-09-02T23:26:22.241Z' + description: Date the Webhook registration was created + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + delete: + x-fern-sdk-group-name: webhooks + x-fern-sdk-method-name: delete + operationId: remove-webhook + summary: Remove Webhook + description: | + Remove a Webhook + + Required scope: `sites:read` + tags: + - Webhooks + parameters: + - name: webhook_id + in: path + description: Unique identifier for a Webhook + example: 580e64008c9a982ac9b8b754 + required: true + schema: + type: string + format: objectid + responses: + '204': + description: Request was successful. No Content is returned. + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/sites/{site_id}/forms': + get: + x-fern-sdk-group-name: forms + x-fern-sdk-method-name: list + security: + - OAuth2: + - 'forms:read' + operationId: list-forms + summary: List Forms + description: | + List forms for a given site. + + Required scope | `forms:read` + tags: + - Forms + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + - in: query + allowEmptyValue: true + name: limit + example: 100 + description: 'Maximum number of records to be returned (max limit: 100)' + required: false + schema: + type: number + - in: query + example: 0 + allowEmptyValue: true + name: offset + description: Offset used for pagination if the results have more than limit records + required: false + schema: + type: number + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: A list of forms + example: + forms: + - displayName: Email Form + createdOn: '2016-10-24T19:41:29.156Z' + lastUpdated: '2016-10-24T19:43:17.271Z' + fields: + - 660d5bcc9c0772150459dfb1: + displayName: Name + type: Plain + placeholder: null + userVisible: true + - 589a331aa51e760df7ccb89d: + displayName: Email + type: Email + placeholder: Enter your email + userVisible: true + responseSettings: + redirectUrl: 'https://example.com' + redirectMethod: GET + redirectAction: null + sendEmailConfirmation: true + id: 589a331aa51e760df7ccb89e + siteId: 580e63e98c9a982ac9b8b741 + siteDomainId: 6419db964a9c436a4baf6248 + pageId: 6419db964a9c43f6a3af6348 + pageName: Home + workspaceId: 580e63fc8c9a982ac9b8b744 + - displayName: Name Form + createdOn: '2016-10-24T19:41:29.156Z' + lastUpdated: '2016-10-24T19:43:17.271Z' + fields: + - 589a331aa51e760df7ccb89d: + displayName: Name + type: Plain + placeholder: Enter your name + userVisible: true + responseSettings: + redirectUrl: 'https://example.com' + redirectMethod: GET + redirectAction: null + sendEmailConfirmation: false + id: 580ff8d7ba3e45ba9fe588e9 + siteId: 580e63e98c9a982ac9b8b741 + siteDomainId: 6419db964a9c436a4baf6248 + pageId: 6419db964a9c43f6a3af6348 + pageName: Home + formElementId: 4e038d2c-6a1e-4953-7be9-a59a2b453177 + workspaceId: 580e63fc8c9a982ac9b8b744 + pagination: + limit: 25 + offset: 0 + total: 2 + properties: + forms: + type: array + items: + example: + displayName: Email Form + createdOn: '2016-10-24T19:41:29.156Z' + lastUpdated: '2016-10-24T19:43:17.271Z' + fields: + 660d5bcc9c0772150459dfb1: + displayName: Name + type: Plain + placeholder: null + userVisible: true + 589a331aa51e760df7ccb89d: + displayName: Email + type: Email + placeholder: Enter your email + userVisible: true + responseSettings: + redirectUrl: 'https://example.com' + redirectMethod: GET + redirectAction: null + sendEmailConfirmation: true + id: 589a331aa51e760df7ccb89e + siteId: 580e63e98c9a982ac9b8b741 + siteDomainId: 6419db964a9c436a4baf6248 + pageId: 6419db964a9c43f6a3af6348 + pageName: Home + formElementId: 4e038d2c-6a1e-4953-7be9-a59a2b453177 + workspaceId: 580e63fc8c9a982ac9b8b744 + description: A Webflow form + properties: + displayName: + type: string + description: The Form name displayed on the site + example: Galactic Intake Form + createdOn: + type: string + format: date-time + description: Date that the Form was created on + example: '2018-10-04T15:21:02.042Z' + lastUpdated: + type: string + format: date-time + description: Date that the Form was last updated on + example: '2018-10-04T15:21:02.042Z' + fields: + description: A collection of form field objects + type: object + maxProperties: 1 + additionalProperties: + description: An object containing field info for a specific fieldID. + type: object + properties: + displayName: + type: string + description: The field name displayed on the site + example: Email + type: + type: string + description: The field type + enum: + - Plain + - Email + - Password + - Phone + - Number + example: Email + placeholder: + type: string + description: The placeholder text for the field + nullable: true + example: Enter your email + userVisible: + type: boolean + description: Whether the field is visible to the user + example: true + responseSettings: + description: Settings for form responses + type: object + properties: + redirectUrl: + type: string + description: The url or path to redirect the user to after form submission + example: /thank-you + redirectMethod: + type: string + description: The HTTP request method to use for the redirectUrl (eg. POST or GET) + nullable: true + example: GET + redirectAction: + type: string + description: The action to take after form submission + nullable: true + example: 'POST https://example.com' + sendEmailConfirmation: + type: boolean + description: Whether to send an email confirmation to the user + example: true + id: + type: string + format: objectid + description: The unique ID for the Form + example: 545bbecb7bdd6769632504a7 + siteId: + type: string + format: objectid + description: The unique ID of the Site the Form belongs to + example: 545bbecb7bdd6769632504a7 + siteDomainId: + type: string + format: objectid + description: The unique ID corresponding to the site's Domain name + example: 6419db964a9c436a4baf6247 + pageId: + type: string + format: objectid + description: The unique ID for the Page on which the Form is placed + example: 6419db964a9c43f6a3af6243 + pageName: + type: string + description: The user-visible name of the Page where the Form is placed + example: Home + formElementId: + type: string + nullable: true + description: The unique ID of the Form element + example: 4e038d2c-6a1e-4953-7be9-a59a2b453177 + workspaceId: + type: string + format: objectid + description: The unique ID of the Workspace the Site belongs to + example: 580e63fc8c9a982ac9b8b744 + pagination: + description: Pagination object + type: object + properties: + limit: + type: number + description: The limit used for pagination + example: 100 + offset: + type: number + description: The offset used for pagination + example: 0 + total: + type: number + description: The total number of records + example: 100 + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: Forbidden + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: forbidden + message: User is not authorized to perform this action + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '409': + description: 'To access this feature, the site needs to be republished.' + x-logErrorCode: 409 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: forms_require_republish + message: 'To access this feature, the site needs to be republished.' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/forms/{form_id}': + get: + x-fern-sdk-group-name: forms + x-fern-sdk-method-name: get + security: + - OAuth2: + - 'forms:read' + operationId: get-form-schema + summary: Get Form Schema + description: | + Get information about a given form. + + Required scope | `forms:read` + tags: + - Forms + parameters: + - name: form_id + in: path + description: Unique identifier for a Form + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: A form and its corresponding metadata + example: + displayName: Email Form + createdOn: '2016-10-24T19:41:29.156Z' + lastUpdated: '2016-10-24T19:43:17.271Z' + fields: + 660d5bcc9c0772150459dfb1: + displayName: Name + type: Plain + placeholder: null + userVisible: true + 589a331aa51e760df7ccb89d: + displayName: Email + type: Email + placeholder: Enter your email + userVisible: true + responseSettings: + redirectUrl: 'https://example.com' + redirectMethod: GET + redirectAction: null + sendEmailConfirmation: true + id: 589a331aa51e760df7ccb89e + siteId: 580e63e98c9a982ac9b8b741 + siteDomainId: 6419db964a9c436a4baf6248 + pageId: 6419db964a9c43f6a3af6348 + pageName: Home + formElementId: 4e038d2c-6a1e-4953-7be9-a59a2b453177 + workspaceId: 580e63fc8c9a982ac9b8b744 + properties: + displayName: + type: string + description: The Form name displayed on the site + example: Galactic Intake Form + createdOn: + type: string + format: date-time + description: Date that the Form was created on + example: '2018-10-04T15:21:02.042Z' + lastUpdated: + type: string + format: date-time + description: Date that the Form was last updated on + example: '2018-10-04T15:21:02.042Z' + fields: + description: A collection of form field objects + type: object + maxProperties: 1 + additionalProperties: + description: An object containing field info for a specific fieldID. + type: object + properties: + displayName: + type: string + description: The field name displayed on the site + example: Email + type: + type: string + description: The field type + enum: + - Plain + - Email + - Password + - Phone + - Number + example: Email + placeholder: + type: string + description: The placeholder text for the field + nullable: true + example: Enter your email + userVisible: + type: boolean + description: Whether the field is visible to the user + example: true + responseSettings: + description: Settings for form responses + type: object + properties: + redirectUrl: + type: string + description: The url or path to redirect the user to after form submission + example: /thank-you + redirectMethod: + type: string + description: The HTTP request method to use for the redirectUrl (eg. POST or GET) + nullable: true + example: GET + redirectAction: + type: string + description: The action to take after form submission + nullable: true + example: 'POST https://example.com' + sendEmailConfirmation: + type: boolean + description: Whether to send an email confirmation to the user + example: true + id: + type: string + format: objectid + description: The unique ID for the Form + example: 545bbecb7bdd6769632504a7 + siteId: + type: string + format: objectid + description: The unique ID of the Site the Form belongs to + example: 545bbecb7bdd6769632504a7 + siteDomainId: + type: string + format: objectid + description: The unique ID corresponding to the site's Domain name + example: 6419db964a9c436a4baf6247 + pageId: + type: string + format: objectid + description: The unique ID for the Page on which the Form is placed + example: 6419db964a9c43f6a3af6243 + pageName: + type: string + description: The user-visible name of the Page where the Form is placed + example: Home + formElementId: + type: string + nullable: true + description: The unique ID of the Form element + example: 4e038d2c-6a1e-4953-7be9-a59a2b453177 + workspaceId: + type: string + format: objectid + description: The unique ID of the Workspace the Site belongs to + example: 580e63fc8c9a982ac9b8b744 + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: Forbidden + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: forbidden + message: User is not authorized to perform this action + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/forms/{form_id}/submissions': + get: + x-fern-sdk-group-name: forms + x-fern-sdk-method-name: list-submissions + security: + - OAuth2: + - 'forms:read' + operationId: list-submissions + summary: List Form Submissions + description: | + List form submissions for a given form + + Required scope | `forms:read` + tags: + - Forms + parameters: + - name: form_id + in: path + description: Unique identifier for a Form + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + - in: query + example: 0 + allowEmptyValue: true + name: offset + description: Offset used for pagination if the results have more than limit records + required: false + schema: + type: number + - in: query + allowEmptyValue: true + name: limit + example: 100 + description: 'Maximum number of records to be returned (max limit: 100)' + required: false + schema: + type: number + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: A list of form submissions + example: + formSubmissions: + - id: 6321ca84df3949bfc6752327 + formId: 6321ca84df3949bfc6752327 + displayName: Sample Form + siteId: 62749158efef318abc8d5a0f + workspaceId: 62749158efef318abc8d5a0f + formResponse: + First Name: Arthur + Last Name: Dent + dateSubmitted: '2022-09-14T12:35:16.117Z' + - id: 660d64fabf6e0a0d4edab981 + formId: 6321ca84df3949bfc6752327 + displayName: Sample Form + siteId: 62749158efef318abc8d5a0f + workspaceId: 62749158efef318abc8d5a0f + formResponse: + First Name: Ford + Last Name: Prefect + dateSubmitted: '2022-09-14T12:35:16.117Z' + pagination: + limit: 25 + offset: 0 + total: 2 + properties: + formSubmissions: + type: array + items: + example: + id: 6321ca84df3949bfc6752327 + formId: 6321ca84df3949bfc6752327 + displayName: Sample Form + siteId: 62749158efef318abc8d5a0f + workspaceId: 62749158efef318abc8d5a0f + formResponse: + First Name: Arthur + Last Name: Dent + dateSubmitted: '2022-09-14T12:35:16.117Z' + properties: + id: + type: string + format: objectid + description: The unique ID of the Form submission + example: 545bbecb7bdd6769632504a7 + displayName: + type: string + description: The Form name displayed on the site + example: someone@email.com + siteId: + type: string + format: objectid + description: The unique ID of the Site the Form belongs to + example: 545bbecb7bdd6769632504a7 + workspaceId: + type: string + format: objectid + description: The unique ID of the Workspace the Site belongs to + example: 580e63fc8c9a982ac9b8b744 + dateSubmitted: + type: string + format: date-time + description: Date that the Form was submitted on + example: '2018-10-04T15:21:02.042Z' + formResponse: + type: object + description: The data submitted in the Form + example: + name: Arthur Dent + email: arthur.dent@mostlyharmless.com + pagination: + description: Pagination object + type: object + properties: + limit: + type: number + description: The limit used for pagination + example: 100 + offset: + type: number + description: The offset used for pagination + example: 0 + total: + type: number + description: The total number of records + example: 100 + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: Forbidden + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: forbidden + message: User is not authorized to perform this action + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/form_submissions/{form_submission_id}': + get: + x-fern-sdk-group-name: forms + x-fern-sdk-method-name: get-submission + security: + - OAuth2: + - 'forms:read' + operationId: get-form-submission + summary: Get Form Submission + description: | + Get information about a given form submissio. + + Required scope | `forms:read` + tags: + - Forms + parameters: + - name: form_submission_id + in: path + description: Unique identifier for a Form Submission + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: A form submission + example: + id: 6321ca84df3949bfc6752327 + formId: 6321ca84df3949bfc6752327 + displayName: Sample Form + siteId: 62749158efef318abc8d5a0f + workspaceId: 62749158efef318abc8d5a0f + formResponse: + First Name: Arthur + Last Name: Dent + dateSubmitted: '2022-09-14T12:35:16.117Z' + properties: + id: + type: string + format: objectid + description: The unique ID of the Form submission + example: 545bbecb7bdd6769632504a7 + displayName: + type: string + description: The Form name displayed on the site + example: someone@email.com + siteId: + type: string + format: objectid + description: The unique ID of the Site the Form belongs to + example: 545bbecb7bdd6769632504a7 + workspaceId: + type: string + format: objectid + description: The unique ID of the Workspace the Site belongs to + example: 580e63fc8c9a982ac9b8b744 + dateSubmitted: + type: string + format: date-time + description: Date that the Form was submitted on + example: '2018-10-04T15:21:02.042Z' + formResponse: + type: object + description: The data submitted in the Form + example: + name: Arthur Dent + email: arthur.dent@mostlyharmless.com + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: Forbidden + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: forbidden + message: User is not authorized to perform this action + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + patch: + x-fern-sdk-group-name: forms + x-fern-sdk-method-name: update-submission + security: + - OAuth2: + - 'forms:write' + operationId: modify-form-submission + summary: Modify Form Submission + description: | + Update hidden fields on a form submission + + Required scope | `forms:write` + tags: + - Forms + parameters: + - name: form_submission_id + in: path + description: Unique identifier for a Form Submission + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + requestBody: + required: true + content: + application/json: + schema: + properties: + formSubmissionData: + type: object + description: 'An existing **hidden field** defined on the form schema, and the corresponding value to set' + example: + hidden-field-name: new value + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: A form submission + example: + id: 6321ca84df3949bfc6752327 + formId: 6321ca84df3949bfc6752327 + displayName: Sample Form + siteId: 62749158efef318abc8d5a0f + workspaceId: 62749158efef318abc8d5a0f + formResponse: + First Name: Arthur + Last Name: Dent + dateSubmitted: '2022-09-14T12:35:16.117Z' + properties: + id: + type: string + format: objectid + description: The unique ID of the Form submission + example: 545bbecb7bdd6769632504a7 + displayName: + type: string + description: The Form name displayed on the site + example: someone@email.com + siteId: + type: string + format: objectid + description: The unique ID of the Site the Form belongs to + example: 545bbecb7bdd6769632504a7 + workspaceId: + type: string + format: objectid + description: The unique ID of the Workspace the Site belongs to + example: 580e63fc8c9a982ac9b8b744 + dateSubmitted: + type: string + format: date-time + description: Date that the Form was submitted on + example: '2018-10-04T15:21:02.042Z' + formResponse: + type: object + description: The data submitted in the Form + example: + name: Arthur Dent + email: arthur.dent@mostlyharmless.com + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: Forbidden + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: forbidden + message: User is not authorized to perform this action + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '409': + description: 'To access this feature, the site needs to be republished.' + x-logErrorCode: 409 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: forms_require_republish + message: 'To access this feature, the site needs to be republished.' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/sites/{site_id}/users': + get: + x-fern-sdk-group-name: users + x-fern-sdk-method-name: list + security: + - OAuth2: + - 'users:read' + operationId: list-users + summary: List Users + description: | + Get a list of users for a site + + Required scope | `users:read` + tags: + - User Accounts + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + - in: query + example: 0 + allowEmptyValue: true + name: offset + description: Offset used for pagination if the results have more than limit records + required: false + schema: + type: number + - in: query + allowEmptyValue: true + name: limit + example: 100 + description: 'Maximum number of records to be returned (max limit: 100)' + required: false + schema: + type: number + - name: sort + in: query + allowEmptyValue: true + description: | + Sort string to use when ordering users + + Example(`CreatedOn`, `Email`, `Status`, `LastLogin`, `UpdatedOn`). + + Can be prefixed with a `-` to reverse the sort (ex. `-CreatedOn`) + schema: + type: string + enum: + - CreatedOn + - '-CreatedOn' + - Email + - '-Email' + - Status + - '-Status' + - LastLogin + - '-LastLogin' + - UpdatedOn + - '-UpdatedOn' + x-fern-enum: + CreatedOn: + name: CreatedOnAscending + description: Sorts users in ascending order based on their created date + '-CreatedOn': + name: CreatedOnDescending + description: Sorts users in descending order based on their created date + Email: + name: EmailAscending + description: Sorts users in ascending order based on their email + '-Email': + name: EmailDescending + description: Sorts users in descending order based on their email + Status: + name: StatusAscending + description: Sorts users in ascending order based on their status + '-Status': + name: StatusDescending + description: Sorts users in descending order based on their status + LastLogin: + name: LastLoginAscending + description: Sorts users in ascending order based on their last login date + '-LastLogin': + name: LastLoginDescending + description: Sorts users in descending order based on their last login date + UpdatedOn: + name: UpdatedOnAscending + description: Sorts users in ascending order based on their update date + '-UpdatedOn': + name: UpdatedOnDescending + description: Sorts users in descending order based on their update date + example: CreatedOn + required: false + responses: + '200': + description: Request was successful + content: + application/json: + schema: + type: object + description: The list users results + properties: + count: + type: number + description: Number of users returned + limit: + type: number + default: 10 + description: The limit specified in the request + offset: + type: number + default: 0 + description: The offset specified for pagination + total: + type: number + description: Total number of users in the collection + users: + type: array + description: List of Users for a Site + items: + description: | + The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + example: + id: 6287ec36a841b25637c663df + isEmailVerified: true + lastUpdated: '2022-05-20T13:46:12.093Z' + invitedOn: '2022-05-20T13:46:12.093Z' + createdOn: '2022-05-20T13:46:12.093Z' + lastLogin: '2022-05-20T13:46:12.093Z' + status: verified + accessGroups: + - slug: webflowers + type: admin + data: + name: Arthur Dent + email: arthur.dent@mostlyharmless.com + accept-privacy: true + accept-communications: true + favoriteDrink: Tea + currentPlanet: Somewhere in the vicinity of Betelgeuse + properties: + id: + readOnly: true + type: string + format: objectid + example: 6287ec36a841b25637c663df + description: Unique identifier for the User + isEmailVerified: + readOnly: true + type: boolean + description: Shows whether the user has verified their email address + lastUpdated: + readOnly: true + type: string + format: date-time + description: The timestamp the user was updated + example: '2016-10-24T19:41:29.156Z' + invitedOn: + readOnly: true + type: string + format: date-time + description: The timestamp the user was invited + example: '2016-10-24T19:41:29.156Z' + createdOn: + readOnly: true + type: string + format: date-time + description: The timestamp the user was created + example: '2016-10-24T19:41:29.156Z' + lastLogin: + readOnly: true + type: string + format: date-time + description: The timestamp the user was logged in + example: '2016-10-24T19:41:29.156Z' + status: + readOnly: true + type: string + description: The status of the user + enum: + - invited + - verified + - unverified + accessGroups: + type: array + description: Access groups the user belongs to + example: + - slug: webflowers + type: admin + - slug: platinum + type: ecommerce + items: + type: object + description: Access group slugs and types + properties: + slug: + type: string + description: Access group identifier for APIs + type: + type: string + enum: + - admin + - ecommerce + description: | + The type of access group based on how it was assigned to the user. + * `admin` - Assigned to the user via API or in the designer + * `ecommerce` - Assigned to the user via an ecommerce purchase + data: + type: object + description: An object containing the User's basic info and custom fields + properties: + data: + type: object + properties: + name: + type: string + description: | + The name of the user + email: + type: string + description: | + The email address of the user + accept-privacy: + type: boolean + description: | + Boolean indicating if the user has accepted the privacy policy + accept-communications: + type: boolean + description: | + Boolean indicating if the user has accepted to receive communications + additionalProperties: + description: Custom user attributes + type: string + example: + users: + - id: 6287ec36a841b25637c663df + isEmailVerified: false + lastUpdated: '2022-05-20T13:46:12.093Z' + createdOn: '2022-05-20T13:46:12.093Z' + status: unverified + accessGroups: + - slug: vogon-construction-crew + type: admin + data: + accept-privacy: false + accept-communications: false + email: zaphod.beeblebrox@heart-of-gold.com + name: Zaphod Beeblebrox + - id: 6287ec36a841b25637c663f0 + isEmailVerified: false + lastUpdated: '2022-05-19T05:32:04.581Z' + createdOn: '2022-05-19T05:32:04.581Z' + status: unverified + accessGroups: + - slug: improbability-drive-test-subjects + type: admin + data: + accept-privacy: false + accept-communications: false + email: ford.prefect@hitchhikers-guide.com + name: Ford Prefect + - id: 6287ec36a841b25637c663d9 + isEmailVerified: true + lastUpdated: '2022-05-17T03:34:06.720Z' + createdOn: '2022-05-17T03:34:06.720Z' + status: verified + accessGroups: + - slug: heart-of-gold-crew + type: admin + data: + accept-privacy: false + accept-communications: false + email: arthur.dent@earthling.com + name: Arthur Dent + - id: 6287ec37a841b25637c6641b + isEmailVerified: false + lastUpdated: '2022-05-15T03:46:09.748Z' + createdOn: '2022-05-15T03:46:09.748Z' + status: unverified + accessGroups: + - slug: hitchhikers-guide-research-team + type: admin + data: + accept-privacy: false + accept-communications: false + email: marvin@paranoid-android.com + name: Marvin the Paranoid Android + - id: 6287ec37a841b25637c66449 + isEmailVerified: true + lastUpdated: '2022-05-15T02:55:38.786Z' + createdOn: '2022-05-15T02:55:38.786Z' + status: verified + accessGroups: + - slug: milliways-reservationists + type: admin + data: + accept-privacy: false + accept-communications: false + email: trillian@trillian-alternative.com + name: Trillian + count: 5 + limit: 5 + offset: 0 + total: 201 + example: + users: + - id: 6287ec36a841b25637c663df + isEmailVerified: false + lastUpdated: '2022-05-20T13:46:12.093Z' + createdOn: '2022-05-20T13:46:12.093Z' + status: unverified + accessGroups: + - slug: vogon-construction-crew + type: admin + data: + accept-privacy: false + accept-communications: false + email: zaphod.beeblebrox@heart-of-gold.com + name: Zaphod Beeblebrox + - id: 6287ec36a841b25637c663f0 + isEmailVerified: false + lastUpdated: '2022-05-19T05:32:04.581Z' + createdOn: '2022-05-19T05:32:04.581Z' + status: unverified + accessGroups: + - slug: improbability-drive-test-subjects + type: admin + data: + accept-privacy: false + accept-communications: false + email: ford.prefect@hitchhikers-guide.com + name: Ford Prefect + - id: 6287ec36a841b25637c663d9 + isEmailVerified: true + lastUpdated: '2022-05-17T03:34:06.720Z' + createdOn: '2022-05-17T03:34:06.720Z' + status: verified + accessGroups: + - slug: heart-of-gold-crew + type: admin + data: + accept-privacy: false + accept-communications: false + email: arthur.dent@earthling.com + name: Arthur Dent + - id: 6287ec37a841b25637c6641b + isEmailVerified: false + lastUpdated: '2022-05-15T03:46:09.748Z' + createdOn: '2022-05-15T03:46:09.748Z' + status: unverified + accessGroups: + - slug: hitchhikers-guide-research-team + type: admin + data: + accept-privacy: false + accept-communications: false + email: marvin@paranoid-android.com + name: Marvin the Paranoid Android + - id: 6287ec37a841b25637c66449 + isEmailVerified: true + lastUpdated: '2022-05-15T02:55:38.786Z' + createdOn: '2022-05-15T02:55:38.786Z' + status: verified + accessGroups: + - slug: milliways-reservationists + type: admin + data: + accept-privacy: false + accept-communications: false + email: trillian@trillian-alternative.com + name: Trillian + count: 5 + limit: 5 + offset: 0 + total: 201 + '400': + description: Validation failure + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: validation_error + message: 'Validation Error: Provided ID is invalid' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: Forbidden + content: + application/json: + schema: + oneOf: + - description: 'Provided access token is valid, but is missing the required scopes.' + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: missing_scopes + message: 'OAuthForbidden: You are missing the following scopes - components:write' + externalReference: null + details: [] + - description: Users feature is currently disabled for this site. + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: users_not_enabled + message: Users feature is not enabled + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/sites/{site_id}/users/{user_id}': + get: + x-fern-sdk-group-name: users + x-fern-sdk-method-name: get + security: + - OAuth2: + - 'users:read' + operationId: get-user + summary: Get User + description: | + Get a User by ID + + Required scope | `users:read` + tags: + - User Accounts + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + - name: user_id + in: path + description: Unique identifier for a User + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: | + The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + example: + id: 6287ec36a841b25637c663df + isEmailVerified: true + lastUpdated: '2022-05-20T13:46:12.093Z' + invitedOn: '2022-05-20T13:46:12.093Z' + createdOn: '2022-05-20T13:46:12.093Z' + lastLogin: '2022-05-20T13:46:12.093Z' + status: verified + accessGroups: + - slug: webflowers + type: admin + data: + name: Arthur Dent + email: arthur.dent@mostlyharmless.com + accept-privacy: true + accept-communications: true + favoriteDrink: Tea + currentPlanet: Somewhere in the vicinity of Betelgeuse + properties: + id: + readOnly: true + type: string + format: objectid + example: 6287ec36a841b25637c663df + description: Unique identifier for the User + isEmailVerified: + readOnly: true + type: boolean + description: Shows whether the user has verified their email address + lastUpdated: + readOnly: true + type: string + format: date-time + description: The timestamp the user was updated + example: '2016-10-24T19:41:29.156Z' + invitedOn: + readOnly: true + type: string + format: date-time + description: The timestamp the user was invited + example: '2016-10-24T19:41:29.156Z' + createdOn: + readOnly: true + type: string + format: date-time + description: The timestamp the user was created + example: '2016-10-24T19:41:29.156Z' + lastLogin: + readOnly: true + type: string + format: date-time + description: The timestamp the user was logged in + example: '2016-10-24T19:41:29.156Z' + status: + readOnly: true + type: string + description: The status of the user + enum: + - invited + - verified + - unverified + accessGroups: + type: array + description: Access groups the user belongs to + example: + - slug: webflowers + type: admin + - slug: platinum + type: ecommerce + items: + type: object + description: Access group slugs and types + properties: + slug: + type: string + description: Access group identifier for APIs + type: + type: string + enum: + - admin + - ecommerce + description: | + The type of access group based on how it was assigned to the user. + * `admin` - Assigned to the user via API or in the designer + * `ecommerce` - Assigned to the user via an ecommerce purchase + data: + type: object + description: An object containing the User's basic info and custom fields + properties: + data: + type: object + properties: + name: + type: string + description: | + The name of the user + email: + type: string + description: | + The email address of the user + accept-privacy: + type: boolean + description: | + Boolean indicating if the user has accepted the privacy policy + accept-communications: + type: boolean + description: | + Boolean indicating if the user has accepted to receive communications + additionalProperties: + description: Custom user attributes + type: string + '400': + description: Validation failure + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: validation_error + message: 'Validation Error: Provided ID is invalid' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: Forbidden + content: + application/json: + schema: + oneOf: + - description: 'Provided access token is valid, but is missing the required scopes.' + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: missing_scopes + message: 'OAuthForbidden: You are missing the following scopes - components:write' + externalReference: null + details: [] + - description: Users feature is currently disabled for this site. + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: users_not_enabled + message: Users feature is not enabled + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + patch: + x-fern-sdk-group-name: users + x-fern-sdk-method-name: update + security: + - OAuth2: + - 'users:write' + operationId: update-user + summary: Update User + description: | + Update a User by ID + + Required scope | `users:write` + + The email and password + fields cannot be updated using this endpoint + tags: + - User Accounts + - Access Groups + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + - name: user_id + in: path + description: Unique identifier for a User + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + requestBody: + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + name: + type: string + description: | + The name of the user + accept-privacy: + type: boolean + description: | + Boolean indicating if the user has accepted the privacy policy + accept-communications: + type: boolean + description: | + Boolean indicating if the user has accepted to receive communications + additionalProperties: + description: Custom user attributes + type: string + accessGroups: + type: array + description: | + An array of access group slugs. Access groups are assigned to the user as type `admin` and the user remains in the group until removed. + items: + type: string + example: + data: + name: Some One + accept-privacy: false + accept-communications: false + accessGroups: + - webflowers + - platinum + - free-tier + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: | + The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + example: + id: 6287ec36a841b25637c663df + isEmailVerified: true + lastUpdated: '2022-05-20T13:46:12.093Z' + invitedOn: '2022-05-20T13:46:12.093Z' + createdOn: '2022-05-20T13:46:12.093Z' + lastLogin: '2022-05-20T13:46:12.093Z' + status: verified + accessGroups: + - slug: webflowers + type: admin + data: + name: Arthur Dent + email: arthur.dent@mostlyharmless.com + accept-privacy: true + accept-communications: true + favoriteDrink: Tea + currentPlanet: Somewhere in the vicinity of Betelgeuse + properties: + id: + readOnly: true + type: string + format: objectid + example: 6287ec36a841b25637c663df + description: Unique identifier for the User + isEmailVerified: + readOnly: true + type: boolean + description: Shows whether the user has verified their email address + lastUpdated: + readOnly: true + type: string + format: date-time + description: The timestamp the user was updated + example: '2016-10-24T19:41:29.156Z' + invitedOn: + readOnly: true + type: string + format: date-time + description: The timestamp the user was invited + example: '2016-10-24T19:41:29.156Z' + createdOn: + readOnly: true + type: string + format: date-time + description: The timestamp the user was created + example: '2016-10-24T19:41:29.156Z' + lastLogin: + readOnly: true + type: string + format: date-time + description: The timestamp the user was logged in + example: '2016-10-24T19:41:29.156Z' + status: + readOnly: true + type: string + description: The status of the user + enum: + - invited + - verified + - unverified + accessGroups: + type: array + description: Access groups the user belongs to + example: + - slug: webflowers + type: admin + - slug: platinum + type: ecommerce + items: + type: object + description: Access group slugs and types + properties: + slug: + type: string + description: Access group identifier for APIs + type: + type: string + enum: + - admin + - ecommerce + description: | + The type of access group based on how it was assigned to the user. + * `admin` - Assigned to the user via API or in the designer + * `ecommerce` - Assigned to the user via an ecommerce purchase + data: + type: object + description: An object containing the User's basic info and custom fields + properties: + data: + type: object + properties: + name: + type: string + description: | + The name of the user + email: + type: string + description: | + The email address of the user + accept-privacy: + type: boolean + description: | + Boolean indicating if the user has accepted the privacy policy + accept-communications: + type: boolean + description: | + Boolean indicating if the user has accepted to receive communications + additionalProperties: + description: Custom user attributes + type: string + '400': + description: Validation failure + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: validation_error + message: 'Validation Error: Provided ID is invalid' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: Forbidden + content: + application/json: + schema: + oneOf: + - description: 'Provided access token is valid, but is missing the required scopes.' + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: missing_scopes + message: 'OAuthForbidden: You are missing the following scopes - components:write' + externalReference: null + details: [] + - description: Users feature is currently disabled for this site. + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: users_not_enabled + message: Users feature is not enabled + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + delete: + x-fern-sdk-group-name: users + x-fern-sdk-method-name: delete + security: + - OAuth2: + - 'users:write' + operationId: delete-user + summary: Delete User + description: | + Delete a User by ID + + Required scope | `users:write` + tags: + - User Accounts + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + - name: user_id + in: path + description: Unique identifier for a User + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + responses: + '204': + description: Request was successful. No Content is returned. + '400': + description: Validation failure + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: validation_error + message: 'Validation Error: Provided ID is invalid' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: Forbidden + content: + application/json: + schema: + oneOf: + - description: 'Provided access token is valid, but is missing the required scopes.' + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: missing_scopes + message: 'OAuthForbidden: You are missing the following scopes - components:write' + externalReference: null + details: [] + - description: Users feature is currently disabled for this site. + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: users_not_enabled + message: Users feature is not enabled + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/sites/{site_id}/users/invite': + post: + x-fern-sdk-group-name: users + x-fern-sdk-method-name: invite + security: + - OAuth2: + - 'users:write' + operationId: invite-user + summary: Create and Invite a User + description: | + Create and invite a user with an email address. + + The user will be sent and invite via email, which they will need to accept in order to join paid any paid access group. + + Required scope | `users:write` + tags: + - User Accounts + - Access Groups + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + requestBody: + content: + application/json: + schema: + type: object + required: + - email + example: + email: some.one@home.com + accessGroups: + - webflowers + properties: + email: + type: string + format: email + example: some.one@home.com + description: Email address of user to send invite to + accessGroups: + type: array + description: | + An array of access group slugs. Access groups are assigned to the user as type `admin` and the user remains in the group until removed. + items: + type: string + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: | + The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + example: + id: 6287ec36a841b25637c663df + isEmailVerified: true + lastUpdated: '2022-05-20T13:46:12.093Z' + invitedOn: '2022-05-20T13:46:12.093Z' + createdOn: '2022-05-20T13:46:12.093Z' + lastLogin: '2022-05-20T13:46:12.093Z' + status: verified + accessGroups: + - slug: webflowers + type: admin + data: + name: Arthur Dent + email: arthur.dent@mostlyharmless.com + accept-privacy: true + accept-communications: true + favoriteDrink: Tea + currentPlanet: Somewhere in the vicinity of Betelgeuse + properties: + id: + readOnly: true + type: string + format: objectid + example: 6287ec36a841b25637c663df + description: Unique identifier for the User + isEmailVerified: + readOnly: true + type: boolean + description: Shows whether the user has verified their email address + lastUpdated: + readOnly: true + type: string + format: date-time + description: The timestamp the user was updated + example: '2016-10-24T19:41:29.156Z' + invitedOn: + readOnly: true + type: string + format: date-time + description: The timestamp the user was invited + example: '2016-10-24T19:41:29.156Z' + createdOn: + readOnly: true + type: string + format: date-time + description: The timestamp the user was created + example: '2016-10-24T19:41:29.156Z' + lastLogin: + readOnly: true + type: string + format: date-time + description: The timestamp the user was logged in + example: '2016-10-24T19:41:29.156Z' + status: + readOnly: true + type: string + description: The status of the user + enum: + - invited + - verified + - unverified + accessGroups: + type: array + description: Access groups the user belongs to + example: + - slug: webflowers + type: admin + - slug: platinum + type: ecommerce + items: + type: object + description: Access group slugs and types + properties: + slug: + type: string + description: Access group identifier for APIs + type: + type: string + enum: + - admin + - ecommerce + description: | + The type of access group based on how it was assigned to the user. + * `admin` - Assigned to the user via API or in the designer + * `ecommerce` - Assigned to the user via an ecommerce purchase + data: + type: object + description: An object containing the User's basic info and custom fields + properties: + data: + type: object + properties: + name: + type: string + description: | + The name of the user + email: + type: string + description: | + The email address of the user + accept-privacy: + type: boolean + description: | + Boolean indicating if the user has accepted the privacy policy + accept-communications: + type: boolean + description: | + Boolean indicating if the user has accepted to receive communications + additionalProperties: + description: Custom user attributes + type: string + '400': + description: Validation failure + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: validation_error + message: 'Validation Error: Provided ID is invalid' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: Forbidden + content: + application/json: + schema: + oneOf: + - description: 'Provided access token is valid, but is missing the required scopes.' + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: missing_scopes + message: 'OAuthForbidden: You are missing the following scopes - components:write' + externalReference: null + details: [] + - description: Users feature is currently disabled for this site. + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: users_not_enabled + message: Users feature is not enabled + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '409': + description: Conflict + content: + application/json: + schema: + oneOf: + - description: The email address provided is already in use by another user. + x-logErrorCode: 409 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: duplicate_user_email + message: A user with this email already exists + externalReference: null + details: [] + - description: The site has reached the maximum number of users allowed. + x-logErrorCode: 409 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: user_limit_reached + message: You've reached the user limit for your site plan. + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/sites/{site_id}/accessgroups': + get: + x-fern-sdk-group-name: access-groups + x-fern-sdk-method-name: list + security: + - OAuth2: + - 'users:read' + operationId: list-access-groups + summary: List Access Groups + description: | + Get a list of access groups for a site + + Required scope | `users:read` + tags: + - Access Groups + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + - in: query + example: 0 + allowEmptyValue: true + name: offset + description: Offset used for pagination if the results have more than limit records + required: false + schema: + type: number + - in: query + allowEmptyValue: true + name: limit + example: 100 + description: 'Maximum number of records to be returned (max limit: 100)' + required: false + schema: + type: number + - name: sort + in: query + allowEmptyValue: true + description: | + Sort string to use when ordering access groups + Can be prefixed with a `-` to reverse the sort (ex. `-CreatedOn`) + schema: + type: string + enum: + - CreatedOn + - '-CreatedOn' + x-fern-enum: + CreatedOn: + name: CreatedOnAscending + description: Sorts users in ascending order based on their created date + '-CreatedOn': + name: CreatedOnDescending + description: Sorts users in descending order based on their created date + example: CreatedOn + required: false + responses: + '200': + description: Request was successful + content: + application/json: + schema: + type: object + description: The list access groups results + properties: + count: + type: number + description: Number of access groups returned + limit: + type: number + default: 10 + description: The limit specified in the request + offset: + type: number + default: 0 + description: The offset specified for pagination + total: + type: number + description: Total number of access groups in the collection + accessGroups: + type: array + description: List of Site Access Groups + items: + example: + id: 62be58d404be8a6cc900c081 + name: Webflowers + shortId: wf + slug: webflowers + createdOn: '2022-08-01T19:41:48.349Z' + properties: + id: + type: string + format: objectid + example: 62be58d404be8a6cc900c081 + description: Unique identifier for the Access Group + name: + type: string + example: Webflowers + description: Name of the the Access Group + shortId: + type: string + example: jo + description: 'Shortened unique identifier based on name, optimized for its use in the user’s JWT' + slug: + type: string + example: webflowers + description: 'Shortened unique identifier based on name, optimized for human readability and public API use' + createdOn: + type: string + format: date-time + description: The date the Access Group was created + example: '2022-08-01T19:41:48.349Z' + example: + accessGroups: + - id: 62be58d404be8a6cc900c081 + name: Research Team + shortId: rt + slug: hitchhikers-guide-research-team + createdOn: '2022-08-01T19:41:48.349Z' + - id: 65a96161991e77bbb4a6c573 + name: Admin + shortId: ad + slug: admin + createdOn: '2022-08-01T19:41:48.349Z' + count: 1 + limit: 10 + offset: 0 + total: 1 + '400': + description: Validation failure + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: validation_error + message: 'Validation Error: Provided ID is invalid' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: Forbidden + content: + application/json: + schema: + oneOf: + - description: 'Provided access token is valid, but is missing the required scopes.' + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: missing_scopes + message: 'OAuthForbidden: You are missing the following scopes - components:write' + externalReference: null + details: [] + - description: Users feature is currently disabled for this site. + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: users_not_enabled + message: Users feature is not enabled + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/sites/{site_id}/products': + get: + x-fern-sdk-group-name: products + x-fern-sdk-method-name: list + security: + - OAuth2: + - 'ecommerce:read' + operationId: list-products + summary: List Products & SKUs + description: | + Retrieve all products for a site. + + Use `limit` and `offset` to page through all products with subsequent requests. All SKUs for each product + will also be fetched and returned. The `limit`, `offset` and `total` values represent Products only and do not include any SKUs. + + Required scope | `ecommerce:read` + tags: + - Products & SKUs + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + - in: query + example: 0 + allowEmptyValue: true + name: offset + description: Offset used for pagination if the results have more than limit records + required: false + schema: + type: number + - in: query + allowEmptyValue: true + name: limit + example: 100 + description: 'Maximum number of records to be returned (max limit: 100)' + required: false + schema: + type: number + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: Results from product list + properties: + items: + type: array + description: List of Item objects within the Collection. Contains product and skus keys for each Item + items: + description: A product and its SKUs. + type: object + properties: + product: + description: The Product object + type: object + example: + id: 660eb7a486d1d6e0412292d7 + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2024-04-04T14:24:19.467Z' + lastUpdated: '2024-04-04T14:30:19.282Z' + createdOn: '2024-04-04T14:22:28.547Z' + isArchived: false + isDraft: false + fieldData: + tax-category: standard-taxable + shippable: true + ec-product-type: b6ccc1830db4b1babeb06a9ac5f6dd76 + sku-properties: + - id: 31b77fa66fa376c2c0abb458d5be39fb + name: Size + enum: + - id: 8d21a625d655ab260e9941c27180c75b + name: Small + slug: small + - id: ecdca17106ad86c0dfe3b5f3ac8be6c9 + name: Medium + slug: medium + - id: ec7877d6137ecf7ec86f726c135b1812 + name: Large + slug: large + - id: 74d3738e62c568d5634dd6989daec5ec + name: Color + enum: + - id: e539b0d6c3a609cd06ddb2da804f68f0 + name: Royal Blue + slug: royal-blue + - id: 68d98f2fbafc0fd45651cddc44798dd0 + name: Crimson Red + slug: crimson-red + - id: 996cd95c97fd5620d0a374c835b37205 + name: Forrest Green + slug: forrest-green + name: T-Shirt + description: A plain t-shirt + slug: t-shirt + default-sku: 66072fb71b89448912e2681c + properties: + id: + type: string + readOnly: true + description: Unique identifier for the Product + example: 580e63fc8c9a982ac9b8b745 + cmsLocaleId: + type: string + readOnly: true + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-time + readOnly: true + description: The date the Product was last published + example: 2023-03-17T18:47:35.560Z + lastUpdated: + type: string + format: date-time + readOnly: true + description: The date the Product was last updated + example: 2023-03-17T18:47:35.560Z + createdOn: + type: string + format: date-time + readOnly: true + description: The date the Product was created + example: 2023-03-17T18:47:35.560Z + isArchived: + type: boolean + default: false + description: Boolean determining if the Product is set to archived + example: false + isDraft: + type: boolean + default: false + description: Boolean determining if the Product is set to draft + example: false + fieldData: + description: 'Contains content-specific details for a product, covering both standard (e.g., title, description) and custom fields tailored to the product setup.' + type: object + properties: + name: + type: string + description: Name of the Product + example: T-Shirt + slug: + type: string + description: URL structure of the Product in your site. + example: t-shirt + description: + type: string + description: A description of your product + example: A plain cotton t-shirt. + shippable: + type: boolean + description: Boolean determining if the Product is shippable + example: true + sku-properties: + type: array + description: Variant types to include in SKUs + items: + type: object + description: A variant/option type for a SKU + required: + - id + - name + - enum + properties: + id: + type: string + description: Unique identifier for a collection of Product Variants + default: null + example: Color + name: + type: string + description: Name of the collection of Product Variants + example: Color + enum: + description: The individual Product variants that are contained within the collection + type: array + items: + description: Enumerated Product variants/Options for the SKU + type: object + required: + - id + - name + - slug + properties: + id: + type: string + description: Unique identifier for a Product variant/Option + default: null + example: + - royal-blue + - crimson-red + - forrest-green + name: + type: string + description: Name of the Product variant/Option + examples: + - Royal Blue + - Crimson Red + - Forrest Green + slug: + type: string + description: Slug for the Product variant/Option in the Site URL structure + examples: + - royal-blue + - crimson-red + - forrest-green + - null + categories: + type: array + description: The categories your product belongs to. + items: + type: string + tax-category: + type: string + description: Product tax class + enum: + - standard-taxable + - standard-exempt + - books-religious + - books-textbook + - clothing + - clothing-swimwear + - digital-goods + - digital-service + - drugs-non-prescription + - drugs-prescription + - food-bottled-water + - food-candy + - food-groceries + - food-prepared + - food-soda + - food-supplements + - magazine-individual + - magazine-subscription + - service-admission + - service-advertising + - service-dry-cleaning + - service-hairdressing + - service-installation + - service-miscellaneous + - service-parking + - service-printing + - service-professional + - service-repair + - service-training + default-sku: + type: string + format: objectid + description: The default SKU associated with this product. + ec-product-type: + description: 'Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced"' + type: string + enum: + - ff42fee0113744f693a764e3431a9cc2 + - f22027db68002190aef89a4a2b7ac8a1 + - c599e43b1a1c34d5a323aedf75d3adf6 + - b6ccc1830db4b1babeb06a9ac5f6dd76 + additionalProperties: + type: string + description: Custom fields for your product. + skus: + description: A list of SKU Objects + type: array + items: + description: The SKU object + type: object + properties: + id: + type: string + readOnly: true + format: objectid + description: Unique identifier for the Product + example: 580e63fc8c9a982ac9b8b745 + cmsLocaleId: + type: string + readOnly: true + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-time + readOnly: true + description: The date the Product was last published + example: 2023-03-17T18:47:35.560Z + lastUpdated: + type: string + format: date-time + readOnly: true + description: The date the Product was last updated + example: 2023-03-17T18:47:35.560Z + createdOn: + type: string + format: date-time + readOnly: true + description: The date the Product was created + example: 2023-03-17T18:47:35.560Z + fieldData: + description: Standard and Custom fields for a SKU + type: object + required: + - name + - slug + - price + properties: + sku-values: + type: object + description: | + A dictionary that maps a SKU property to a SKU value. The key of the dictionary is the SKU property ID, and the value is the SKU value ID. + additionalProperties: + type: string + example: + ff42fee0113744f693a764e3431a9cc2: 64a74715c456e36762fc39a1 + name: + type: string + description: Name of the Product + example: Blue T-shirt + slug: + type: string + description: URL structure of the Product in your site. + example: t-shirt-blue + price: + type: object + description: price of SKU + properties: + value: + description: Price of SKU + isRequired: true + type: number + example: 100 + unit: + type: string + isRequired: true + description: Currency of Item + example: USD + compare-at-price: + type: object + description: comparison price of SKU + properties: + value: + description: Price of SKU + type: number + example: 100 + unit: + type: string + description: Currency of Item + example: USD + ec-sku-billing-method: + type: string + enum: + - one-time + - subscription + ec-sku-subscription-plan: + type: object + properties: + interval: + type: string + description: Interval of subscription renewal + enum: + - day + - week + - month + - year + frequency: + type: number + description: Frequncy of billing within interval + example: 1 + trial: + type: number + description: Number of days of a trial + example: 7 + plans: + readOnly: true + type: array + items: + type: object + properties: + platform: + type: string + enum: + - stripe + description: The platform of the subscription plan + id: + type: string + description: The unique identifier of the plan + status: + type: string + enum: + - active + - inactive + - canceled + description: The status of the plan + track-inventory: + type: boolean + description: A boolean indicating whether inventory for this product should be tracked. + default: false + quantity: + type: number + description: Quantity of SKU that will be tracked as items are ordered. + example: 10 + additionalProperties: + type: string + description: Custom fields for your SKU. + pagination: + description: Pagination object + type: object + properties: + limit: + type: number + description: The limit used for pagination + example: 100 + offset: + type: number + description: The offset used for pagination + example: 0 + total: + type: number + description: The total number of records + example: 100 + '400': + description: Validation failure + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: validation_error + message: 'Validation Error: Provided ID is invalid' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: 'Provided access token is valid, but is missing the required scopes.' + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: missing_scopes + message: 'OAuthForbidden: You are missing the following scopes - components:write' + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '409': + description: The site does not have ecommerce enabled. + x-logErrorCode: 409 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: ecommerce_not_enabled + message: Ecommerce is not yet initialized + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + post: + x-fern-sdk-group-name: products + x-fern-sdk-method-name: create + security: + - OAuth2: + - 'ecommerce:write' + operationId: create-product + summary: Create Product & SKU + description: | + Create a new product and SKU. + + When you create a product, you will always create a SKU, since a Product Item must have, at minimum, a single SKU. + + To create a Product with multiple SKUs - for example a T-shirt in sizes small, medium and large: + - Create parameters in `sku-properties`, also known as [product options and variants.](https://help.webflow.com/hc/en-us/articles/33961334531347-Create-product-options-and-variants). + - A single `sku-property` would be `color`. Within the `color` property, list the various colors of T-shirts as an array of `enum` values: `royal-blue`, `crimson-red`, and `forrest-green`. + - Once, you've created a Product and its `sku-properties` with `enum` values, Webflow will create a **default SKU**, which will automatically be a combination of the first `sku-properties` you've created. + - In our example, the default SKU will be a Royal Blue T-Shirt, because our first `enum` of our Color `sku-property` is Royal Blue. + - After you've created your product, you can create additional SKUs using the [Create SKU endpoint.](/data/reference/ecommerce/products-sk-us/create-sku) + + Upon creation, the default product type will be `Advanced`, which ensures all Product and SKU fields will be shown to users in the Designer. + + Required scope | `ecommerce:write` + tags: + - Products & SKUs + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + requestBody: + description: The Product and SKU to create + required: true + content: + application/json: + schema: + description: The Product and SKU to create + type: object + example: + id: 660eb7a486d1d6e0412292d7 + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2024-04-04T14:24:19.467Z' + lastUpdated: '2024-04-04T14:30:19.282Z' + createdOn: '2024-04-04T14:22:28.547Z' + isArchived: false + isDraft: false + fieldData: + tax-category: standard-taxable + shippable: true + ec-product-type: b6ccc1830db4b1babeb06a9ac5f6dd76 + sku-properties: + - id: 31b77fa66fa376c2c0abb458d5be39fb + name: Size + enum: + - id: 8d21a625d655ab260e9941c27180c75b + name: Small + slug: small + - id: ecdca17106ad86c0dfe3b5f3ac8be6c9 + name: Medium + slug: medium + - id: ec7877d6137ecf7ec86f726c135b1812 + name: Large + slug: large + - id: 74d3738e62c568d5634dd6989daec5ec + name: Color + enum: + - id: e539b0d6c3a609cd06ddb2da804f68f0 + name: Royal Blue + slug: royal-blue + - id: 68d98f2fbafc0fd45651cddc44798dd0 + name: Crimson Red + slug: crimson-red + - id: 996cd95c97fd5620d0a374c835b37205 + name: Forrest Green + slug: forrest-green + name: T-Shirt + description: A plain t-shirt + slug: t-shirt + default-sku: 66072fb71b89448912e2681c + properties: + publishStatus: + description: Indicate whether your Product should be set as "staging" or "live" + type: string + enum: + - staging + - live + default: staging + example: staging + product: + allOf: + - properties: + fieldData: + allOf: + - description: 'Contains content-specific details for a product, covering both standard (e.g., title, description) and custom fields tailored to the product setup.' + type: object + properties: + name: + type: string + description: Name of the Product + example: T-Shirt + slug: + type: string + description: URL structure of the Product in your site. + example: t-shirt + description: + type: string + description: A description of your product + example: A plain cotton t-shirt. + shippable: + type: boolean + description: Boolean determining if the Product is shippable + example: true + sku-properties: + type: array + description: Variant types to include in SKUs + items: + type: object + description: A variant/option type for a SKU + required: + - id + - name + - enum + properties: + id: + type: string + description: Unique identifier for a collection of Product Variants + default: null + example: Color + name: + type: string + description: Name of the collection of Product Variants + example: Color + enum: + description: The individual Product variants that are contained within the collection + type: array + items: + description: Enumerated Product variants/Options for the SKU + type: object + required: + - id + - name + - slug + properties: + id: + type: string + description: Unique identifier for a Product variant/Option + default: null + example: + - royal-blue + - crimson-red + - forrest-green + name: + type: string + description: Name of the Product variant/Option + examples: + - Royal Blue + - Crimson Red + - Forrest Green + slug: + type: string + description: Slug for the Product variant/Option in the Site URL structure + examples: + - royal-blue + - crimson-red + - forrest-green + - null + categories: + type: array + description: The categories your product belongs to. + items: + type: string + tax-category: + type: string + description: Product tax class + enum: + - standard-taxable + - standard-exempt + - books-religious + - books-textbook + - clothing + - clothing-swimwear + - digital-goods + - digital-service + - drugs-non-prescription + - drugs-prescription + - food-bottled-water + - food-candy + - food-groceries + - food-prepared + - food-soda + - food-supplements + - magazine-individual + - magazine-subscription + - service-admission + - service-advertising + - service-dry-cleaning + - service-hairdressing + - service-installation + - service-miscellaneous + - service-parking + - service-printing + - service-professional + - service-repair + - service-training + default-sku: + type: string + format: objectid + description: The default SKU associated with this product. + ec-product-type: + description: 'Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced"' + type: string + enum: + - ff42fee0113744f693a764e3431a9cc2 + - f22027db68002190aef89a4a2b7ac8a1 + - c599e43b1a1c34d5a323aedf75d3adf6 + - b6ccc1830db4b1babeb06a9ac5f6dd76 + additionalProperties: + type: string + description: Custom fields for your product. + - required: + - name + - slug + description: The Product object + type: object + example: + id: 660eb7a486d1d6e0412292d7 + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2024-04-04T14:24:19.467Z' + lastUpdated: '2024-04-04T14:30:19.282Z' + createdOn: '2024-04-04T14:22:28.547Z' + isArchived: false + isDraft: false + fieldData: + tax-category: standard-taxable + shippable: true + ec-product-type: b6ccc1830db4b1babeb06a9ac5f6dd76 + sku-properties: + - id: 31b77fa66fa376c2c0abb458d5be39fb + name: Size + enum: + - id: 8d21a625d655ab260e9941c27180c75b + name: Small + slug: small + - id: ecdca17106ad86c0dfe3b5f3ac8be6c9 + name: Medium + slug: medium + - id: ec7877d6137ecf7ec86f726c135b1812 + name: Large + slug: large + - id: 74d3738e62c568d5634dd6989daec5ec + name: Color + enum: + - id: e539b0d6c3a609cd06ddb2da804f68f0 + name: Royal Blue + slug: royal-blue + - id: 68d98f2fbafc0fd45651cddc44798dd0 + name: Crimson Red + slug: crimson-red + - id: 996cd95c97fd5620d0a374c835b37205 + name: Forrest Green + slug: forrest-green + name: T-Shirt + description: A plain t-shirt + slug: t-shirt + default-sku: 66072fb71b89448912e2681c + sku: + description: The SKU object + type: object + properties: + id: + type: string + readOnly: true + format: objectid + description: Unique identifier for the Product + example: 580e63fc8c9a982ac9b8b745 + cmsLocaleId: + type: string + readOnly: true + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-time + readOnly: true + description: The date the Product was last published + example: 2023-03-17T18:47:35.560Z + lastUpdated: + type: string + format: date-time + readOnly: true + description: The date the Product was last updated + example: 2023-03-17T18:47:35.560Z + createdOn: + type: string + format: date-time + readOnly: true + description: The date the Product was created + example: 2023-03-17T18:47:35.560Z + fieldData: + description: Standard and Custom fields for a SKU + type: object + required: + - name + - slug + - price + properties: + sku-values: + type: object + description: | + A dictionary that maps a SKU property to a SKU value. The key of the dictionary is the SKU property ID, and the value is the SKU value ID. + additionalProperties: + type: string + example: + ff42fee0113744f693a764e3431a9cc2: 64a74715c456e36762fc39a1 + name: + type: string + description: Name of the Product + example: Blue T-shirt + slug: + type: string + description: URL structure of the Product in your site. + example: t-shirt-blue + price: + type: object + description: price of SKU + properties: + value: + description: Price of SKU + isRequired: true + type: number + example: 100 + unit: + type: string + isRequired: true + description: Currency of Item + example: USD + compare-at-price: + type: object + description: comparison price of SKU + properties: + value: + description: Price of SKU + type: number + example: 100 + unit: + type: string + description: Currency of Item + example: USD + ec-sku-billing-method: + type: string + enum: + - one-time + - subscription + ec-sku-subscription-plan: + type: object + properties: + interval: + type: string + description: Interval of subscription renewal + enum: + - day + - week + - month + - year + frequency: + type: number + description: Frequncy of billing within interval + example: 1 + trial: + type: number + description: Number of days of a trial + example: 7 + plans: + readOnly: true + type: array + items: + type: object + properties: + platform: + type: string + enum: + - stripe + description: The platform of the subscription plan + id: + type: string + description: The unique identifier of the plan + status: + type: string + enum: + - active + - inactive + - canceled + description: The status of the plan + track-inventory: + type: boolean + description: A boolean indicating whether inventory for this product should be tracked. + default: false + quantity: + type: number + description: Quantity of SKU that will be tracked as items are ordered. + example: 10 + additionalProperties: + type: string + description: Custom fields for your SKU. + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: A product and its SKUs. + type: object + properties: + product: + description: The Product object + type: object + example: + id: 660eb7a486d1d6e0412292d7 + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2024-04-04T14:24:19.467Z' + lastUpdated: '2024-04-04T14:30:19.282Z' + createdOn: '2024-04-04T14:22:28.547Z' + isArchived: false + isDraft: false + fieldData: + tax-category: standard-taxable + shippable: true + ec-product-type: b6ccc1830db4b1babeb06a9ac5f6dd76 + sku-properties: + - id: 31b77fa66fa376c2c0abb458d5be39fb + name: Size + enum: + - id: 8d21a625d655ab260e9941c27180c75b + name: Small + slug: small + - id: ecdca17106ad86c0dfe3b5f3ac8be6c9 + name: Medium + slug: medium + - id: ec7877d6137ecf7ec86f726c135b1812 + name: Large + slug: large + - id: 74d3738e62c568d5634dd6989daec5ec + name: Color + enum: + - id: e539b0d6c3a609cd06ddb2da804f68f0 + name: Royal Blue + slug: royal-blue + - id: 68d98f2fbafc0fd45651cddc44798dd0 + name: Crimson Red + slug: crimson-red + - id: 996cd95c97fd5620d0a374c835b37205 + name: Forrest Green + slug: forrest-green + name: T-Shirt + description: A plain t-shirt + slug: t-shirt + default-sku: 66072fb71b89448912e2681c + properties: + id: + type: string + readOnly: true + description: Unique identifier for the Product + example: 580e63fc8c9a982ac9b8b745 + cmsLocaleId: + type: string + readOnly: true + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-time + readOnly: true + description: The date the Product was last published + example: 2023-03-17T18:47:35.560Z + lastUpdated: + type: string + format: date-time + readOnly: true + description: The date the Product was last updated + example: 2023-03-17T18:47:35.560Z + createdOn: + type: string + format: date-time + readOnly: true + description: The date the Product was created + example: 2023-03-17T18:47:35.560Z + isArchived: + type: boolean + default: false + description: Boolean determining if the Product is set to archived + example: false + isDraft: + type: boolean + default: false + description: Boolean determining if the Product is set to draft + example: false + fieldData: + description: 'Contains content-specific details for a product, covering both standard (e.g., title, description) and custom fields tailored to the product setup.' + type: object + properties: + name: + type: string + description: Name of the Product + example: T-Shirt + slug: + type: string + description: URL structure of the Product in your site. + example: t-shirt + description: + type: string + description: A description of your product + example: A plain cotton t-shirt. + shippable: + type: boolean + description: Boolean determining if the Product is shippable + example: true + sku-properties: + type: array + description: Variant types to include in SKUs + items: + type: object + description: A variant/option type for a SKU + required: + - id + - name + - enum + properties: + id: + type: string + description: Unique identifier for a collection of Product Variants + default: null + example: Color + name: + type: string + description: Name of the collection of Product Variants + example: Color + enum: + description: The individual Product variants that are contained within the collection + type: array + items: + description: Enumerated Product variants/Options for the SKU + type: object + required: + - id + - name + - slug + properties: + id: + type: string + description: Unique identifier for a Product variant/Option + default: null + example: + - royal-blue + - crimson-red + - forrest-green + name: + type: string + description: Name of the Product variant/Option + examples: + - Royal Blue + - Crimson Red + - Forrest Green + slug: + type: string + description: Slug for the Product variant/Option in the Site URL structure + examples: + - royal-blue + - crimson-red + - forrest-green + - null + categories: + type: array + description: The categories your product belongs to. + items: + type: string + tax-category: + type: string + description: Product tax class + enum: + - standard-taxable + - standard-exempt + - books-religious + - books-textbook + - clothing + - clothing-swimwear + - digital-goods + - digital-service + - drugs-non-prescription + - drugs-prescription + - food-bottled-water + - food-candy + - food-groceries + - food-prepared + - food-soda + - food-supplements + - magazine-individual + - magazine-subscription + - service-admission + - service-advertising + - service-dry-cleaning + - service-hairdressing + - service-installation + - service-miscellaneous + - service-parking + - service-printing + - service-professional + - service-repair + - service-training + default-sku: + type: string + format: objectid + description: The default SKU associated with this product. + ec-product-type: + description: 'Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced"' + type: string + enum: + - ff42fee0113744f693a764e3431a9cc2 + - f22027db68002190aef89a4a2b7ac8a1 + - c599e43b1a1c34d5a323aedf75d3adf6 + - b6ccc1830db4b1babeb06a9ac5f6dd76 + additionalProperties: + type: string + description: Custom fields for your product. + skus: + description: A list of SKU Objects + type: array + items: + description: The SKU object + type: object + properties: + id: + type: string + readOnly: true + format: objectid + description: Unique identifier for the Product + example: 580e63fc8c9a982ac9b8b745 + cmsLocaleId: + type: string + readOnly: true + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-time + readOnly: true + description: The date the Product was last published + example: 2023-03-17T18:47:35.560Z + lastUpdated: + type: string + format: date-time + readOnly: true + description: The date the Product was last updated + example: 2023-03-17T18:47:35.560Z + createdOn: + type: string + format: date-time + readOnly: true + description: The date the Product was created + example: 2023-03-17T18:47:35.560Z + fieldData: + description: Standard and Custom fields for a SKU + type: object + required: + - name + - slug + - price + properties: + sku-values: + type: object + description: | + A dictionary that maps a SKU property to a SKU value. The key of the dictionary is the SKU property ID, and the value is the SKU value ID. + additionalProperties: + type: string + example: + ff42fee0113744f693a764e3431a9cc2: 64a74715c456e36762fc39a1 + name: + type: string + description: Name of the Product + example: Blue T-shirt + slug: + type: string + description: URL structure of the Product in your site. + example: t-shirt-blue + price: + type: object + description: price of SKU + properties: + value: + description: Price of SKU + isRequired: true + type: number + example: 100 + unit: + type: string + isRequired: true + description: Currency of Item + example: USD + compare-at-price: + type: object + description: comparison price of SKU + properties: + value: + description: Price of SKU + type: number + example: 100 + unit: + type: string + description: Currency of Item + example: USD + ec-sku-billing-method: + type: string + enum: + - one-time + - subscription + ec-sku-subscription-plan: + type: object + properties: + interval: + type: string + description: Interval of subscription renewal + enum: + - day + - week + - month + - year + frequency: + type: number + description: Frequncy of billing within interval + example: 1 + trial: + type: number + description: Number of days of a trial + example: 7 + plans: + readOnly: true + type: array + items: + type: object + properties: + platform: + type: string + enum: + - stripe + description: The platform of the subscription plan + id: + type: string + description: The unique identifier of the plan + status: + type: string + enum: + - active + - inactive + - canceled + description: The status of the plan + track-inventory: + type: boolean + description: A boolean indicating whether inventory for this product should be tracked. + default: false + quantity: + type: number + description: Quantity of SKU that will be tracked as items are ordered. + example: 10 + additionalProperties: + type: string + description: Custom fields for your SKU. + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: 'Provided access token is valid, but is missing the required scopes.' + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: missing_scopes + message: 'OAuthForbidden: You are missing the following scopes - components:write' + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '409': + description: The site does not have ecommerce enabled. + x-logErrorCode: 409 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: ecommerce_not_enabled + message: Ecommerce is not yet initialized + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/sites/{site_id}/products/{product_id}': + get: + x-fern-sdk-group-name: products + x-fern-sdk-method-name: get + security: + - OAuth2: + - 'ecommerce:read' + operationId: get-product + summary: Get Product and SKUs + description: | + Retrieve a single product by its ID. All of its SKUs will also be + retrieved. + + Required scope | `ecommerce:read` + tags: + - Products & SKUs + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + - name: product_id + in: path + description: Unique identifier for a Product + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: A product and its SKUs. + type: object + properties: + product: + description: The Product object + type: object + example: + id: 660eb7a486d1d6e0412292d7 + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2024-04-04T14:24:19.467Z' + lastUpdated: '2024-04-04T14:30:19.282Z' + createdOn: '2024-04-04T14:22:28.547Z' + isArchived: false + isDraft: false + fieldData: + tax-category: standard-taxable + shippable: true + ec-product-type: b6ccc1830db4b1babeb06a9ac5f6dd76 + sku-properties: + - id: 31b77fa66fa376c2c0abb458d5be39fb + name: Size + enum: + - id: 8d21a625d655ab260e9941c27180c75b + name: Small + slug: small + - id: ecdca17106ad86c0dfe3b5f3ac8be6c9 + name: Medium + slug: medium + - id: ec7877d6137ecf7ec86f726c135b1812 + name: Large + slug: large + - id: 74d3738e62c568d5634dd6989daec5ec + name: Color + enum: + - id: e539b0d6c3a609cd06ddb2da804f68f0 + name: Royal Blue + slug: royal-blue + - id: 68d98f2fbafc0fd45651cddc44798dd0 + name: Crimson Red + slug: crimson-red + - id: 996cd95c97fd5620d0a374c835b37205 + name: Forrest Green + slug: forrest-green + name: T-Shirt + description: A plain t-shirt + slug: t-shirt + default-sku: 66072fb71b89448912e2681c + properties: + id: + type: string + readOnly: true + description: Unique identifier for the Product + example: 580e63fc8c9a982ac9b8b745 + cmsLocaleId: + type: string + readOnly: true + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-time + readOnly: true + description: The date the Product was last published + example: 2023-03-17T18:47:35.560Z + lastUpdated: + type: string + format: date-time + readOnly: true + description: The date the Product was last updated + example: 2023-03-17T18:47:35.560Z + createdOn: + type: string + format: date-time + readOnly: true + description: The date the Product was created + example: 2023-03-17T18:47:35.560Z + isArchived: + type: boolean + default: false + description: Boolean determining if the Product is set to archived + example: false + isDraft: + type: boolean + default: false + description: Boolean determining if the Product is set to draft + example: false + fieldData: + description: 'Contains content-specific details for a product, covering both standard (e.g., title, description) and custom fields tailored to the product setup.' + type: object + properties: + name: + type: string + description: Name of the Product + example: T-Shirt + slug: + type: string + description: URL structure of the Product in your site. + example: t-shirt + description: + type: string + description: A description of your product + example: A plain cotton t-shirt. + shippable: + type: boolean + description: Boolean determining if the Product is shippable + example: true + sku-properties: + type: array + description: Variant types to include in SKUs + items: + type: object + description: A variant/option type for a SKU + required: + - id + - name + - enum + properties: + id: + type: string + description: Unique identifier for a collection of Product Variants + default: null + example: Color + name: + type: string + description: Name of the collection of Product Variants + example: Color + enum: + description: The individual Product variants that are contained within the collection + type: array + items: + description: Enumerated Product variants/Options for the SKU + type: object + required: + - id + - name + - slug + properties: + id: + type: string + description: Unique identifier for a Product variant/Option + default: null + example: + - royal-blue + - crimson-red + - forrest-green + name: + type: string + description: Name of the Product variant/Option + examples: + - Royal Blue + - Crimson Red + - Forrest Green + slug: + type: string + description: Slug for the Product variant/Option in the Site URL structure + examples: + - royal-blue + - crimson-red + - forrest-green + - null + categories: + type: array + description: The categories your product belongs to. + items: + type: string + tax-category: + type: string + description: Product tax class + enum: + - standard-taxable + - standard-exempt + - books-religious + - books-textbook + - clothing + - clothing-swimwear + - digital-goods + - digital-service + - drugs-non-prescription + - drugs-prescription + - food-bottled-water + - food-candy + - food-groceries + - food-prepared + - food-soda + - food-supplements + - magazine-individual + - magazine-subscription + - service-admission + - service-advertising + - service-dry-cleaning + - service-hairdressing + - service-installation + - service-miscellaneous + - service-parking + - service-printing + - service-professional + - service-repair + - service-training + default-sku: + type: string + format: objectid + description: The default SKU associated with this product. + ec-product-type: + description: 'Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced"' + type: string + enum: + - ff42fee0113744f693a764e3431a9cc2 + - f22027db68002190aef89a4a2b7ac8a1 + - c599e43b1a1c34d5a323aedf75d3adf6 + - b6ccc1830db4b1babeb06a9ac5f6dd76 + additionalProperties: + type: string + description: Custom fields for your product. + skus: + description: A list of SKU Objects + type: array + items: + description: The SKU object + type: object + properties: + id: + type: string + readOnly: true + format: objectid + description: Unique identifier for the Product + example: 580e63fc8c9a982ac9b8b745 + cmsLocaleId: + type: string + readOnly: true + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-time + readOnly: true + description: The date the Product was last published + example: 2023-03-17T18:47:35.560Z + lastUpdated: + type: string + format: date-time + readOnly: true + description: The date the Product was last updated + example: 2023-03-17T18:47:35.560Z + createdOn: + type: string + format: date-time + readOnly: true + description: The date the Product was created + example: 2023-03-17T18:47:35.560Z + fieldData: + description: Standard and Custom fields for a SKU + type: object + required: + - name + - slug + - price + properties: + sku-values: + type: object + description: | + A dictionary that maps a SKU property to a SKU value. The key of the dictionary is the SKU property ID, and the value is the SKU value ID. + additionalProperties: + type: string + example: + ff42fee0113744f693a764e3431a9cc2: 64a74715c456e36762fc39a1 + name: + type: string + description: Name of the Product + example: Blue T-shirt + slug: + type: string + description: URL structure of the Product in your site. + example: t-shirt-blue + price: + type: object + description: price of SKU + properties: + value: + description: Price of SKU + isRequired: true + type: number + example: 100 + unit: + type: string + isRequired: true + description: Currency of Item + example: USD + compare-at-price: + type: object + description: comparison price of SKU + properties: + value: + description: Price of SKU + type: number + example: 100 + unit: + type: string + description: Currency of Item + example: USD + ec-sku-billing-method: + type: string + enum: + - one-time + - subscription + ec-sku-subscription-plan: + type: object + properties: + interval: + type: string + description: Interval of subscription renewal + enum: + - day + - week + - month + - year + frequency: + type: number + description: Frequncy of billing within interval + example: 1 + trial: + type: number + description: Number of days of a trial + example: 7 + plans: + readOnly: true + type: array + items: + type: object + properties: + platform: + type: string + enum: + - stripe + description: The platform of the subscription plan + id: + type: string + description: The unique identifier of the plan + status: + type: string + enum: + - active + - inactive + - canceled + description: The status of the plan + track-inventory: + type: boolean + description: A boolean indicating whether inventory for this product should be tracked. + default: false + quantity: + type: number + description: Quantity of SKU that will be tracked as items are ordered. + example: 10 + additionalProperties: + type: string + description: Custom fields for your SKU. + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: 'Provided access token is valid, but is missing the required scopes.' + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: missing_scopes + message: 'OAuthForbidden: You are missing the following scopes - components:write' + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '409': + description: The site does not have ecommerce enabled. + x-logErrorCode: 409 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: ecommerce_not_enabled + message: Ecommerce is not yet initialized + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + patch: + x-fern-sdk-group-name: products + x-fern-sdk-method-name: update + security: + - OAuth2: + - 'ecommerce:write' + operationId: update-product + summary: Update Product + description: | + Update an existing Product. + + Updating an existing Product will set the product type to `Advanced`, which ensures all Product and SKU fields will be shown to users in the Designer. + + Required scope | `ecommerce:write` + tags: + - Products & SKUs + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + - name: product_id + in: path + description: Unique identifier for a Product + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + requestBody: + description: The product to update + required: true + content: + application/json: + schema: + description: The Product and SKU to create + type: object + example: + id: 660eb7a486d1d6e0412292d7 + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2024-04-04T14:24:19.467Z' + lastUpdated: '2024-04-04T14:30:19.282Z' + createdOn: '2024-04-04T14:22:28.547Z' + isArchived: false + isDraft: false + fieldData: + tax-category: standard-taxable + shippable: true + ec-product-type: b6ccc1830db4b1babeb06a9ac5f6dd76 + sku-properties: + - id: 31b77fa66fa376c2c0abb458d5be39fb + name: Size + enum: + - id: 8d21a625d655ab260e9941c27180c75b + name: Small + slug: small + - id: ecdca17106ad86c0dfe3b5f3ac8be6c9 + name: Medium + slug: medium + - id: ec7877d6137ecf7ec86f726c135b1812 + name: Large + slug: large + - id: 74d3738e62c568d5634dd6989daec5ec + name: Color + enum: + - id: e539b0d6c3a609cd06ddb2da804f68f0 + name: Royal Blue + slug: royal-blue + - id: 68d98f2fbafc0fd45651cddc44798dd0 + name: Crimson Red + slug: crimson-red + - id: 996cd95c97fd5620d0a374c835b37205 + name: Forrest Green + slug: forrest-green + name: T-Shirt + description: A plain t-shirt + slug: t-shirt + default-sku: 66072fb71b89448912e2681c + properties: + publishStatus: + description: Indicate whether your Product should be set as "staging" or "live" + type: string + enum: + - staging + - live + default: staging + example: staging + product: + description: The Product object + type: object + example: + id: 660eb7a486d1d6e0412292d7 + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2024-04-04T14:24:19.467Z' + lastUpdated: '2024-04-04T14:30:19.282Z' + createdOn: '2024-04-04T14:22:28.547Z' + isArchived: false + isDraft: false + fieldData: + tax-category: standard-taxable + shippable: true + ec-product-type: b6ccc1830db4b1babeb06a9ac5f6dd76 + sku-properties: + - id: 31b77fa66fa376c2c0abb458d5be39fb + name: Size + enum: + - id: 8d21a625d655ab260e9941c27180c75b + name: Small + slug: small + - id: ecdca17106ad86c0dfe3b5f3ac8be6c9 + name: Medium + slug: medium + - id: ec7877d6137ecf7ec86f726c135b1812 + name: Large + slug: large + - id: 74d3738e62c568d5634dd6989daec5ec + name: Color + enum: + - id: e539b0d6c3a609cd06ddb2da804f68f0 + name: Royal Blue + slug: royal-blue + - id: 68d98f2fbafc0fd45651cddc44798dd0 + name: Crimson Red + slug: crimson-red + - id: 996cd95c97fd5620d0a374c835b37205 + name: Forrest Green + slug: forrest-green + name: T-Shirt + description: A plain t-shirt + slug: t-shirt + default-sku: 66072fb71b89448912e2681c + properties: + id: + type: string + readOnly: true + description: Unique identifier for the Product + example: 580e63fc8c9a982ac9b8b745 + cmsLocaleId: + type: string + readOnly: true + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-time + readOnly: true + description: The date the Product was last published + example: 2023-03-17T18:47:35.560Z + lastUpdated: + type: string + format: date-time + readOnly: true + description: The date the Product was last updated + example: 2023-03-17T18:47:35.560Z + createdOn: + type: string + format: date-time + readOnly: true + description: The date the Product was created + example: 2023-03-17T18:47:35.560Z + isArchived: + type: boolean + default: false + description: Boolean determining if the Product is set to archived + example: false + isDraft: + type: boolean + default: false + description: Boolean determining if the Product is set to draft + example: false + fieldData: + description: 'Contains content-specific details for a product, covering both standard (e.g., title, description) and custom fields tailored to the product setup.' + type: object + properties: + name: + type: string + description: Name of the Product + example: T-Shirt + slug: + type: string + description: URL structure of the Product in your site. + example: t-shirt + description: + type: string + description: A description of your product + example: A plain cotton t-shirt. + shippable: + type: boolean + description: Boolean determining if the Product is shippable + example: true + sku-properties: + type: array + description: Variant types to include in SKUs + items: + type: object + description: A variant/option type for a SKU + required: + - id + - name + - enum + properties: + id: + type: string + description: Unique identifier for a collection of Product Variants + default: null + example: Color + name: + type: string + description: Name of the collection of Product Variants + example: Color + enum: + description: The individual Product variants that are contained within the collection + type: array + items: + description: Enumerated Product variants/Options for the SKU + type: object + required: + - id + - name + - slug + properties: + id: + type: string + description: Unique identifier for a Product variant/Option + default: null + example: + - royal-blue + - crimson-red + - forrest-green + name: + type: string + description: Name of the Product variant/Option + examples: + - Royal Blue + - Crimson Red + - Forrest Green + slug: + type: string + description: Slug for the Product variant/Option in the Site URL structure + examples: + - royal-blue + - crimson-red + - forrest-green + - null + categories: + type: array + description: The categories your product belongs to. + items: + type: string + tax-category: + type: string + description: Product tax class + enum: + - standard-taxable + - standard-exempt + - books-religious + - books-textbook + - clothing + - clothing-swimwear + - digital-goods + - digital-service + - drugs-non-prescription + - drugs-prescription + - food-bottled-water + - food-candy + - food-groceries + - food-prepared + - food-soda + - food-supplements + - magazine-individual + - magazine-subscription + - service-admission + - service-advertising + - service-dry-cleaning + - service-hairdressing + - service-installation + - service-miscellaneous + - service-parking + - service-printing + - service-professional + - service-repair + - service-training + default-sku: + type: string + format: objectid + description: The default SKU associated with this product. + ec-product-type: + description: 'Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced"' + type: string + enum: + - ff42fee0113744f693a764e3431a9cc2 + - f22027db68002190aef89a4a2b7ac8a1 + - c599e43b1a1c34d5a323aedf75d3adf6 + - b6ccc1830db4b1babeb06a9ac5f6dd76 + additionalProperties: + type: string + description: Custom fields for your product. + sku: + description: The SKU object + type: object + properties: + id: + type: string + readOnly: true + format: objectid + description: Unique identifier for the Product + example: 580e63fc8c9a982ac9b8b745 + cmsLocaleId: + type: string + readOnly: true + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-time + readOnly: true + description: The date the Product was last published + example: 2023-03-17T18:47:35.560Z + lastUpdated: + type: string + format: date-time + readOnly: true + description: The date the Product was last updated + example: 2023-03-17T18:47:35.560Z + createdOn: + type: string + format: date-time + readOnly: true + description: The date the Product was created + example: 2023-03-17T18:47:35.560Z + fieldData: + description: Standard and Custom fields for a SKU + type: object + required: + - name + - slug + - price + properties: + sku-values: + type: object + description: | + A dictionary that maps a SKU property to a SKU value. The key of the dictionary is the SKU property ID, and the value is the SKU value ID. + additionalProperties: + type: string + example: + ff42fee0113744f693a764e3431a9cc2: 64a74715c456e36762fc39a1 + name: + type: string + description: Name of the Product + example: Blue T-shirt + slug: + type: string + description: URL structure of the Product in your site. + example: t-shirt-blue + price: + type: object + description: price of SKU + properties: + value: + description: Price of SKU + isRequired: true + type: number + example: 100 + unit: + type: string + isRequired: true + description: Currency of Item + example: USD + compare-at-price: + type: object + description: comparison price of SKU + properties: + value: + description: Price of SKU + type: number + example: 100 + unit: + type: string + description: Currency of Item + example: USD + ec-sku-billing-method: + type: string + enum: + - one-time + - subscription + ec-sku-subscription-plan: + type: object + properties: + interval: + type: string + description: Interval of subscription renewal + enum: + - day + - week + - month + - year + frequency: + type: number + description: Frequncy of billing within interval + example: 1 + trial: + type: number + description: Number of days of a trial + example: 7 + plans: + readOnly: true + type: array + items: + type: object + properties: + platform: + type: string + enum: + - stripe + description: The platform of the subscription plan + id: + type: string + description: The unique identifier of the plan + status: + type: string + enum: + - active + - inactive + - canceled + description: The status of the plan + track-inventory: + type: boolean + description: A boolean indicating whether inventory for this product should be tracked. + default: false + quantity: + type: number + description: Quantity of SKU that will be tracked as items are ordered. + example: 10 + additionalProperties: + type: string + description: Custom fields for your SKU. + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: The Product object + type: object + example: + id: 660eb7a486d1d6e0412292d7 + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2024-04-04T14:24:19.467Z' + lastUpdated: '2024-04-04T14:30:19.282Z' + createdOn: '2024-04-04T14:22:28.547Z' + isArchived: false + isDraft: false + fieldData: + tax-category: standard-taxable + shippable: true + ec-product-type: b6ccc1830db4b1babeb06a9ac5f6dd76 + sku-properties: + - id: 31b77fa66fa376c2c0abb458d5be39fb + name: Size + enum: + - id: 8d21a625d655ab260e9941c27180c75b + name: Small + slug: small + - id: ecdca17106ad86c0dfe3b5f3ac8be6c9 + name: Medium + slug: medium + - id: ec7877d6137ecf7ec86f726c135b1812 + name: Large + slug: large + - id: 74d3738e62c568d5634dd6989daec5ec + name: Color + enum: + - id: e539b0d6c3a609cd06ddb2da804f68f0 + name: Royal Blue + slug: royal-blue + - id: 68d98f2fbafc0fd45651cddc44798dd0 + name: Crimson Red + slug: crimson-red + - id: 996cd95c97fd5620d0a374c835b37205 + name: Forrest Green + slug: forrest-green + name: T-Shirt + description: A plain t-shirt + slug: t-shirt + default-sku: 66072fb71b89448912e2681c + properties: + id: + type: string + readOnly: true + description: Unique identifier for the Product + example: 580e63fc8c9a982ac9b8b745 + cmsLocaleId: + type: string + readOnly: true + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-time + readOnly: true + description: The date the Product was last published + example: 2023-03-17T18:47:35.560Z + lastUpdated: + type: string + format: date-time + readOnly: true + description: The date the Product was last updated + example: 2023-03-17T18:47:35.560Z + createdOn: + type: string + format: date-time + readOnly: true + description: The date the Product was created + example: 2023-03-17T18:47:35.560Z + isArchived: + type: boolean + default: false + description: Boolean determining if the Product is set to archived + example: false + isDraft: + type: boolean + default: false + description: Boolean determining if the Product is set to draft + example: false + fieldData: + description: 'Contains content-specific details for a product, covering both standard (e.g., title, description) and custom fields tailored to the product setup.' + type: object + properties: + name: + type: string + description: Name of the Product + example: T-Shirt + slug: + type: string + description: URL structure of the Product in your site. + example: t-shirt + description: + type: string + description: A description of your product + example: A plain cotton t-shirt. + shippable: + type: boolean + description: Boolean determining if the Product is shippable + example: true + sku-properties: + type: array + description: Variant types to include in SKUs + items: + type: object + description: A variant/option type for a SKU + required: + - id + - name + - enum + properties: + id: + type: string + description: Unique identifier for a collection of Product Variants + default: null + example: Color + name: + type: string + description: Name of the collection of Product Variants + example: Color + enum: + description: The individual Product variants that are contained within the collection + type: array + items: + description: Enumerated Product variants/Options for the SKU + type: object + required: + - id + - name + - slug + properties: + id: + type: string + description: Unique identifier for a Product variant/Option + default: null + example: + - royal-blue + - crimson-red + - forrest-green + name: + type: string + description: Name of the Product variant/Option + examples: + - Royal Blue + - Crimson Red + - Forrest Green + slug: + type: string + description: Slug for the Product variant/Option in the Site URL structure + examples: + - royal-blue + - crimson-red + - forrest-green + - null + categories: + type: array + description: The categories your product belongs to. + items: + type: string + tax-category: + type: string + description: Product tax class + enum: + - standard-taxable + - standard-exempt + - books-religious + - books-textbook + - clothing + - clothing-swimwear + - digital-goods + - digital-service + - drugs-non-prescription + - drugs-prescription + - food-bottled-water + - food-candy + - food-groceries + - food-prepared + - food-soda + - food-supplements + - magazine-individual + - magazine-subscription + - service-admission + - service-advertising + - service-dry-cleaning + - service-hairdressing + - service-installation + - service-miscellaneous + - service-parking + - service-printing + - service-professional + - service-repair + - service-training + default-sku: + type: string + format: objectid + description: The default SKU associated with this product. + ec-product-type: + description: 'Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced"' + type: string + enum: + - ff42fee0113744f693a764e3431a9cc2 + - f22027db68002190aef89a4a2b7ac8a1 + - c599e43b1a1c34d5a323aedf75d3adf6 + - b6ccc1830db4b1babeb06a9ac5f6dd76 + additionalProperties: + type: string + description: Custom fields for your product. + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: 'Provided access token is valid, but is missing the required scopes.' + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: missing_scopes + message: 'OAuthForbidden: You are missing the following scopes - components:write' + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '409': + description: The site does not have ecommerce enabled. + x-logErrorCode: 409 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: ecommerce_not_enabled + message: Ecommerce is not yet initialized + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/sites/{site_id}/products/{product_id}/skus': + post: + x-fern-sdk-group-name: products + x-fern-sdk-method-name: create-sku + security: + - OAuth2: + - 'ecommerce:write' + operationId: create-skus + summary: Create SKU + description: | + Create additional SKUs to manage every [option and variant of your Product.](https://help.webflow.com/hc/en-us/articles/33961334531347-Create-product-options-and-variants) + + Creating SKUs through the API will set the product type to `Advanced`, which ensures all Product and SKU fields will be shown to users in the Designer. + + Required scope | `ecommerce:write` + tags: + - Products & SKUs + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + - name: product_id + in: path + description: Unique identifier for a Product + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + requestBody: + description: The SKUs to add + required: true + content: + application/json: + schema: + description: The SKU to create + required: + - skus + properties: + publishStatus: + description: Indicate whether your Product should be set as "staging" or "live" + type: string + enum: + - staging + - live + default: staging + example: staging + skus: + type: array + description: An array of the SKU data your are adding + items: + description: The SKU object + type: object + properties: + id: + type: string + readOnly: true + format: objectid + description: Unique identifier for the Product + example: 580e63fc8c9a982ac9b8b745 + cmsLocaleId: + type: string + readOnly: true + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-time + readOnly: true + description: The date the Product was last published + example: 2023-03-17T18:47:35.560Z + lastUpdated: + type: string + format: date-time + readOnly: true + description: The date the Product was last updated + example: 2023-03-17T18:47:35.560Z + createdOn: + type: string + format: date-time + readOnly: true + description: The date the Product was created + example: 2023-03-17T18:47:35.560Z + fieldData: + description: Standard and Custom fields for a SKU + type: object + required: + - name + - slug + - price + properties: + sku-values: + type: object + description: | + A dictionary that maps a SKU property to a SKU value. The key of the dictionary is the SKU property ID, and the value is the SKU value ID. + additionalProperties: + type: string + example: + ff42fee0113744f693a764e3431a9cc2: 64a74715c456e36762fc39a1 + name: + type: string + description: Name of the Product + example: Blue T-shirt + slug: + type: string + description: URL structure of the Product in your site. + example: t-shirt-blue + price: + type: object + description: price of SKU + properties: + value: + description: Price of SKU + isRequired: true + type: number + example: 100 + unit: + type: string + isRequired: true + description: Currency of Item + example: USD + compare-at-price: + type: object + description: comparison price of SKU + properties: + value: + description: Price of SKU + type: number + example: 100 + unit: + type: string + description: Currency of Item + example: USD + ec-sku-billing-method: + type: string + enum: + - one-time + - subscription + ec-sku-subscription-plan: + type: object + properties: + interval: + type: string + description: Interval of subscription renewal + enum: + - day + - week + - month + - year + frequency: + type: number + description: Frequncy of billing within interval + example: 1 + trial: + type: number + description: Number of days of a trial + example: 7 + plans: + readOnly: true + type: array + items: + type: object + properties: + platform: + type: string + enum: + - stripe + description: The platform of the subscription plan + id: + type: string + description: The unique identifier of the plan + status: + type: string + enum: + - active + - inactive + - canceled + description: The status of the plan + track-inventory: + type: boolean + description: A boolean indicating whether inventory for this product should be tracked. + default: false + quantity: + type: number + description: Quantity of SKU that will be tracked as items are ordered. + example: 10 + additionalProperties: + type: string + description: Custom fields for your SKU. + responses: + '200': + description: Request was successful + content: + application/json: + schema: + type: object + properties: + skus: + type: array + items: + description: The SKU object + type: object + properties: + id: + type: string + readOnly: true + format: objectid + description: Unique identifier for the Product + example: 580e63fc8c9a982ac9b8b745 + cmsLocaleId: + type: string + readOnly: true + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-time + readOnly: true + description: The date the Product was last published + example: 2023-03-17T18:47:35.560Z + lastUpdated: + type: string + format: date-time + readOnly: true + description: The date the Product was last updated + example: 2023-03-17T18:47:35.560Z + createdOn: + type: string + format: date-time + readOnly: true + description: The date the Product was created + example: 2023-03-17T18:47:35.560Z + fieldData: + description: Standard and Custom fields for a SKU + type: object + required: + - name + - slug + - price + properties: + sku-values: + type: object + description: | + A dictionary that maps a SKU property to a SKU value. The key of the dictionary is the SKU property ID, and the value is the SKU value ID. + additionalProperties: + type: string + example: + ff42fee0113744f693a764e3431a9cc2: 64a74715c456e36762fc39a1 + name: + type: string + description: Name of the Product + example: Blue T-shirt + slug: + type: string + description: URL structure of the Product in your site. + example: t-shirt-blue + price: + type: object + description: price of SKU + properties: + value: + description: Price of SKU + isRequired: true + type: number + example: 100 + unit: + type: string + isRequired: true + description: Currency of Item + example: USD + compare-at-price: + type: object + description: comparison price of SKU + properties: + value: + description: Price of SKU + type: number + example: 100 + unit: + type: string + description: Currency of Item + example: USD + ec-sku-billing-method: + type: string + enum: + - one-time + - subscription + ec-sku-subscription-plan: + type: object + properties: + interval: + type: string + description: Interval of subscription renewal + enum: + - day + - week + - month + - year + frequency: + type: number + description: Frequncy of billing within interval + example: 1 + trial: + type: number + description: Number of days of a trial + example: 7 + plans: + readOnly: true + type: array + items: + type: object + properties: + platform: + type: string + enum: + - stripe + description: The platform of the subscription plan + id: + type: string + description: The unique identifier of the plan + status: + type: string + enum: + - active + - inactive + - canceled + description: The status of the plan + track-inventory: + type: boolean + description: A boolean indicating whether inventory for this product should be tracked. + default: false + quantity: + type: number + description: Quantity of SKU that will be tracked as items are ordered. + example: 10 + additionalProperties: + type: string + description: Custom fields for your SKU. + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: 'Provided access token is valid, but is missing the required scopes.' + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: missing_scopes + message: 'OAuthForbidden: You are missing the following scopes - components:write' + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '409': + description: The site does not have ecommerce enabled. + x-logErrorCode: 409 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: ecommerce_not_enabled + message: Ecommerce is not yet initialized + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/sites/{site_id}/products/{product_id}/skus/{sku_id}': + patch: + x-fern-sdk-group-name: products + x-fern-sdk-method-name: update-sku + security: + - OAuth2: + - 'ecommerce:write' + operationId: update-sku + summary: Update SKU + description: | + Update a specified SKU. + + Updating an existing SKU will set the Product type to `Advanced`, which ensures all Product and SKU fields will be shown to users in the Designer. + + Required scope | `ecommerce:write` + tags: + - Products & SKUs + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + - name: product_id + in: path + description: Unique identifier for a Product + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + - name: sku_id + in: path + description: Unique identifier for a SKU + example: 5e8518516e147040726cc415 + required: true + schema: + type: string + format: objectid + requestBody: + description: The SKU to update + required: true + content: + application/json: + schema: + description: The updated SKU + required: + - sku + properties: + publishStatus: + description: Indicate whether your Product should be set as "staging" or "live" + type: string + enum: + - staging + - live + default: staging + example: staging + sku: + description: The SKU object + type: object + properties: + id: + type: string + readOnly: true + format: objectid + description: Unique identifier for the Product + example: 580e63fc8c9a982ac9b8b745 + cmsLocaleId: + type: string + readOnly: true + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-time + readOnly: true + description: The date the Product was last published + example: 2023-03-17T18:47:35.560Z + lastUpdated: + type: string + format: date-time + readOnly: true + description: The date the Product was last updated + example: 2023-03-17T18:47:35.560Z + createdOn: + type: string + format: date-time + readOnly: true + description: The date the Product was created + example: 2023-03-17T18:47:35.560Z + fieldData: + description: Standard and Custom fields for a SKU + type: object + required: + - name + - slug + - price + properties: + sku-values: + type: object + description: | + A dictionary that maps a SKU property to a SKU value. The key of the dictionary is the SKU property ID, and the value is the SKU value ID. + additionalProperties: + type: string + example: + ff42fee0113744f693a764e3431a9cc2: 64a74715c456e36762fc39a1 + name: + type: string + description: Name of the Product + example: Blue T-shirt + slug: + type: string + description: URL structure of the Product in your site. + example: t-shirt-blue + price: + type: object + description: price of SKU + properties: + value: + description: Price of SKU + isRequired: true + type: number + example: 100 + unit: + type: string + isRequired: true + description: Currency of Item + example: USD + compare-at-price: + type: object + description: comparison price of SKU + properties: + value: + description: Price of SKU + type: number + example: 100 + unit: + type: string + description: Currency of Item + example: USD + ec-sku-billing-method: + type: string + enum: + - one-time + - subscription + ec-sku-subscription-plan: + type: object + properties: + interval: + type: string + description: Interval of subscription renewal + enum: + - day + - week + - month + - year + frequency: + type: number + description: Frequncy of billing within interval + example: 1 + trial: + type: number + description: Number of days of a trial + example: 7 + plans: + readOnly: true + type: array + items: + type: object + properties: + platform: + type: string + enum: + - stripe + description: The platform of the subscription plan + id: + type: string + description: The unique identifier of the plan + status: + type: string + enum: + - active + - inactive + - canceled + description: The status of the plan + track-inventory: + type: boolean + description: A boolean indicating whether inventory for this product should be tracked. + default: false + quantity: + type: number + description: Quantity of SKU that will be tracked as items are ordered. + example: 10 + additionalProperties: + type: string + description: Custom fields for your SKU. + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: The SKU object + type: object + properties: + id: + type: string + readOnly: true + format: objectid + description: Unique identifier for the Product + example: 580e63fc8c9a982ac9b8b745 + cmsLocaleId: + type: string + readOnly: true + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-time + readOnly: true + description: The date the Product was last published + example: 2023-03-17T18:47:35.560Z + lastUpdated: + type: string + format: date-time + readOnly: true + description: The date the Product was last updated + example: 2023-03-17T18:47:35.560Z + createdOn: + type: string + format: date-time + readOnly: true + description: The date the Product was created + example: 2023-03-17T18:47:35.560Z + fieldData: + description: Standard and Custom fields for a SKU + type: object + required: + - name + - slug + - price + properties: + sku-values: + type: object + description: | + A dictionary that maps a SKU property to a SKU value. The key of the dictionary is the SKU property ID, and the value is the SKU value ID. + additionalProperties: + type: string + example: + ff42fee0113744f693a764e3431a9cc2: 64a74715c456e36762fc39a1 + name: + type: string + description: Name of the Product + example: Blue T-shirt + slug: + type: string + description: URL structure of the Product in your site. + example: t-shirt-blue + price: + type: object + description: price of SKU + properties: + value: + description: Price of SKU + isRequired: true + type: number + example: 100 + unit: + type: string + isRequired: true + description: Currency of Item + example: USD + compare-at-price: + type: object + description: comparison price of SKU + properties: + value: + description: Price of SKU + type: number + example: 100 + unit: + type: string + description: Currency of Item + example: USD + ec-sku-billing-method: + type: string + enum: + - one-time + - subscription + ec-sku-subscription-plan: + type: object + properties: + interval: + type: string + description: Interval of subscription renewal + enum: + - day + - week + - month + - year + frequency: + type: number + description: Frequncy of billing within interval + example: 1 + trial: + type: number + description: Number of days of a trial + example: 7 + plans: + readOnly: true + type: array + items: + type: object + properties: + platform: + type: string + enum: + - stripe + description: The platform of the subscription plan + id: + type: string + description: The unique identifier of the plan + status: + type: string + enum: + - active + - inactive + - canceled + description: The status of the plan + track-inventory: + type: boolean + description: A boolean indicating whether inventory for this product should be tracked. + default: false + quantity: + type: number + description: Quantity of SKU that will be tracked as items are ordered. + example: 10 + additionalProperties: + type: string + description: Custom fields for your SKU. + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: 'Provided access token is valid, but is missing the required scopes.' + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: missing_scopes + message: 'OAuthForbidden: You are missing the following scopes - components:write' + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '409': + description: The site does not have ecommerce enabled. + x-logErrorCode: 409 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: ecommerce_not_enabled + message: Ecommerce is not yet initialized + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/sites/{site_id}/orders': + get: + x-fern-sdk-group-name: orders + x-fern-sdk-method-name: list + security: + - OAuth2: + - 'ecommerce:read' + operationId: list-orders + summary: List Orders + description: | + List all orders created for a given site. + + Required scope | `ecommerce:read` + tags: + - Orders + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + - name: status + in: query + allowEmptyValue: true + description: Filter the orders by status + required: false + schema: + type: string + enum: + - pending + - refunded + - dispute-lost + - fulfilled + - disputed + - unfulfilled + - in: query + example: 0 + allowEmptyValue: true + name: offset + description: Offset used for pagination if the results have more than limit records + required: false + schema: + type: number + - in: query + allowEmptyValue: true + name: limit + example: 100 + description: 'Maximum number of records to be returned (max limit: 100)' + required: false + schema: + type: number + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: Results from order list + properties: + orders: + type: array + description: List of orders + items: + type: object + properties: + orderId: + type: string + readOnly: true + description: | + The order ID. Will usually be 6 hex characters, but can also be 9 + hex characters if the site has a very large number of Orders. + Randomly assigned. + example: dfa-3f1 + status: + type: string + example: unfulfilled + description: | + The status of the Order + enum: + - pending + - unfulfilled + - fulfilled + - disputed + - dispute-lost + - refunded + comment: + type: string + description: 'A comment string for this Order, which is editable by API user (not used by Webflow).' + example: "Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! \U0001F389 Please ensure the item is packed with extra bubble wrap for safe transit." + orderComment: + type: string + description: A comment that the customer left when making their Order + example: "Please gift wrap with a personal note saying \"Happy Birthday, Ford! \U0001F389" + acceptedOn: + type: string + format: date-time + nullable: true + description: The ISO8601 timestamp that an Order was placed. + example: 2018-12-03T22:06:15.761Z + fulfilledOn: + type: string + format: date-time + nullable: true + description: | + When an Order is marked as 'fulfilled', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + example: 2018-12-03T22:06:15.761Z + refundedOn: + type: string + format: date-time + nullable: true + description: 'When an Order is marked as ''refunded'', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.' + example: 2018-12-03T22:06:15.761Z + disputedOn: + type: string + format: date-time + nullable: true + description: | + When an Order is marked as 'disputed', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + example: 2018-12-03T22:06:15.761Z + disputeUpdatedOn: + type: string + format: date-time + nullable: true + description: | + If an Order has been disputed by the customer, this key will be set to the ISO8601 timestamp of the last update received. If the Order is not disputed, the key will be null. + example: 2018-12-03T22:06:15.761Z + disputeLastStatus: + type: string + description: | + If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status). + example: null + enum: + - warning_needs_response + - warning_under_review + - warning_closed + - needs_response + - under_review + - charge_refunded + - won + - lost + nullable: true + customerPaid: + description: The total paid by the customer + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + netAmount: + description: The net amount after application fees + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + applicationFee: + description: The application fee assessed by the platform + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + allAddresses: + description: All addresses provided by the customer during the ordering flow. + type: array + example: + - type: shipping + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + - type: billing + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + items: + description: A customer address + properties: + type: + description: The type of the order address (billing or shipping) + type: string + enum: + - shipping + - billing + example: shipping + japanType: + description: Represents a Japan-only address format. This field will only appear on orders placed from Japan. + type: string + enum: + - kana + - kanji + nullable: true + example: kanji + addressee: + description: Display name on the address + type: string + example: Customerio Namen + line1: + type: string + example: 123 Example Rd + description: The first line of the address + line2: + type: string + example: '' + description: The second line of the address + city: + type: string + example: Examplesville + description: The city of the address. + state: + type: string + example: CA + description: The state or province of the address + country: + type: string + example: US + description: The country of the address + postalCode: + type: string + example: 90012 + description: The postal code of the address + shippingAddress: + description: The shipping address + example: + type: shipping + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + properties: + type: + description: The type of the order address (billing or shipping) + type: string + enum: + - shipping + - billing + example: shipping + japanType: + description: Represents a Japan-only address format. This field will only appear on orders placed from Japan. + type: string + enum: + - kana + - kanji + nullable: true + example: kanji + addressee: + description: Display name on the address + type: string + example: Customerio Namen + line1: + type: string + example: 123 Example Rd + description: The first line of the address + line2: + type: string + example: '' + description: The second line of the address + city: + type: string + example: Examplesville + description: The city of the address. + state: + type: string + example: CA + description: The state or province of the address + country: + type: string + example: US + description: The country of the address + postalCode: + type: string + example: 90012 + description: The postal code of the address + billingAddress: + description: The billing address + example: + type: billing + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + properties: + type: + description: The type of the order address (billing or shipping) + type: string + enum: + - shipping + - billing + example: shipping + japanType: + description: Represents a Japan-only address format. This field will only appear on orders placed from Japan. + type: string + enum: + - kana + - kanji + nullable: true + example: kanji + addressee: + description: Display name on the address + type: string + example: Customerio Namen + line1: + type: string + example: 123 Example Rd + description: The first line of the address + line2: + type: string + example: '' + description: The second line of the address + city: + type: string + example: Examplesville + description: The city of the address. + state: + type: string + example: CA + description: The state or province of the address + country: + type: string + example: US + description: The country of the address + postalCode: + type: string + example: 90012 + description: The postal code of the address + shippingProvider: + type: string + description: | + A string editable by the API user to note the shipping provider used (not used by Webflow). + example: USPS + nullable: true + shippingTracking: + type: string + description: | + A string editable by the API user to note the shipping tracking number for the order (not used by Webflow). + example: RA401558525US + nullable: true + shippingTrackingURL: + type: string + format: uri + example: shipping.test.com/RA401558525US + nullable: true + customerInfo: + description: An object with the keys `fullName` and `email`. + properties: + fullName: + description: The full name of the Customer + type: string + example: Customerio Namen + email: + description: The Customer's email address + type: string + format: email + example: renning@webflow.com + purchasedItems: + type: array + description: An array of all things that the Customer purchased. + items: + description: An Item that was purchased + properties: + count: + type: number + example: 1 + description: Number of Item purchased. + rowTotal: + description: The total for the row + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + productId: + type: string + format: objectid + description: The unique identifier for the Product + readOnly: true + example: 5eb9fd05caef491eb9757183 + productName: + type: string + description: User-facing name of the Product + example: White Cup + productSlug: + type: string + description: Slug for the Product + example: white-cup + variantId: + type: string + description: Identifier for the Product Variant (SKU) + example: 5eb9fcace279761d8199790c + variantName: + type: string + description: User-facing name of the Product Variant (SKU) + example: Red + variantSlug: + type: string + description: Slug for the Product Variant (SKU) + example: red + variantSKU: + description: The user-defined custom SKU of the Product Variant (SKU) + type: string + example: red-medium + variantImage: + properties: + url: + description: The hosted location for the Variant's image + type: string + format: uri + example: 'https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png' + file: + type: object + properties: + size: + description: The image size in bytes + type: number + example: 21064 + originalFileName: + description: the original name of the image + type: string + example: cup.jpg + createdOn: + description: The creation timestamp of the image + type: string + format: date-time + example: 2018-12-03T22:06:15.761Z + contentType: + description: The MIME type of the image + format: mime-type + type: string + example: image/jpeg + width: + description: The image width in pixels + type: integer + example: 640 + height: + description: The image height in pixels + type: integer + example: 480 + variants: + description: Variants of the supplied image + type: array + items: + type: object + properties: + url: + description: The hosted location for the Variant's image + format: uri + type: string + example: 'https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-example.png' + originalFileName: + type: string + example: cup.jpg + size: + description: The image size in bytes + type: number + example: 12040 + width: + description: The image width in pixels + type: integer + example: 320 + height: + description: The image height in pixels + type: integer + example: 240 + variantPrice: + description: The price corresponding to the variant + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + weight: + type: number + example: 5 + default: null + nullable: true + description: 'The physical weight of the variant if provided, or null' + width: + type: number + example: 4 + nullable: true + default: null + description: 'The physical width of the variant if provided, or null' + height: + type: number + example: 7 + nullable: true + default: null + description: 'The physical height of the variant if provided, or null' + length: + type: number + example: 2 + nullable: true + default: null + description: 'The physical length of the variant if provided, or null' + purchasedItemsCount: + type: number + description: The sum of all 'count' fields in 'purchasedItems'. + example: 1 + stripeDetails: + description: 'An object with various Stripe IDs, useful for linking into the stripe dashboard.' + properties: + subscriptionId: + type: string + format: objectid + example: sub_1J6xwG2eZvKYlo2CXu9Zt0Tn + nullable: true + description: Stripe-generated identifier for the Subscription + paymentMethod: + type: string + format: objectid + example: pm_1J6xwG2eZvKYlo2CXu9Zt0Tn + nullable: true + description: Stripe-generated identifier for the PaymentMethod used + paymentIntentId: + type: string + format: objectid + example: pi_1J6xwG2eZvKYlo2CXu9Zt0Tn + nullable: true + description: 'Stripe-generated identifier for the PaymentIntent, or null' + customerId: + type: string + format: objectid + example: cus_E5ajeiWNHEtcAW + description: 'Stripe-generated customer identifier, or null' + nullable: true + chargeId: + type: string + format: objectid + description: 'Stripe-generated charge identifier, or null' + example: ch_1DdPYQKMjGA7k9mI2AKiBY6u + nullable: true + disputeId: + type: string + format: objectid + description: 'Stripe-generated dispute identifier, or null' + example: null + nullable: true + refundId: + type: string + format: objectid + description: 'Stripe-generated refund identifier, or null' + example: null + nullable: true + refundReason: + type: string + description: 'Stripe-generated refund reason, or null' + example: requested_by_customer + nullable: true + stripeCard: + description: | + Details on the card used to fulfill this order, if this order was finalized with Stripe. + properties: + last4: + type: string + description: The last 4 digits on the card as a string + example: '4242' + brand: + type: string + description: The card's brand (ie. credit card network) + example: Visa + enum: + - Visa + - American Express + - MasterCard + - Discover + - JCB + - Diners Club + - Unknown + ownerName: + type: string + description: The name on the card. + example: Customerio Namen + expires: + type: object + description: The card's expiration date. + properties: + year: + description: Year that the card expires + type: number + example: 2025 + month: + description: Month that the card expires + type: number + example: 12 + paypalDetails: + type: object + properties: + orderId: + type: string + description: PayPal order identifier + example: 1a2b3c4d5e6f7g8h9i0j + payerId: + type: string + description: PayPal payer identifier + example: 9k8j7i6h5g4f3e2d1c0b + captureId: + type: string + description: PayPal capture identifier + example: qwe123rty456uio789p + refundId: + type: string + description: PayPal refund identifier + example: abcde12345fghij67890 + refundReason: + type: string + description: PayPal-issued reason for the refund + example: Customer requested refund + disputeId: + type: string + description: PayPal dispute identifier + example: zxcvbnm987poiuytrewq + customData: + type: array + additionalProperties: true + description: | + An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value. + items: + type: object + metadata: + type: object + properties: + isBuyNow: + type: boolean + example: false + isCustomerDeleted: + type: boolean + description: | + A boolean indicating whether the customer has been deleted from the site. + example: false + isShippingRequired: + type: boolean + description: | + A boolean indicating whether the order contains one or more purchased items that require shipping. + example: false + hasDownloads: + type: boolean + description: | + A boolean indicating whether the order contains one or more purchased items that are downloadable. + example: false + paymentProcessor: + type: string + description: | + A string indicating the payment processor used for this order. + example: stripe + totals: + description: An object describing various pricing totals + properties: + subtotal: + description: The subtotal price + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + extras: + type: array + description: 'An array of extra items, includes discounts, shipping, and taxes.' + items: + description: 'Extra order items, includes discounts, shipping, and taxes.' + example: + type: tax + name: State Taxes + description: CA Taxes (6.25%) + price: + unit: USD + value: 344 + string: $3.44 + properties: + type: + type: string + example: tax + description: The type of extra item this is. + enum: + - discount + - discount-shipping + - shipping + - tax + name: + type: string + description: A human-readable (but English) name for this extra charge. + example: shipping + description: + type: string + description: A human-readable (but English) description of this extra charge. + example: Flat Rate + price: + description: The price for the item + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + total: + description: The total price + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + downloadFiles: + description: An array of downloadable file objects. + type: array + default: [] + items: + properties: + id: + type: string + description: The unique identifier for the downloadable file + example: 5e9a5eba75e0ac242e1b6f64 + name: + type: string + description: The user-facing name for the downloadable file + example: The modern web design process - Webflow Ebook.pdf + url: + type: string + format: uri + description: The hosted location for the downloadable file + example: 'https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa' + example: + orderId: fc7-128 + status: refunded + comment: "Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! \U0001F389 Please ensure the item is packed with extra bubble wrap for safe transit." + orderComment: "Please gift wrap with a personal note saying \"Happy Birthday, Ford! \U0001F389" + acceptedOn: '2024-03-29T21:29:21.555Z' + fulfilledOn: '2024-03-29T21:29:21.555Z' + refundedOn: '2024-04-08T18:25:04.238Z' + disputedOn: '2024-03-29T21:29:21.555Z' + disputeUpdatedOn: '2024-03-29T21:29:21.555Z' + disputeLastStatus: charge_refunded + customerPaid: + unit: USD + value: 11873 + string: $ 118.73 USD + netAmount: + unit: USD + value: 11262 + string: $ 112.62 USD + applicationFee: + unit: USD + value: 237 + string: $ 2.37 USD + allAddresses: + - type: billing + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + - type: shipping + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingAddress: + type: shipping + japanType: kanji + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingProvider: 'Shipping Company, Co.' + shippingTracking: tr00000000001 + shippingTrackingURL: 'https://www.shippingcompany.com/tracking/tr00000000001' + customerInfo: + fullName: Arthur Dent + email: arthur.dent@example.com + purchasedItems: + - count: 1 + rowTotal: + unit: USD + value: 5561 + string: $ 55.61 USD + productId: 66072fb61b89448912e26791 + productName: Luxurious Fresh Ball + productSlug: luxurious-fresh-ball + variantId: 66072fb71b89448912e2683f + variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic' + variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic + variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic + variantImage: + url: 'https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg' + file: null + variantPrice: + unit: USD + value: 5561 + string: $ 55.61 USD + weight: 11 + height: 70 + width: 82 + length: 9 + - count: 1 + rowTotal: + unit: USD + value: 5344 + string: $ 53.44 USD + productId: 66072fb61b89448912e26799 + productName: Recycled Steel Gloves + productSlug: recycled-steel-gloves + variantId: 66072fb91b89448912e26ab9 + variantName: 'Recycled Steel Gloves Electronic: Granite, Handcrafted: grey' + variantSlug: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantSKU: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantImage: + url: 'https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2671e_image2.jpeg' + file: null + variantPrice: + unit: USD + value: 5344 + string: $ 53.44 USD + weight: 38 + height: 85 + width: 76 + length: 40 + purchasedItemsCount: 2 + stripeDetails: + customerId: cus_PpRsNHwWdUoRKR + paymentMethod: pm_1OzmzBJYFi4lcbXWHKNdXU7j + chargeId: ch_3OzmzDJYFi4lcbXW1ndkkrH2 + disputeId: null + paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft + subscriptionId: null + refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk + refundReason: fraudulent + stripeCard: + last4: '4242' + brand: Visa + ownerName: Arthur Dent + expires: + month: 4 + year: 2024 + paypalDetails: null + customData: + - {} + metadata: + isBuyNow: false + hasDownloads: false + paymentProcessor: stripe + billingAddress: + type: billing + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + totals: + subtotal: + unit: USD + value: 10905 + string: $ 109.05 USD + extras: + - type: tax + name: State Taxes + description: NY Taxes (4.00%) + price: + unit: USD + value: 436 + string: $ 4.36 USD + - type: tax + name: City Taxes + description: NEW YORK Taxes (4.88%) + price: + unit: USD + value: 532 + string: $ 5.32 USD + - type: shipping + name: Flat + description: '' + price: + unit: USD + value: 0 + string: $ 0.00 USD + total: + unit: USD + value: 11873 + string: $ 118.73 USD + isCustomerDeleted: false + isShippingRequired: true + downloadFiles: + - id: 5e9a5eba75e0ac242e1b6f64 + name: New product guide + url: 'https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa' + pagination: + description: Pagination object + type: object + properties: + limit: + type: number + description: The limit used for pagination + example: 100 + offset: + type: number + description: The offset used for pagination + example: 0 + total: + type: number + description: The total number of records + example: 100 + example: + orders: + - orderId: 7c1-9fd + status: unfulfilled + comment: "Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! \U0001F389 Please ensure the item is packed with extra bubble wrap for safe transit." + orderComment: "Please gift wrap with a personal note saying \"Happy Birthday, Ford! \U0001F389" + acceptedOn: '2024-04-10T13:16:21.976Z' + fulfilledOn: null + refundedOn: null + disputedOn: null + disputeUpdatedOn: null + disputeLastStatus: null + customerPaid: + unit: USD + value: 21155 + string: $ 211.55 USD + netAmount: + unit: USD + value: 20089 + string: $ 200.89 USD + applicationFee: + unit: USD + value: 423 + string: $ 4.23 USD + allAddresses: + - type: billing + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + - type: shipping + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingAddress: + type: shipping + japanType: kanji + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingProvider: 'Shipping Company, Co.' + shippingTracking: tr00000000002 + shippingTrackingURL: 'https://www.shippingcompany.com/tracking/tr00000000002' + customerInfo: + fullName: Arthur Dent + email: arthur.dent@example.com + purchasedItems: + - count: 2 + rowTotal: + unit: USD + value: 11122 + string: $ 111.22 USD + productId: 66072fb61b89448912e26791 + productName: Luxurious Fresh Ball + productSlug: luxurious-fresh-ball + variantId: 66072fb71b89448912e2683f + variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic' + variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic + variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic + variantImage: + url: 'https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg' + file: null + variantPrice: + unit: USD + value: 5561 + string: $ 55.61 USD + weight: 11 + height: 70 + width: 82 + length: 9 + - count: 1 + rowTotal: + unit: USD + value: 8309 + string: $ 83.09 USD + productId: 66072fb61b89448912e2678b + productName: Incredible Bronze Towels + productSlug: incredible-bronze-towels + variantId: 66072fb71b89448912e2681e + variantName: 'Incredible Bronze Towels Sleek: Frozen, Incredible: Metal' + variantSlug: incredible-bronze-towels-sleek-frozen-incredible-metal + variantSKU: incredible-bronze-towels-sleek-frozen-incredible-metal + variantImage: + url: 'https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e26729_image16.jpeg' + file: null + variantPrice: + unit: USD + value: 8309 + string: $ 83.09 USD + weight: null + height: 72 + width: 19 + length: 18 + purchasedItemsCount: 3 + stripeDetails: + customerId: cus_Ptod8KJBiiPgnH + paymentMethod: pm_1P410gJYFi4lcbXWbeKghqjK + chargeId: ch_3P410iJYFi4lcbXW0DxUkzCH + disputeId: null + paymentIntentId: pi_3P410iJYFi4lcbXW0EKKgcVg + subscriptionId: null + refundId: null + refundReason: null + stripeCard: + last4: '4242' + brand: Visa + ownerName: Arthur Dent + expires: + month: 4 + year: 2025 + paypalDetails: null + customData: + - {} + metadata: + isBuyNow: false + hasDownloads: false + paymentProcessor: stripe + billingAddress: + type: billing + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + - orderId: fc7-128 + status: refunded + comment: Example comment to myself + orderComment: '' + acceptedOn: '2024-03-29T21:29:21.555Z' + fulfilledOn: null + refundedOn: '2024-04-08T18:25:04.238Z' + disputedOn: null + disputeUpdatedOn: null + disputeLastStatus: null + customerPaid: + unit: USD + value: 11873 + string: $ 118.73 USD + netAmount: + unit: USD + value: 11262 + string: $ 112.62 USD + applicationFee: + unit: USD + value: 237 + string: $ 2.37 USD + allAddresses: + - type: billing + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + - type: shipping + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingAddress: + type: shipping + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingProvider: 'Shipping Company, Co.' + shippingTracking: tr00000000001 + shippingTrackingURL: 'https://www.shippingcompany.com/tracking/tr00000000001' + customerInfo: + fullName: Arthur Dent + email: arthur.dent@example.com + purchasedItems: + - count: 1 + rowTotal: + unit: USD + value: 5561 + string: $ 55.61 USD + productId: 66072fb61b89448912e26791 + productName: Luxurious Fresh Ball + productSlug: luxurious-fresh-ball + variantId: 66072fb71b89448912e2683f + variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic' + variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic + variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic + variantImage: + url: 'https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg' + file: null + variantPrice: + unit: USD + value: 5561 + string: $ 55.61 USD + weight: 11 + height: 70 + width: 82 + length: 9 + - count: 1 + rowTotal: + unit: USD + value: 5344 + string: $ 53.44 USD + productId: 66072fb61b89448912e26799 + productName: Recycled Steel Gloves + productSlug: recycled-steel-gloves + variantId: 66072fb91b89448912e26ab9 + variantName: 'Recycled Steel Gloves Electronic: Granite, Handcrafted: grey' + variantSlug: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantSKU: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantImage: + url: 'https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2671e_image2.jpeg' + file: null + variantPrice: + unit: USD + value: 5344 + string: $ 53.44 USD + weight: 38 + height: 85 + width: 76 + length: 40 + purchasedItemsCount: 2 + stripeDetails: + customerId: cus_PpRsNHwWdUoRKR + paymentMethod: pm_1OzmzBJYFi4lcbXWHKNdXU7j + chargeId: ch_3OzmzDJYFi4lcbXW1ndkkrH2 + disputeId: null + paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft + subscriptionId: null + refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk + refundReason: fraudulent + stripeCard: + last4: '4242' + brand: Visa + ownerName: Arthur Dent + expires: + month: 4 + year: 2024 + paypalDetails: null + customData: + - {} + metadata: + isBuyNow: false + hasDownloads: false + paymentProcessor: stripe + billingAddress: + type: billing + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + totals: + subtotal: + unit: USD + value: 10905 + string: $ 109.05 USD + extras: + - type: tax + name: State Taxes + description: NY Taxes (4.00%) + price: + unit: USD + value: 436 + string: $ 4.36 USD + - type: tax + name: City Taxes + description: NEW YORK Taxes (4.88%) + price: + unit: USD + value: 532 + string: $ 5.32 USD + - type: shipping + name: Flat + description: '' + price: + unit: USD + value: 0 + string: $ 0.00 USD + total: + unit: USD + value: 11873 + string: $ 118.73 USD + isCustomerDeleted: false + isShippingRequired: true + downloadFiles: + - id: 5e9a5eba75e0ac242e1b6f64 + name: New product guide + url: 'https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa' + pagination: + limit: 100 + offset: 0 + total: 2 + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: 'Provided access token is valid, but is missing the required scopes.' + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: missing_scopes + message: 'OAuthForbidden: You are missing the following scopes - components:write' + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '409': + description: The site does not have ecommerce enabled. + x-logErrorCode: 409 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: ecommerce_not_enabled + message: Ecommerce is not yet initialized + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/sites/{site_id}/orders/{order_id}': + get: + x-fern-sdk-group-name: orders + x-fern-sdk-method-name: get + security: + - OAuth2: + - 'ecommerce:read' + operationId: get-order + summary: Get Order + description: | + Retrieve a single product by its ID. All of its SKUs will also be + retrieved. + + Required scope | `ecommerce:read` + tags: + - Orders + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + - name: order_id + in: path + description: Unique identifier for an Order + example: 5e8518516e147040726cc415 + required: true + schema: + type: string + format: objectid + responses: + '200': + description: Request was successful + content: + application/json: + schema: + type: object + properties: + orderId: + type: string + readOnly: true + description: | + The order ID. Will usually be 6 hex characters, but can also be 9 + hex characters if the site has a very large number of Orders. + Randomly assigned. + example: dfa-3f1 + status: + type: string + example: unfulfilled + description: | + The status of the Order + enum: + - pending + - unfulfilled + - fulfilled + - disputed + - dispute-lost + - refunded + comment: + type: string + description: 'A comment string for this Order, which is editable by API user (not used by Webflow).' + example: "Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! \U0001F389 Please ensure the item is packed with extra bubble wrap for safe transit." + orderComment: + type: string + description: A comment that the customer left when making their Order + example: "Please gift wrap with a personal note saying \"Happy Birthday, Ford! \U0001F389" + acceptedOn: + type: string + format: date-time + nullable: true + description: The ISO8601 timestamp that an Order was placed. + example: 2018-12-03T22:06:15.761Z + fulfilledOn: + type: string + format: date-time + nullable: true + description: | + When an Order is marked as 'fulfilled', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + example: 2018-12-03T22:06:15.761Z + refundedOn: + type: string + format: date-time + nullable: true + description: 'When an Order is marked as ''refunded'', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.' + example: 2018-12-03T22:06:15.761Z + disputedOn: + type: string + format: date-time + nullable: true + description: | + When an Order is marked as 'disputed', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + example: 2018-12-03T22:06:15.761Z + disputeUpdatedOn: + type: string + format: date-time + nullable: true + description: | + If an Order has been disputed by the customer, this key will be set to the ISO8601 timestamp of the last update received. If the Order is not disputed, the key will be null. + example: 2018-12-03T22:06:15.761Z + disputeLastStatus: + type: string + description: | + If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status). + example: null + enum: + - warning_needs_response + - warning_under_review + - warning_closed + - needs_response + - under_review + - charge_refunded + - won + - lost + nullable: true + customerPaid: + description: The total paid by the customer + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + netAmount: + description: The net amount after application fees + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + applicationFee: + description: The application fee assessed by the platform + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + allAddresses: + description: All addresses provided by the customer during the ordering flow. + type: array + example: + - type: shipping + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + - type: billing + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + items: + description: A customer address + properties: + type: + description: The type of the order address (billing or shipping) + type: string + enum: + - shipping + - billing + example: shipping + japanType: + description: Represents a Japan-only address format. This field will only appear on orders placed from Japan. + type: string + enum: + - kana + - kanji + nullable: true + example: kanji + addressee: + description: Display name on the address + type: string + example: Customerio Namen + line1: + type: string + example: 123 Example Rd + description: The first line of the address + line2: + type: string + example: '' + description: The second line of the address + city: + type: string + example: Examplesville + description: The city of the address. + state: + type: string + example: CA + description: The state or province of the address + country: + type: string + example: US + description: The country of the address + postalCode: + type: string + example: 90012 + description: The postal code of the address + shippingAddress: + description: The shipping address + example: + type: shipping + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + properties: + type: + description: The type of the order address (billing or shipping) + type: string + enum: + - shipping + - billing + example: shipping + japanType: + description: Represents a Japan-only address format. This field will only appear on orders placed from Japan. + type: string + enum: + - kana + - kanji + nullable: true + example: kanji + addressee: + description: Display name on the address + type: string + example: Customerio Namen + line1: + type: string + example: 123 Example Rd + description: The first line of the address + line2: + type: string + example: '' + description: The second line of the address + city: + type: string + example: Examplesville + description: The city of the address. + state: + type: string + example: CA + description: The state or province of the address + country: + type: string + example: US + description: The country of the address + postalCode: + type: string + example: 90012 + description: The postal code of the address + billingAddress: + description: The billing address + example: + type: billing + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + properties: + type: + description: The type of the order address (billing or shipping) + type: string + enum: + - shipping + - billing + example: shipping + japanType: + description: Represents a Japan-only address format. This field will only appear on orders placed from Japan. + type: string + enum: + - kana + - kanji + nullable: true + example: kanji + addressee: + description: Display name on the address + type: string + example: Customerio Namen + line1: + type: string + example: 123 Example Rd + description: The first line of the address + line2: + type: string + example: '' + description: The second line of the address + city: + type: string + example: Examplesville + description: The city of the address. + state: + type: string + example: CA + description: The state or province of the address + country: + type: string + example: US + description: The country of the address + postalCode: + type: string + example: 90012 + description: The postal code of the address + shippingProvider: + type: string + description: | + A string editable by the API user to note the shipping provider used (not used by Webflow). + example: USPS + nullable: true + shippingTracking: + type: string + description: | + A string editable by the API user to note the shipping tracking number for the order (not used by Webflow). + example: RA401558525US + nullable: true + shippingTrackingURL: + type: string + format: uri + example: shipping.test.com/RA401558525US + nullable: true + customerInfo: + description: An object with the keys `fullName` and `email`. + properties: + fullName: + description: The full name of the Customer + type: string + example: Customerio Namen + email: + description: The Customer's email address + type: string + format: email + example: renning@webflow.com + purchasedItems: + type: array + description: An array of all things that the Customer purchased. + items: + description: An Item that was purchased + properties: + count: + type: number + example: 1 + description: Number of Item purchased. + rowTotal: + description: The total for the row + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + productId: + type: string + format: objectid + description: The unique identifier for the Product + readOnly: true + example: 5eb9fd05caef491eb9757183 + productName: + type: string + description: User-facing name of the Product + example: White Cup + productSlug: + type: string + description: Slug for the Product + example: white-cup + variantId: + type: string + description: Identifier for the Product Variant (SKU) + example: 5eb9fcace279761d8199790c + variantName: + type: string + description: User-facing name of the Product Variant (SKU) + example: Red + variantSlug: + type: string + description: Slug for the Product Variant (SKU) + example: red + variantSKU: + description: The user-defined custom SKU of the Product Variant (SKU) + type: string + example: red-medium + variantImage: + properties: + url: + description: The hosted location for the Variant's image + type: string + format: uri + example: 'https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png' + file: + type: object + properties: + size: + description: The image size in bytes + type: number + example: 21064 + originalFileName: + description: the original name of the image + type: string + example: cup.jpg + createdOn: + description: The creation timestamp of the image + type: string + format: date-time + example: 2018-12-03T22:06:15.761Z + contentType: + description: The MIME type of the image + format: mime-type + type: string + example: image/jpeg + width: + description: The image width in pixels + type: integer + example: 640 + height: + description: The image height in pixels + type: integer + example: 480 + variants: + description: Variants of the supplied image + type: array + items: + type: object + properties: + url: + description: The hosted location for the Variant's image + format: uri + type: string + example: 'https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-example.png' + originalFileName: + type: string + example: cup.jpg + size: + description: The image size in bytes + type: number + example: 12040 + width: + description: The image width in pixels + type: integer + example: 320 + height: + description: The image height in pixels + type: integer + example: 240 + variantPrice: + description: The price corresponding to the variant + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + weight: + type: number + example: 5 + default: null + nullable: true + description: 'The physical weight of the variant if provided, or null' + width: + type: number + example: 4 + nullable: true + default: null + description: 'The physical width of the variant if provided, or null' + height: + type: number + example: 7 + nullable: true + default: null + description: 'The physical height of the variant if provided, or null' + length: + type: number + example: 2 + nullable: true + default: null + description: 'The physical length of the variant if provided, or null' + purchasedItemsCount: + type: number + description: The sum of all 'count' fields in 'purchasedItems'. + example: 1 + stripeDetails: + description: 'An object with various Stripe IDs, useful for linking into the stripe dashboard.' + properties: + subscriptionId: + type: string + format: objectid + example: sub_1J6xwG2eZvKYlo2CXu9Zt0Tn + nullable: true + description: Stripe-generated identifier for the Subscription + paymentMethod: + type: string + format: objectid + example: pm_1J6xwG2eZvKYlo2CXu9Zt0Tn + nullable: true + description: Stripe-generated identifier for the PaymentMethod used + paymentIntentId: + type: string + format: objectid + example: pi_1J6xwG2eZvKYlo2CXu9Zt0Tn + nullable: true + description: 'Stripe-generated identifier for the PaymentIntent, or null' + customerId: + type: string + format: objectid + example: cus_E5ajeiWNHEtcAW + description: 'Stripe-generated customer identifier, or null' + nullable: true + chargeId: + type: string + format: objectid + description: 'Stripe-generated charge identifier, or null' + example: ch_1DdPYQKMjGA7k9mI2AKiBY6u + nullable: true + disputeId: + type: string + format: objectid + description: 'Stripe-generated dispute identifier, or null' + example: null + nullable: true + refundId: + type: string + format: objectid + description: 'Stripe-generated refund identifier, or null' + example: null + nullable: true + refundReason: + type: string + description: 'Stripe-generated refund reason, or null' + example: requested_by_customer + nullable: true + stripeCard: + description: | + Details on the card used to fulfill this order, if this order was finalized with Stripe. + properties: + last4: + type: string + description: The last 4 digits on the card as a string + example: '4242' + brand: + type: string + description: The card's brand (ie. credit card network) + example: Visa + enum: + - Visa + - American Express + - MasterCard + - Discover + - JCB + - Diners Club + - Unknown + ownerName: + type: string + description: The name on the card. + example: Customerio Namen + expires: + type: object + description: The card's expiration date. + properties: + year: + description: Year that the card expires + type: number + example: 2025 + month: + description: Month that the card expires + type: number + example: 12 + paypalDetails: + type: object + properties: + orderId: + type: string + description: PayPal order identifier + example: 1a2b3c4d5e6f7g8h9i0j + payerId: + type: string + description: PayPal payer identifier + example: 9k8j7i6h5g4f3e2d1c0b + captureId: + type: string + description: PayPal capture identifier + example: qwe123rty456uio789p + refundId: + type: string + description: PayPal refund identifier + example: abcde12345fghij67890 + refundReason: + type: string + description: PayPal-issued reason for the refund + example: Customer requested refund + disputeId: + type: string + description: PayPal dispute identifier + example: zxcvbnm987poiuytrewq + customData: + type: array + additionalProperties: true + description: | + An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value. + items: + type: object + metadata: + type: object + properties: + isBuyNow: + type: boolean + example: false + isCustomerDeleted: + type: boolean + description: | + A boolean indicating whether the customer has been deleted from the site. + example: false + isShippingRequired: + type: boolean + description: | + A boolean indicating whether the order contains one or more purchased items that require shipping. + example: false + hasDownloads: + type: boolean + description: | + A boolean indicating whether the order contains one or more purchased items that are downloadable. + example: false + paymentProcessor: + type: string + description: | + A string indicating the payment processor used for this order. + example: stripe + totals: + description: An object describing various pricing totals + properties: + subtotal: + description: The subtotal price + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + extras: + type: array + description: 'An array of extra items, includes discounts, shipping, and taxes.' + items: + description: 'Extra order items, includes discounts, shipping, and taxes.' + example: + type: tax + name: State Taxes + description: CA Taxes (6.25%) + price: + unit: USD + value: 344 + string: $3.44 + properties: + type: + type: string + example: tax + description: The type of extra item this is. + enum: + - discount + - discount-shipping + - shipping + - tax + name: + type: string + description: A human-readable (but English) name for this extra charge. + example: shipping + description: + type: string + description: A human-readable (but English) description of this extra charge. + example: Flat Rate + price: + description: The price for the item + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + total: + description: The total price + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + downloadFiles: + description: An array of downloadable file objects. + type: array + default: [] + items: + properties: + id: + type: string + description: The unique identifier for the downloadable file + example: 5e9a5eba75e0ac242e1b6f64 + name: + type: string + description: The user-facing name for the downloadable file + example: The modern web design process - Webflow Ebook.pdf + url: + type: string + format: uri + description: The hosted location for the downloadable file + example: 'https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa' + example: + orderId: fc7-128 + status: refunded + comment: "Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! \U0001F389 Please ensure the item is packed with extra bubble wrap for safe transit." + orderComment: "Please gift wrap with a personal note saying \"Happy Birthday, Ford! \U0001F389" + acceptedOn: '2024-03-29T21:29:21.555Z' + fulfilledOn: '2024-03-29T21:29:21.555Z' + refundedOn: '2024-04-08T18:25:04.238Z' + disputedOn: '2024-03-29T21:29:21.555Z' + disputeUpdatedOn: '2024-03-29T21:29:21.555Z' + disputeLastStatus: charge_refunded + customerPaid: + unit: USD + value: 11873 + string: $ 118.73 USD + netAmount: + unit: USD + value: 11262 + string: $ 112.62 USD + applicationFee: + unit: USD + value: 237 + string: $ 2.37 USD + allAddresses: + - type: billing + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + - type: shipping + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingAddress: + type: shipping + japanType: kanji + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingProvider: 'Shipping Company, Co.' + shippingTracking: tr00000000001 + shippingTrackingURL: 'https://www.shippingcompany.com/tracking/tr00000000001' + customerInfo: + fullName: Arthur Dent + email: arthur.dent@example.com + purchasedItems: + - count: 1 + rowTotal: + unit: USD + value: 5561 + string: $ 55.61 USD + productId: 66072fb61b89448912e26791 + productName: Luxurious Fresh Ball + productSlug: luxurious-fresh-ball + variantId: 66072fb71b89448912e2683f + variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic' + variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic + variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic + variantImage: + url: 'https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg' + file: null + variantPrice: + unit: USD + value: 5561 + string: $ 55.61 USD + weight: 11 + height: 70 + width: 82 + length: 9 + - count: 1 + rowTotal: + unit: USD + value: 5344 + string: $ 53.44 USD + productId: 66072fb61b89448912e26799 + productName: Recycled Steel Gloves + productSlug: recycled-steel-gloves + variantId: 66072fb91b89448912e26ab9 + variantName: 'Recycled Steel Gloves Electronic: Granite, Handcrafted: grey' + variantSlug: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantSKU: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantImage: + url: 'https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2671e_image2.jpeg' + file: null + variantPrice: + unit: USD + value: 5344 + string: $ 53.44 USD + weight: 38 + height: 85 + width: 76 + length: 40 + purchasedItemsCount: 2 + stripeDetails: + customerId: cus_PpRsNHwWdUoRKR + paymentMethod: pm_1OzmzBJYFi4lcbXWHKNdXU7j + chargeId: ch_3OzmzDJYFi4lcbXW1ndkkrH2 + disputeId: null + paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft + subscriptionId: null + refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk + refundReason: fraudulent + stripeCard: + last4: '4242' + brand: Visa + ownerName: Arthur Dent + expires: + month: 4 + year: 2024 + paypalDetails: null + customData: + - {} + metadata: + isBuyNow: false + hasDownloads: false + paymentProcessor: stripe + billingAddress: + type: billing + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + totals: + subtotal: + unit: USD + value: 10905 + string: $ 109.05 USD + extras: + - type: tax + name: State Taxes + description: NY Taxes (4.00%) + price: + unit: USD + value: 436 + string: $ 4.36 USD + - type: tax + name: City Taxes + description: NEW YORK Taxes (4.88%) + price: + unit: USD + value: 532 + string: $ 5.32 USD + - type: shipping + name: Flat + description: '' + price: + unit: USD + value: 0 + string: $ 0.00 USD + total: + unit: USD + value: 11873 + string: $ 118.73 USD + isCustomerDeleted: false + isShippingRequired: true + downloadFiles: + - id: 5e9a5eba75e0ac242e1b6f64 + name: New product guide + url: 'https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa' + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: 'Provided access token is valid, but is missing the required scopes.' + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: missing_scopes + message: 'OAuthForbidden: You are missing the following scopes - components:write' + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '409': + description: The site does not have ecommerce enabled. + x-logErrorCode: 409 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: ecommerce_not_enabled + message: Ecommerce is not yet initialized + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + patch: + x-fern-sdk-group-name: orders + x-fern-sdk-method-name: update + security: + - OAuth2: + - 'ecommerce:write' + operationId: update-order + summary: Update Order + description: | + This API lets you update the fields, `comment`, `shippingProvider`, + and/or `shippingTracking` for a given order. All three fields can be + updated simultaneously or independently. + + Required scope | `ecommerce:write` + tags: + - Orders + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + - name: order_id + in: path + description: Unique identifier for an Order + example: 5e8518516e147040726cc415 + required: true + schema: + type: string + format: objectid + requestBody: + description: The order fields to update + required: true + content: + application/json: + schema: + description: The order to update + properties: + comment: + type: string + description: Arbitrary data for your records + example: Example comment to myself + shippingProvider: + type: string + description: Company or method used to ship order + example: 'Shipping Company, Co.' + shippingTracking: + type: string + description: Tracking number for order shipment + example: tr00000000001 + shippingTrackingURL: + type: string + description: URL to track order shipment + example: 'https://www.shippingcompany.com/tracking/tr00000000001' + responses: + '200': + description: Request was successful + content: + application/json: + schema: + type: object + properties: + orderId: + type: string + readOnly: true + description: | + The order ID. Will usually be 6 hex characters, but can also be 9 + hex characters if the site has a very large number of Orders. + Randomly assigned. + example: dfa-3f1 + status: + type: string + example: unfulfilled + description: | + The status of the Order + enum: + - pending + - unfulfilled + - fulfilled + - disputed + - dispute-lost + - refunded + comment: + type: string + description: 'A comment string for this Order, which is editable by API user (not used by Webflow).' + example: "Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! \U0001F389 Please ensure the item is packed with extra bubble wrap for safe transit." + orderComment: + type: string + description: A comment that the customer left when making their Order + example: "Please gift wrap with a personal note saying \"Happy Birthday, Ford! \U0001F389" + acceptedOn: + type: string + format: date-time + nullable: true + description: The ISO8601 timestamp that an Order was placed. + example: 2018-12-03T22:06:15.761Z + fulfilledOn: + type: string + format: date-time + nullable: true + description: | + When an Order is marked as 'fulfilled', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + example: 2018-12-03T22:06:15.761Z + refundedOn: + type: string + format: date-time + nullable: true + description: 'When an Order is marked as ''refunded'', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.' + example: 2018-12-03T22:06:15.761Z + disputedOn: + type: string + format: date-time + nullable: true + description: | + When an Order is marked as 'disputed', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + example: 2018-12-03T22:06:15.761Z + disputeUpdatedOn: + type: string + format: date-time + nullable: true + description: | + If an Order has been disputed by the customer, this key will be set to the ISO8601 timestamp of the last update received. If the Order is not disputed, the key will be null. + example: 2018-12-03T22:06:15.761Z + disputeLastStatus: + type: string + description: | + If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status). + example: null + enum: + - warning_needs_response + - warning_under_review + - warning_closed + - needs_response + - under_review + - charge_refunded + - won + - lost + nullable: true + customerPaid: + description: The total paid by the customer + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + netAmount: + description: The net amount after application fees + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + applicationFee: + description: The application fee assessed by the platform + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + allAddresses: + description: All addresses provided by the customer during the ordering flow. + type: array + example: + - type: shipping + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + - type: billing + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + items: + description: A customer address + properties: + type: + description: The type of the order address (billing or shipping) + type: string + enum: + - shipping + - billing + example: shipping + japanType: + description: Represents a Japan-only address format. This field will only appear on orders placed from Japan. + type: string + enum: + - kana + - kanji + nullable: true + example: kanji + addressee: + description: Display name on the address + type: string + example: Customerio Namen + line1: + type: string + example: 123 Example Rd + description: The first line of the address + line2: + type: string + example: '' + description: The second line of the address + city: + type: string + example: Examplesville + description: The city of the address. + state: + type: string + example: CA + description: The state or province of the address + country: + type: string + example: US + description: The country of the address + postalCode: + type: string + example: 90012 + description: The postal code of the address + shippingAddress: + description: The shipping address + example: + type: shipping + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + properties: + type: + description: The type of the order address (billing or shipping) + type: string + enum: + - shipping + - billing + example: shipping + japanType: + description: Represents a Japan-only address format. This field will only appear on orders placed from Japan. + type: string + enum: + - kana + - kanji + nullable: true + example: kanji + addressee: + description: Display name on the address + type: string + example: Customerio Namen + line1: + type: string + example: 123 Example Rd + description: The first line of the address + line2: + type: string + example: '' + description: The second line of the address + city: + type: string + example: Examplesville + description: The city of the address. + state: + type: string + example: CA + description: The state or province of the address + country: + type: string + example: US + description: The country of the address + postalCode: + type: string + example: 90012 + description: The postal code of the address + billingAddress: + description: The billing address + example: + type: billing + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + properties: + type: + description: The type of the order address (billing or shipping) + type: string + enum: + - shipping + - billing + example: shipping + japanType: + description: Represents a Japan-only address format. This field will only appear on orders placed from Japan. + type: string + enum: + - kana + - kanji + nullable: true + example: kanji + addressee: + description: Display name on the address + type: string + example: Customerio Namen + line1: + type: string + example: 123 Example Rd + description: The first line of the address + line2: + type: string + example: '' + description: The second line of the address + city: + type: string + example: Examplesville + description: The city of the address. + state: + type: string + example: CA + description: The state or province of the address + country: + type: string + example: US + description: The country of the address + postalCode: + type: string + example: 90012 + description: The postal code of the address + shippingProvider: + type: string + description: | + A string editable by the API user to note the shipping provider used (not used by Webflow). + example: USPS + nullable: true + shippingTracking: + type: string + description: | + A string editable by the API user to note the shipping tracking number for the order (not used by Webflow). + example: RA401558525US + nullable: true + shippingTrackingURL: + type: string + format: uri + example: shipping.test.com/RA401558525US + nullable: true + customerInfo: + description: An object with the keys `fullName` and `email`. + properties: + fullName: + description: The full name of the Customer + type: string + example: Customerio Namen + email: + description: The Customer's email address + type: string + format: email + example: renning@webflow.com + purchasedItems: + type: array + description: An array of all things that the Customer purchased. + items: + description: An Item that was purchased + properties: + count: + type: number + example: 1 + description: Number of Item purchased. + rowTotal: + description: The total for the row + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + productId: + type: string + format: objectid + description: The unique identifier for the Product + readOnly: true + example: 5eb9fd05caef491eb9757183 + productName: + type: string + description: User-facing name of the Product + example: White Cup + productSlug: + type: string + description: Slug for the Product + example: white-cup + variantId: + type: string + description: Identifier for the Product Variant (SKU) + example: 5eb9fcace279761d8199790c + variantName: + type: string + description: User-facing name of the Product Variant (SKU) + example: Red + variantSlug: + type: string + description: Slug for the Product Variant (SKU) + example: red + variantSKU: + description: The user-defined custom SKU of the Product Variant (SKU) + type: string + example: red-medium + variantImage: + properties: + url: + description: The hosted location for the Variant's image + type: string + format: uri + example: 'https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png' + file: + type: object + properties: + size: + description: The image size in bytes + type: number + example: 21064 + originalFileName: + description: the original name of the image + type: string + example: cup.jpg + createdOn: + description: The creation timestamp of the image + type: string + format: date-time + example: 2018-12-03T22:06:15.761Z + contentType: + description: The MIME type of the image + format: mime-type + type: string + example: image/jpeg + width: + description: The image width in pixels + type: integer + example: 640 + height: + description: The image height in pixels + type: integer + example: 480 + variants: + description: Variants of the supplied image + type: array + items: + type: object + properties: + url: + description: The hosted location for the Variant's image + format: uri + type: string + example: 'https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-example.png' + originalFileName: + type: string + example: cup.jpg + size: + description: The image size in bytes + type: number + example: 12040 + width: + description: The image width in pixels + type: integer + example: 320 + height: + description: The image height in pixels + type: integer + example: 240 + variantPrice: + description: The price corresponding to the variant + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + weight: + type: number + example: 5 + default: null + nullable: true + description: 'The physical weight of the variant if provided, or null' + width: + type: number + example: 4 + nullable: true + default: null + description: 'The physical width of the variant if provided, or null' + height: + type: number + example: 7 + nullable: true + default: null + description: 'The physical height of the variant if provided, or null' + length: + type: number + example: 2 + nullable: true + default: null + description: 'The physical length of the variant if provided, or null' + purchasedItemsCount: + type: number + description: The sum of all 'count' fields in 'purchasedItems'. + example: 1 + stripeDetails: + description: 'An object with various Stripe IDs, useful for linking into the stripe dashboard.' + properties: + subscriptionId: + type: string + format: objectid + example: sub_1J6xwG2eZvKYlo2CXu9Zt0Tn + nullable: true + description: Stripe-generated identifier for the Subscription + paymentMethod: + type: string + format: objectid + example: pm_1J6xwG2eZvKYlo2CXu9Zt0Tn + nullable: true + description: Stripe-generated identifier for the PaymentMethod used + paymentIntentId: + type: string + format: objectid + example: pi_1J6xwG2eZvKYlo2CXu9Zt0Tn + nullable: true + description: 'Stripe-generated identifier for the PaymentIntent, or null' + customerId: + type: string + format: objectid + example: cus_E5ajeiWNHEtcAW + description: 'Stripe-generated customer identifier, or null' + nullable: true + chargeId: + type: string + format: objectid + description: 'Stripe-generated charge identifier, or null' + example: ch_1DdPYQKMjGA7k9mI2AKiBY6u + nullable: true + disputeId: + type: string + format: objectid + description: 'Stripe-generated dispute identifier, or null' + example: null + nullable: true + refundId: + type: string + format: objectid + description: 'Stripe-generated refund identifier, or null' + example: null + nullable: true + refundReason: + type: string + description: 'Stripe-generated refund reason, or null' + example: requested_by_customer + nullable: true + stripeCard: + description: | + Details on the card used to fulfill this order, if this order was finalized with Stripe. + properties: + last4: + type: string + description: The last 4 digits on the card as a string + example: '4242' + brand: + type: string + description: The card's brand (ie. credit card network) + example: Visa + enum: + - Visa + - American Express + - MasterCard + - Discover + - JCB + - Diners Club + - Unknown + ownerName: + type: string + description: The name on the card. + example: Customerio Namen + expires: + type: object + description: The card's expiration date. + properties: + year: + description: Year that the card expires + type: number + example: 2025 + month: + description: Month that the card expires + type: number + example: 12 + paypalDetails: + type: object + properties: + orderId: + type: string + description: PayPal order identifier + example: 1a2b3c4d5e6f7g8h9i0j + payerId: + type: string + description: PayPal payer identifier + example: 9k8j7i6h5g4f3e2d1c0b + captureId: + type: string + description: PayPal capture identifier + example: qwe123rty456uio789p + refundId: + type: string + description: PayPal refund identifier + example: abcde12345fghij67890 + refundReason: + type: string + description: PayPal-issued reason for the refund + example: Customer requested refund + disputeId: + type: string + description: PayPal dispute identifier + example: zxcvbnm987poiuytrewq + customData: + type: array + additionalProperties: true + description: | + An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value. + items: + type: object + metadata: + type: object + properties: + isBuyNow: + type: boolean + example: false + isCustomerDeleted: + type: boolean + description: | + A boolean indicating whether the customer has been deleted from the site. + example: false + isShippingRequired: + type: boolean + description: | + A boolean indicating whether the order contains one or more purchased items that require shipping. + example: false + hasDownloads: + type: boolean + description: | + A boolean indicating whether the order contains one or more purchased items that are downloadable. + example: false + paymentProcessor: + type: string + description: | + A string indicating the payment processor used for this order. + example: stripe + totals: + description: An object describing various pricing totals + properties: + subtotal: + description: The subtotal price + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + extras: + type: array + description: 'An array of extra items, includes discounts, shipping, and taxes.' + items: + description: 'Extra order items, includes discounts, shipping, and taxes.' + example: + type: tax + name: State Taxes + description: CA Taxes (6.25%) + price: + unit: USD + value: 344 + string: $3.44 + properties: + type: + type: string + example: tax + description: The type of extra item this is. + enum: + - discount + - discount-shipping + - shipping + - tax + name: + type: string + description: A human-readable (but English) name for this extra charge. + example: shipping + description: + type: string + description: A human-readable (but English) description of this extra charge. + example: Flat Rate + price: + description: The price for the item + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + total: + description: The total price + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + downloadFiles: + description: An array of downloadable file objects. + type: array + default: [] + items: + properties: + id: + type: string + description: The unique identifier for the downloadable file + example: 5e9a5eba75e0ac242e1b6f64 + name: + type: string + description: The user-facing name for the downloadable file + example: The modern web design process - Webflow Ebook.pdf + url: + type: string + format: uri + description: The hosted location for the downloadable file + example: 'https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa' + example: + orderId: fc7-128 + status: refunded + comment: "Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! \U0001F389 Please ensure the item is packed with extra bubble wrap for safe transit." + orderComment: "Please gift wrap with a personal note saying \"Happy Birthday, Ford! \U0001F389" + acceptedOn: '2024-03-29T21:29:21.555Z' + fulfilledOn: '2024-03-29T21:29:21.555Z' + refundedOn: '2024-04-08T18:25:04.238Z' + disputedOn: '2024-03-29T21:29:21.555Z' + disputeUpdatedOn: '2024-03-29T21:29:21.555Z' + disputeLastStatus: charge_refunded + customerPaid: + unit: USD + value: 11873 + string: $ 118.73 USD + netAmount: + unit: USD + value: 11262 + string: $ 112.62 USD + applicationFee: + unit: USD + value: 237 + string: $ 2.37 USD + allAddresses: + - type: billing + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + - type: shipping + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingAddress: + type: shipping + japanType: kanji + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingProvider: 'Shipping Company, Co.' + shippingTracking: tr00000000001 + shippingTrackingURL: 'https://www.shippingcompany.com/tracking/tr00000000001' + customerInfo: + fullName: Arthur Dent + email: arthur.dent@example.com + purchasedItems: + - count: 1 + rowTotal: + unit: USD + value: 5561 + string: $ 55.61 USD + productId: 66072fb61b89448912e26791 + productName: Luxurious Fresh Ball + productSlug: luxurious-fresh-ball + variantId: 66072fb71b89448912e2683f + variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic' + variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic + variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic + variantImage: + url: 'https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg' + file: null + variantPrice: + unit: USD + value: 5561 + string: $ 55.61 USD + weight: 11 + height: 70 + width: 82 + length: 9 + - count: 1 + rowTotal: + unit: USD + value: 5344 + string: $ 53.44 USD + productId: 66072fb61b89448912e26799 + productName: Recycled Steel Gloves + productSlug: recycled-steel-gloves + variantId: 66072fb91b89448912e26ab9 + variantName: 'Recycled Steel Gloves Electronic: Granite, Handcrafted: grey' + variantSlug: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantSKU: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantImage: + url: 'https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2671e_image2.jpeg' + file: null + variantPrice: + unit: USD + value: 5344 + string: $ 53.44 USD + weight: 38 + height: 85 + width: 76 + length: 40 + purchasedItemsCount: 2 + stripeDetails: + customerId: cus_PpRsNHwWdUoRKR + paymentMethod: pm_1OzmzBJYFi4lcbXWHKNdXU7j + chargeId: ch_3OzmzDJYFi4lcbXW1ndkkrH2 + disputeId: null + paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft + subscriptionId: null + refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk + refundReason: fraudulent + stripeCard: + last4: '4242' + brand: Visa + ownerName: Arthur Dent + expires: + month: 4 + year: 2024 + paypalDetails: null + customData: + - {} + metadata: + isBuyNow: false + hasDownloads: false + paymentProcessor: stripe + billingAddress: + type: billing + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + totals: + subtotal: + unit: USD + value: 10905 + string: $ 109.05 USD + extras: + - type: tax + name: State Taxes + description: NY Taxes (4.00%) + price: + unit: USD + value: 436 + string: $ 4.36 USD + - type: tax + name: City Taxes + description: NEW YORK Taxes (4.88%) + price: + unit: USD + value: 532 + string: $ 5.32 USD + - type: shipping + name: Flat + description: '' + price: + unit: USD + value: 0 + string: $ 0.00 USD + total: + unit: USD + value: 11873 + string: $ 118.73 USD + isCustomerDeleted: false + isShippingRequired: true + downloadFiles: + - id: 5e9a5eba75e0ac242e1b6f64 + name: New product guide + url: 'https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa' + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: 'Provided access token is valid, but is missing the required scopes.' + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: missing_scopes + message: 'OAuthForbidden: You are missing the following scopes - components:write' + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '409': + description: The site does not have ecommerce enabled. + x-logErrorCode: 409 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: ecommerce_not_enabled + message: Ecommerce is not yet initialized + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/sites/{site_id}/orders/{order_id}/fulfill': + post: + x-fern-sdk-group-name: orders + x-fern-sdk-method-name: update-fulfill + security: + - OAuth2: + - 'ecommerce:write' + operationId: fulfill-order + summary: Fulfill Order + description: | + Updates an order's status to fulfilled + + Required scope | `ecommerce:write` + tags: + - Orders + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + - name: order_id + in: path + description: Unique identifier for an Order + example: 5e8518516e147040726cc415 + required: true + schema: + type: string + format: objectid + requestBody: + description: The order fulfillment request + content: + application/json: + schema: + description: Update an order's status to fulfilled + properties: + sendOrderFulfilledEmail: + type: boolean + description: Whether or not the Order Fulfilled email should be sent + default: false + responses: + '200': + description: Request was successful + content: + application/json: + schema: + type: object + properties: + orderId: + type: string + readOnly: true + description: | + The order ID. Will usually be 6 hex characters, but can also be 9 + hex characters if the site has a very large number of Orders. + Randomly assigned. + example: dfa-3f1 + status: + type: string + example: unfulfilled + description: | + The status of the Order + enum: + - pending + - unfulfilled + - fulfilled + - disputed + - dispute-lost + - refunded + comment: + type: string + description: 'A comment string for this Order, which is editable by API user (not used by Webflow).' + example: "Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! \U0001F389 Please ensure the item is packed with extra bubble wrap for safe transit." + orderComment: + type: string + description: A comment that the customer left when making their Order + example: "Please gift wrap with a personal note saying \"Happy Birthday, Ford! \U0001F389" + acceptedOn: + type: string + format: date-time + nullable: true + description: The ISO8601 timestamp that an Order was placed. + example: 2018-12-03T22:06:15.761Z + fulfilledOn: + type: string + format: date-time + nullable: true + description: | + When an Order is marked as 'fulfilled', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + example: 2018-12-03T22:06:15.761Z + refundedOn: + type: string + format: date-time + nullable: true + description: 'When an Order is marked as ''refunded'', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.' + example: 2018-12-03T22:06:15.761Z + disputedOn: + type: string + format: date-time + nullable: true + description: | + When an Order is marked as 'disputed', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + example: 2018-12-03T22:06:15.761Z + disputeUpdatedOn: + type: string + format: date-time + nullable: true + description: | + If an Order has been disputed by the customer, this key will be set to the ISO8601 timestamp of the last update received. If the Order is not disputed, the key will be null. + example: 2018-12-03T22:06:15.761Z + disputeLastStatus: + type: string + description: | + If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status). + example: null + enum: + - warning_needs_response + - warning_under_review + - warning_closed + - needs_response + - under_review + - charge_refunded + - won + - lost + nullable: true + customerPaid: + description: The total paid by the customer + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + netAmount: + description: The net amount after application fees + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + applicationFee: + description: The application fee assessed by the platform + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + allAddresses: + description: All addresses provided by the customer during the ordering flow. + type: array + example: + - type: shipping + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + - type: billing + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + items: + description: A customer address + properties: + type: + description: The type of the order address (billing or shipping) + type: string + enum: + - shipping + - billing + example: shipping + japanType: + description: Represents a Japan-only address format. This field will only appear on orders placed from Japan. + type: string + enum: + - kana + - kanji + nullable: true + example: kanji + addressee: + description: Display name on the address + type: string + example: Customerio Namen + line1: + type: string + example: 123 Example Rd + description: The first line of the address + line2: + type: string + example: '' + description: The second line of the address + city: + type: string + example: Examplesville + description: The city of the address. + state: + type: string + example: CA + description: The state or province of the address + country: + type: string + example: US + description: The country of the address + postalCode: + type: string + example: 90012 + description: The postal code of the address + shippingAddress: + description: The shipping address + example: + type: shipping + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + properties: + type: + description: The type of the order address (billing or shipping) + type: string + enum: + - shipping + - billing + example: shipping + japanType: + description: Represents a Japan-only address format. This field will only appear on orders placed from Japan. + type: string + enum: + - kana + - kanji + nullable: true + example: kanji + addressee: + description: Display name on the address + type: string + example: Customerio Namen + line1: + type: string + example: 123 Example Rd + description: The first line of the address + line2: + type: string + example: '' + description: The second line of the address + city: + type: string + example: Examplesville + description: The city of the address. + state: + type: string + example: CA + description: The state or province of the address + country: + type: string + example: US + description: The country of the address + postalCode: + type: string + example: 90012 + description: The postal code of the address + billingAddress: + description: The billing address + example: + type: billing + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + properties: + type: + description: The type of the order address (billing or shipping) + type: string + enum: + - shipping + - billing + example: shipping + japanType: + description: Represents a Japan-only address format. This field will only appear on orders placed from Japan. + type: string + enum: + - kana + - kanji + nullable: true + example: kanji + addressee: + description: Display name on the address + type: string + example: Customerio Namen + line1: + type: string + example: 123 Example Rd + description: The first line of the address + line2: + type: string + example: '' + description: The second line of the address + city: + type: string + example: Examplesville + description: The city of the address. + state: + type: string + example: CA + description: The state or province of the address + country: + type: string + example: US + description: The country of the address + postalCode: + type: string + example: 90012 + description: The postal code of the address + shippingProvider: + type: string + description: | + A string editable by the API user to note the shipping provider used (not used by Webflow). + example: USPS + nullable: true + shippingTracking: + type: string + description: | + A string editable by the API user to note the shipping tracking number for the order (not used by Webflow). + example: RA401558525US + nullable: true + shippingTrackingURL: + type: string + format: uri + example: shipping.test.com/RA401558525US + nullable: true + customerInfo: + description: An object with the keys `fullName` and `email`. + properties: + fullName: + description: The full name of the Customer + type: string + example: Customerio Namen + email: + description: The Customer's email address + type: string + format: email + example: renning@webflow.com + purchasedItems: + type: array + description: An array of all things that the Customer purchased. + items: + description: An Item that was purchased + properties: + count: + type: number + example: 1 + description: Number of Item purchased. + rowTotal: + description: The total for the row + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + productId: + type: string + format: objectid + description: The unique identifier for the Product + readOnly: true + example: 5eb9fd05caef491eb9757183 + productName: + type: string + description: User-facing name of the Product + example: White Cup + productSlug: + type: string + description: Slug for the Product + example: white-cup + variantId: + type: string + description: Identifier for the Product Variant (SKU) + example: 5eb9fcace279761d8199790c + variantName: + type: string + description: User-facing name of the Product Variant (SKU) + example: Red + variantSlug: + type: string + description: Slug for the Product Variant (SKU) + example: red + variantSKU: + description: The user-defined custom SKU of the Product Variant (SKU) + type: string + example: red-medium + variantImage: + properties: + url: + description: The hosted location for the Variant's image + type: string + format: uri + example: 'https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png' + file: + type: object + properties: + size: + description: The image size in bytes + type: number + example: 21064 + originalFileName: + description: the original name of the image + type: string + example: cup.jpg + createdOn: + description: The creation timestamp of the image + type: string + format: date-time + example: 2018-12-03T22:06:15.761Z + contentType: + description: The MIME type of the image + format: mime-type + type: string + example: image/jpeg + width: + description: The image width in pixels + type: integer + example: 640 + height: + description: The image height in pixels + type: integer + example: 480 + variants: + description: Variants of the supplied image + type: array + items: + type: object + properties: + url: + description: The hosted location for the Variant's image + format: uri + type: string + example: 'https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-example.png' + originalFileName: + type: string + example: cup.jpg + size: + description: The image size in bytes + type: number + example: 12040 + width: + description: The image width in pixels + type: integer + example: 320 + height: + description: The image height in pixels + type: integer + example: 240 + variantPrice: + description: The price corresponding to the variant + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + weight: + type: number + example: 5 + default: null + nullable: true + description: 'The physical weight of the variant if provided, or null' + width: + type: number + example: 4 + nullable: true + default: null + description: 'The physical width of the variant if provided, or null' + height: + type: number + example: 7 + nullable: true + default: null + description: 'The physical height of the variant if provided, or null' + length: + type: number + example: 2 + nullable: true + default: null + description: 'The physical length of the variant if provided, or null' + purchasedItemsCount: + type: number + description: The sum of all 'count' fields in 'purchasedItems'. + example: 1 + stripeDetails: + description: 'An object with various Stripe IDs, useful for linking into the stripe dashboard.' + properties: + subscriptionId: + type: string + format: objectid + example: sub_1J6xwG2eZvKYlo2CXu9Zt0Tn + nullable: true + description: Stripe-generated identifier for the Subscription + paymentMethod: + type: string + format: objectid + example: pm_1J6xwG2eZvKYlo2CXu9Zt0Tn + nullable: true + description: Stripe-generated identifier for the PaymentMethod used + paymentIntentId: + type: string + format: objectid + example: pi_1J6xwG2eZvKYlo2CXu9Zt0Tn + nullable: true + description: 'Stripe-generated identifier for the PaymentIntent, or null' + customerId: + type: string + format: objectid + example: cus_E5ajeiWNHEtcAW + description: 'Stripe-generated customer identifier, or null' + nullable: true + chargeId: + type: string + format: objectid + description: 'Stripe-generated charge identifier, or null' + example: ch_1DdPYQKMjGA7k9mI2AKiBY6u + nullable: true + disputeId: + type: string + format: objectid + description: 'Stripe-generated dispute identifier, or null' + example: null + nullable: true + refundId: + type: string + format: objectid + description: 'Stripe-generated refund identifier, or null' + example: null + nullable: true + refundReason: + type: string + description: 'Stripe-generated refund reason, or null' + example: requested_by_customer + nullable: true + stripeCard: + description: | + Details on the card used to fulfill this order, if this order was finalized with Stripe. + properties: + last4: + type: string + description: The last 4 digits on the card as a string + example: '4242' + brand: + type: string + description: The card's brand (ie. credit card network) + example: Visa + enum: + - Visa + - American Express + - MasterCard + - Discover + - JCB + - Diners Club + - Unknown + ownerName: + type: string + description: The name on the card. + example: Customerio Namen + expires: + type: object + description: The card's expiration date. + properties: + year: + description: Year that the card expires + type: number + example: 2025 + month: + description: Month that the card expires + type: number + example: 12 + paypalDetails: + type: object + properties: + orderId: + type: string + description: PayPal order identifier + example: 1a2b3c4d5e6f7g8h9i0j + payerId: + type: string + description: PayPal payer identifier + example: 9k8j7i6h5g4f3e2d1c0b + captureId: + type: string + description: PayPal capture identifier + example: qwe123rty456uio789p + refundId: + type: string + description: PayPal refund identifier + example: abcde12345fghij67890 + refundReason: + type: string + description: PayPal-issued reason for the refund + example: Customer requested refund + disputeId: + type: string + description: PayPal dispute identifier + example: zxcvbnm987poiuytrewq + customData: + type: array + additionalProperties: true + description: | + An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value. + items: + type: object + metadata: + type: object + properties: + isBuyNow: + type: boolean + example: false + isCustomerDeleted: + type: boolean + description: | + A boolean indicating whether the customer has been deleted from the site. + example: false + isShippingRequired: + type: boolean + description: | + A boolean indicating whether the order contains one or more purchased items that require shipping. + example: false + hasDownloads: + type: boolean + description: | + A boolean indicating whether the order contains one or more purchased items that are downloadable. + example: false + paymentProcessor: + type: string + description: | + A string indicating the payment processor used for this order. + example: stripe + totals: + description: An object describing various pricing totals + properties: + subtotal: + description: The subtotal price + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + extras: + type: array + description: 'An array of extra items, includes discounts, shipping, and taxes.' + items: + description: 'Extra order items, includes discounts, shipping, and taxes.' + example: + type: tax + name: State Taxes + description: CA Taxes (6.25%) + price: + unit: USD + value: 344 + string: $3.44 + properties: + type: + type: string + example: tax + description: The type of extra item this is. + enum: + - discount + - discount-shipping + - shipping + - tax + name: + type: string + description: A human-readable (but English) name for this extra charge. + example: shipping + description: + type: string + description: A human-readable (but English) description of this extra charge. + example: Flat Rate + price: + description: The price for the item + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + total: + description: The total price + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + downloadFiles: + description: An array of downloadable file objects. + type: array + default: [] + items: + properties: + id: + type: string + description: The unique identifier for the downloadable file + example: 5e9a5eba75e0ac242e1b6f64 + name: + type: string + description: The user-facing name for the downloadable file + example: The modern web design process - Webflow Ebook.pdf + url: + type: string + format: uri + description: The hosted location for the downloadable file + example: 'https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa' + example: + orderId: fc7-128 + status: refunded + comment: "Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! \U0001F389 Please ensure the item is packed with extra bubble wrap for safe transit." + orderComment: "Please gift wrap with a personal note saying \"Happy Birthday, Ford! \U0001F389" + acceptedOn: '2024-03-29T21:29:21.555Z' + fulfilledOn: '2024-03-29T21:29:21.555Z' + refundedOn: '2024-04-08T18:25:04.238Z' + disputedOn: '2024-03-29T21:29:21.555Z' + disputeUpdatedOn: '2024-03-29T21:29:21.555Z' + disputeLastStatus: charge_refunded + customerPaid: + unit: USD + value: 11873 + string: $ 118.73 USD + netAmount: + unit: USD + value: 11262 + string: $ 112.62 USD + applicationFee: + unit: USD + value: 237 + string: $ 2.37 USD + allAddresses: + - type: billing + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + - type: shipping + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingAddress: + type: shipping + japanType: kanji + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingProvider: 'Shipping Company, Co.' + shippingTracking: tr00000000001 + shippingTrackingURL: 'https://www.shippingcompany.com/tracking/tr00000000001' + customerInfo: + fullName: Arthur Dent + email: arthur.dent@example.com + purchasedItems: + - count: 1 + rowTotal: + unit: USD + value: 5561 + string: $ 55.61 USD + productId: 66072fb61b89448912e26791 + productName: Luxurious Fresh Ball + productSlug: luxurious-fresh-ball + variantId: 66072fb71b89448912e2683f + variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic' + variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic + variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic + variantImage: + url: 'https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg' + file: null + variantPrice: + unit: USD + value: 5561 + string: $ 55.61 USD + weight: 11 + height: 70 + width: 82 + length: 9 + - count: 1 + rowTotal: + unit: USD + value: 5344 + string: $ 53.44 USD + productId: 66072fb61b89448912e26799 + productName: Recycled Steel Gloves + productSlug: recycled-steel-gloves + variantId: 66072fb91b89448912e26ab9 + variantName: 'Recycled Steel Gloves Electronic: Granite, Handcrafted: grey' + variantSlug: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantSKU: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantImage: + url: 'https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2671e_image2.jpeg' + file: null + variantPrice: + unit: USD + value: 5344 + string: $ 53.44 USD + weight: 38 + height: 85 + width: 76 + length: 40 + purchasedItemsCount: 2 + stripeDetails: + customerId: cus_PpRsNHwWdUoRKR + paymentMethod: pm_1OzmzBJYFi4lcbXWHKNdXU7j + chargeId: ch_3OzmzDJYFi4lcbXW1ndkkrH2 + disputeId: null + paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft + subscriptionId: null + refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk + refundReason: fraudulent + stripeCard: + last4: '4242' + brand: Visa + ownerName: Arthur Dent + expires: + month: 4 + year: 2024 + paypalDetails: null + customData: + - {} + metadata: + isBuyNow: false + hasDownloads: false + paymentProcessor: stripe + billingAddress: + type: billing + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + totals: + subtotal: + unit: USD + value: 10905 + string: $ 109.05 USD + extras: + - type: tax + name: State Taxes + description: NY Taxes (4.00%) + price: + unit: USD + value: 436 + string: $ 4.36 USD + - type: tax + name: City Taxes + description: NEW YORK Taxes (4.88%) + price: + unit: USD + value: 532 + string: $ 5.32 USD + - type: shipping + name: Flat + description: '' + price: + unit: USD + value: 0 + string: $ 0.00 USD + total: + unit: USD + value: 11873 + string: $ 118.73 USD + isCustomerDeleted: false + isShippingRequired: true + downloadFiles: + - id: 5e9a5eba75e0ac242e1b6f64 + name: New product guide + url: 'https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa' + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: 'Provided access token is valid, but is missing the required scopes.' + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: missing_scopes + message: 'OAuthForbidden: You are missing the following scopes - components:write' + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '409': + description: The site does not have ecommerce enabled. + x-logErrorCode: 409 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: ecommerce_not_enabled + message: Ecommerce is not yet initialized + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/sites/{site_id}/orders/{order_id}/unfulfill': + post: + x-fern-sdk-group-name: orders + x-fern-sdk-method-name: update-unfulfill + security: + - OAuth2: + - 'ecommerce:write' + operationId: unfulfill-order + summary: Unfulfill Order + description: | + Updates an order's status to unfulfilled + + Required scope | `ecommerce:write` + tags: + - Orders + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + - name: order_id + in: path + description: Unique identifier for an Order + example: 5e8518516e147040726cc415 + required: true + schema: + type: string + format: objectid + responses: + '200': + description: Request was successful + content: + application/json: + schema: + type: object + properties: + orderId: + type: string + readOnly: true + description: | + The order ID. Will usually be 6 hex characters, but can also be 9 + hex characters if the site has a very large number of Orders. + Randomly assigned. + example: dfa-3f1 + status: + type: string + example: unfulfilled + description: | + The status of the Order + enum: + - pending + - unfulfilled + - fulfilled + - disputed + - dispute-lost + - refunded + comment: + type: string + description: 'A comment string for this Order, which is editable by API user (not used by Webflow).' + example: "Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! \U0001F389 Please ensure the item is packed with extra bubble wrap for safe transit." + orderComment: + type: string + description: A comment that the customer left when making their Order + example: "Please gift wrap with a personal note saying \"Happy Birthday, Ford! \U0001F389" + acceptedOn: + type: string + format: date-time + nullable: true + description: The ISO8601 timestamp that an Order was placed. + example: 2018-12-03T22:06:15.761Z + fulfilledOn: + type: string + format: date-time + nullable: true + description: | + When an Order is marked as 'fulfilled', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + example: 2018-12-03T22:06:15.761Z + refundedOn: + type: string + format: date-time + nullable: true + description: 'When an Order is marked as ''refunded'', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.' + example: 2018-12-03T22:06:15.761Z + disputedOn: + type: string + format: date-time + nullable: true + description: | + When an Order is marked as 'disputed', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + example: 2018-12-03T22:06:15.761Z + disputeUpdatedOn: + type: string + format: date-time + nullable: true + description: | + If an Order has been disputed by the customer, this key will be set to the ISO8601 timestamp of the last update received. If the Order is not disputed, the key will be null. + example: 2018-12-03T22:06:15.761Z + disputeLastStatus: + type: string + description: | + If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status). + example: null + enum: + - warning_needs_response + - warning_under_review + - warning_closed + - needs_response + - under_review + - charge_refunded + - won + - lost + nullable: true + customerPaid: + description: The total paid by the customer + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + netAmount: + description: The net amount after application fees + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + applicationFee: + description: The application fee assessed by the platform + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + allAddresses: + description: All addresses provided by the customer during the ordering flow. + type: array + example: + - type: shipping + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + - type: billing + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + items: + description: A customer address + properties: + type: + description: The type of the order address (billing or shipping) + type: string + enum: + - shipping + - billing + example: shipping + japanType: + description: Represents a Japan-only address format. This field will only appear on orders placed from Japan. + type: string + enum: + - kana + - kanji + nullable: true + example: kanji + addressee: + description: Display name on the address + type: string + example: Customerio Namen + line1: + type: string + example: 123 Example Rd + description: The first line of the address + line2: + type: string + example: '' + description: The second line of the address + city: + type: string + example: Examplesville + description: The city of the address. + state: + type: string + example: CA + description: The state or province of the address + country: + type: string + example: US + description: The country of the address + postalCode: + type: string + example: 90012 + description: The postal code of the address + shippingAddress: + description: The shipping address + example: + type: shipping + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + properties: + type: + description: The type of the order address (billing or shipping) + type: string + enum: + - shipping + - billing + example: shipping + japanType: + description: Represents a Japan-only address format. This field will only appear on orders placed from Japan. + type: string + enum: + - kana + - kanji + nullable: true + example: kanji + addressee: + description: Display name on the address + type: string + example: Customerio Namen + line1: + type: string + example: 123 Example Rd + description: The first line of the address + line2: + type: string + example: '' + description: The second line of the address + city: + type: string + example: Examplesville + description: The city of the address. + state: + type: string + example: CA + description: The state or province of the address + country: + type: string + example: US + description: The country of the address + postalCode: + type: string + example: 90012 + description: The postal code of the address + billingAddress: + description: The billing address + example: + type: billing + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + properties: + type: + description: The type of the order address (billing or shipping) + type: string + enum: + - shipping + - billing + example: shipping + japanType: + description: Represents a Japan-only address format. This field will only appear on orders placed from Japan. + type: string + enum: + - kana + - kanji + nullable: true + example: kanji + addressee: + description: Display name on the address + type: string + example: Customerio Namen + line1: + type: string + example: 123 Example Rd + description: The first line of the address + line2: + type: string + example: '' + description: The second line of the address + city: + type: string + example: Examplesville + description: The city of the address. + state: + type: string + example: CA + description: The state or province of the address + country: + type: string + example: US + description: The country of the address + postalCode: + type: string + example: 90012 + description: The postal code of the address + shippingProvider: + type: string + description: | + A string editable by the API user to note the shipping provider used (not used by Webflow). + example: USPS + nullable: true + shippingTracking: + type: string + description: | + A string editable by the API user to note the shipping tracking number for the order (not used by Webflow). + example: RA401558525US + nullable: true + shippingTrackingURL: + type: string + format: uri + example: shipping.test.com/RA401558525US + nullable: true + customerInfo: + description: An object with the keys `fullName` and `email`. + properties: + fullName: + description: The full name of the Customer + type: string + example: Customerio Namen + email: + description: The Customer's email address + type: string + format: email + example: renning@webflow.com + purchasedItems: + type: array + description: An array of all things that the Customer purchased. + items: + description: An Item that was purchased + properties: + count: + type: number + example: 1 + description: Number of Item purchased. + rowTotal: + description: The total for the row + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + productId: + type: string + format: objectid + description: The unique identifier for the Product + readOnly: true + example: 5eb9fd05caef491eb9757183 + productName: + type: string + description: User-facing name of the Product + example: White Cup + productSlug: + type: string + description: Slug for the Product + example: white-cup + variantId: + type: string + description: Identifier for the Product Variant (SKU) + example: 5eb9fcace279761d8199790c + variantName: + type: string + description: User-facing name of the Product Variant (SKU) + example: Red + variantSlug: + type: string + description: Slug for the Product Variant (SKU) + example: red + variantSKU: + description: The user-defined custom SKU of the Product Variant (SKU) + type: string + example: red-medium + variantImage: + properties: + url: + description: The hosted location for the Variant's image + type: string + format: uri + example: 'https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png' + file: + type: object + properties: + size: + description: The image size in bytes + type: number + example: 21064 + originalFileName: + description: the original name of the image + type: string + example: cup.jpg + createdOn: + description: The creation timestamp of the image + type: string + format: date-time + example: 2018-12-03T22:06:15.761Z + contentType: + description: The MIME type of the image + format: mime-type + type: string + example: image/jpeg + width: + description: The image width in pixels + type: integer + example: 640 + height: + description: The image height in pixels + type: integer + example: 480 + variants: + description: Variants of the supplied image + type: array + items: + type: object + properties: + url: + description: The hosted location for the Variant's image + format: uri + type: string + example: 'https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-example.png' + originalFileName: + type: string + example: cup.jpg + size: + description: The image size in bytes + type: number + example: 12040 + width: + description: The image width in pixels + type: integer + example: 320 + height: + description: The image height in pixels + type: integer + example: 240 + variantPrice: + description: The price corresponding to the variant + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + weight: + type: number + example: 5 + default: null + nullable: true + description: 'The physical weight of the variant if provided, or null' + width: + type: number + example: 4 + nullable: true + default: null + description: 'The physical width of the variant if provided, or null' + height: + type: number + example: 7 + nullable: true + default: null + description: 'The physical height of the variant if provided, or null' + length: + type: number + example: 2 + nullable: true + default: null + description: 'The physical length of the variant if provided, or null' + purchasedItemsCount: + type: number + description: The sum of all 'count' fields in 'purchasedItems'. + example: 1 + stripeDetails: + description: 'An object with various Stripe IDs, useful for linking into the stripe dashboard.' + properties: + subscriptionId: + type: string + format: objectid + example: sub_1J6xwG2eZvKYlo2CXu9Zt0Tn + nullable: true + description: Stripe-generated identifier for the Subscription + paymentMethod: + type: string + format: objectid + example: pm_1J6xwG2eZvKYlo2CXu9Zt0Tn + nullable: true + description: Stripe-generated identifier for the PaymentMethod used + paymentIntentId: + type: string + format: objectid + example: pi_1J6xwG2eZvKYlo2CXu9Zt0Tn + nullable: true + description: 'Stripe-generated identifier for the PaymentIntent, or null' + customerId: + type: string + format: objectid + example: cus_E5ajeiWNHEtcAW + description: 'Stripe-generated customer identifier, or null' + nullable: true + chargeId: + type: string + format: objectid + description: 'Stripe-generated charge identifier, or null' + example: ch_1DdPYQKMjGA7k9mI2AKiBY6u + nullable: true + disputeId: + type: string + format: objectid + description: 'Stripe-generated dispute identifier, or null' + example: null + nullable: true + refundId: + type: string + format: objectid + description: 'Stripe-generated refund identifier, or null' + example: null + nullable: true + refundReason: + type: string + description: 'Stripe-generated refund reason, or null' + example: requested_by_customer + nullable: true + stripeCard: + description: | + Details on the card used to fulfill this order, if this order was finalized with Stripe. + properties: + last4: + type: string + description: The last 4 digits on the card as a string + example: '4242' + brand: + type: string + description: The card's brand (ie. credit card network) + example: Visa + enum: + - Visa + - American Express + - MasterCard + - Discover + - JCB + - Diners Club + - Unknown + ownerName: + type: string + description: The name on the card. + example: Customerio Namen + expires: + type: object + description: The card's expiration date. + properties: + year: + description: Year that the card expires + type: number + example: 2025 + month: + description: Month that the card expires + type: number + example: 12 + paypalDetails: + type: object + properties: + orderId: + type: string + description: PayPal order identifier + example: 1a2b3c4d5e6f7g8h9i0j + payerId: + type: string + description: PayPal payer identifier + example: 9k8j7i6h5g4f3e2d1c0b + captureId: + type: string + description: PayPal capture identifier + example: qwe123rty456uio789p + refundId: + type: string + description: PayPal refund identifier + example: abcde12345fghij67890 + refundReason: + type: string + description: PayPal-issued reason for the refund + example: Customer requested refund + disputeId: + type: string + description: PayPal dispute identifier + example: zxcvbnm987poiuytrewq + customData: + type: array + additionalProperties: true + description: | + An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value. + items: + type: object + metadata: + type: object + properties: + isBuyNow: + type: boolean + example: false + isCustomerDeleted: + type: boolean + description: | + A boolean indicating whether the customer has been deleted from the site. + example: false + isShippingRequired: + type: boolean + description: | + A boolean indicating whether the order contains one or more purchased items that require shipping. + example: false + hasDownloads: + type: boolean + description: | + A boolean indicating whether the order contains one or more purchased items that are downloadable. + example: false + paymentProcessor: + type: string + description: | + A string indicating the payment processor used for this order. + example: stripe + totals: + description: An object describing various pricing totals + properties: + subtotal: + description: The subtotal price + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + extras: + type: array + description: 'An array of extra items, includes discounts, shipping, and taxes.' + items: + description: 'Extra order items, includes discounts, shipping, and taxes.' + example: + type: tax + name: State Taxes + description: CA Taxes (6.25%) + price: + unit: USD + value: 344 + string: $3.44 + properties: + type: + type: string + example: tax + description: The type of extra item this is. + enum: + - discount + - discount-shipping + - shipping + - tax + name: + type: string + description: A human-readable (but English) name for this extra charge. + example: shipping + description: + type: string + description: A human-readable (but English) description of this extra charge. + example: Flat Rate + price: + description: The price for the item + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + total: + description: The total price + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + downloadFiles: + description: An array of downloadable file objects. + type: array + default: [] + items: + properties: + id: + type: string + description: The unique identifier for the downloadable file + example: 5e9a5eba75e0ac242e1b6f64 + name: + type: string + description: The user-facing name for the downloadable file + example: The modern web design process - Webflow Ebook.pdf + url: + type: string + format: uri + description: The hosted location for the downloadable file + example: 'https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa' + example: + orderId: fc7-128 + status: refunded + comment: "Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! \U0001F389 Please ensure the item is packed with extra bubble wrap for safe transit." + orderComment: "Please gift wrap with a personal note saying \"Happy Birthday, Ford! \U0001F389" + acceptedOn: '2024-03-29T21:29:21.555Z' + fulfilledOn: '2024-03-29T21:29:21.555Z' + refundedOn: '2024-04-08T18:25:04.238Z' + disputedOn: '2024-03-29T21:29:21.555Z' + disputeUpdatedOn: '2024-03-29T21:29:21.555Z' + disputeLastStatus: charge_refunded + customerPaid: + unit: USD + value: 11873 + string: $ 118.73 USD + netAmount: + unit: USD + value: 11262 + string: $ 112.62 USD + applicationFee: + unit: USD + value: 237 + string: $ 2.37 USD + allAddresses: + - type: billing + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + - type: shipping + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingAddress: + type: shipping + japanType: kanji + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingProvider: 'Shipping Company, Co.' + shippingTracking: tr00000000001 + shippingTrackingURL: 'https://www.shippingcompany.com/tracking/tr00000000001' + customerInfo: + fullName: Arthur Dent + email: arthur.dent@example.com + purchasedItems: + - count: 1 + rowTotal: + unit: USD + value: 5561 + string: $ 55.61 USD + productId: 66072fb61b89448912e26791 + productName: Luxurious Fresh Ball + productSlug: luxurious-fresh-ball + variantId: 66072fb71b89448912e2683f + variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic' + variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic + variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic + variantImage: + url: 'https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg' + file: null + variantPrice: + unit: USD + value: 5561 + string: $ 55.61 USD + weight: 11 + height: 70 + width: 82 + length: 9 + - count: 1 + rowTotal: + unit: USD + value: 5344 + string: $ 53.44 USD + productId: 66072fb61b89448912e26799 + productName: Recycled Steel Gloves + productSlug: recycled-steel-gloves + variantId: 66072fb91b89448912e26ab9 + variantName: 'Recycled Steel Gloves Electronic: Granite, Handcrafted: grey' + variantSlug: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantSKU: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantImage: + url: 'https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2671e_image2.jpeg' + file: null + variantPrice: + unit: USD + value: 5344 + string: $ 53.44 USD + weight: 38 + height: 85 + width: 76 + length: 40 + purchasedItemsCount: 2 + stripeDetails: + customerId: cus_PpRsNHwWdUoRKR + paymentMethod: pm_1OzmzBJYFi4lcbXWHKNdXU7j + chargeId: ch_3OzmzDJYFi4lcbXW1ndkkrH2 + disputeId: null + paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft + subscriptionId: null + refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk + refundReason: fraudulent + stripeCard: + last4: '4242' + brand: Visa + ownerName: Arthur Dent + expires: + month: 4 + year: 2024 + paypalDetails: null + customData: + - {} + metadata: + isBuyNow: false + hasDownloads: false + paymentProcessor: stripe + billingAddress: + type: billing + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + totals: + subtotal: + unit: USD + value: 10905 + string: $ 109.05 USD + extras: + - type: tax + name: State Taxes + description: NY Taxes (4.00%) + price: + unit: USD + value: 436 + string: $ 4.36 USD + - type: tax + name: City Taxes + description: NEW YORK Taxes (4.88%) + price: + unit: USD + value: 532 + string: $ 5.32 USD + - type: shipping + name: Flat + description: '' + price: + unit: USD + value: 0 + string: $ 0.00 USD + total: + unit: USD + value: 11873 + string: $ 118.73 USD + isCustomerDeleted: false + isShippingRequired: true + downloadFiles: + - id: 5e9a5eba75e0ac242e1b6f64 + name: New product guide + url: 'https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa' + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: 'Provided access token is valid, but is missing the required scopes.' + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: missing_scopes + message: 'OAuthForbidden: You are missing the following scopes - components:write' + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '409': + description: The site does not have ecommerce enabled. + x-logErrorCode: 409 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: ecommerce_not_enabled + message: Ecommerce is not yet initialized + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/sites/{site_id}/orders/{order_id}/refund': + post: + x-fern-sdk-group-name: orders + x-fern-sdk-method-name: refund + security: + - OAuth2: + - 'ecommerce:write' + operationId: refund-order + summary: Refund Order + description: | + This API will reverse a Stripe charge and refund an order back to a + customer. It will also set the order's status to `refunded`. + + Required scope | `ecommerce:write` + tags: + - Orders + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + - name: order_id + in: path + description: Unique identifier for an Order + example: 5e8518516e147040726cc415 + required: true + schema: + type: string + format: objectid + requestBody: + description: The order fulfillment request + content: + application/json: + schema: + description: Update an order's status to fulfilled + properties: + reason: + type: string + description: The reason for the refund + enum: + - duplicate + - fraudulent + - requested + responses: + '200': + description: Request was successful + content: + application/json: + schema: + type: object + properties: + orderId: + type: string + readOnly: true + description: | + The order ID. Will usually be 6 hex characters, but can also be 9 + hex characters if the site has a very large number of Orders. + Randomly assigned. + example: dfa-3f1 + status: + type: string + example: unfulfilled + description: | + The status of the Order + enum: + - pending + - unfulfilled + - fulfilled + - disputed + - dispute-lost + - refunded + comment: + type: string + description: 'A comment string for this Order, which is editable by API user (not used by Webflow).' + example: "Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! \U0001F389 Please ensure the item is packed with extra bubble wrap for safe transit." + orderComment: + type: string + description: A comment that the customer left when making their Order + example: "Please gift wrap with a personal note saying \"Happy Birthday, Ford! \U0001F389" + acceptedOn: + type: string + format: date-time + nullable: true + description: The ISO8601 timestamp that an Order was placed. + example: 2018-12-03T22:06:15.761Z + fulfilledOn: + type: string + format: date-time + nullable: true + description: | + When an Order is marked as 'fulfilled', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + example: 2018-12-03T22:06:15.761Z + refundedOn: + type: string + format: date-time + nullable: true + description: 'When an Order is marked as ''refunded'', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.' + example: 2018-12-03T22:06:15.761Z + disputedOn: + type: string + format: date-time + nullable: true + description: | + When an Order is marked as 'disputed', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + example: 2018-12-03T22:06:15.761Z + disputeUpdatedOn: + type: string + format: date-time + nullable: true + description: | + If an Order has been disputed by the customer, this key will be set to the ISO8601 timestamp of the last update received. If the Order is not disputed, the key will be null. + example: 2018-12-03T22:06:15.761Z + disputeLastStatus: + type: string + description: | + If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status). + example: null + enum: + - warning_needs_response + - warning_under_review + - warning_closed + - needs_response + - under_review + - charge_refunded + - won + - lost + nullable: true + customerPaid: + description: The total paid by the customer + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + netAmount: + description: The net amount after application fees + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + applicationFee: + description: The application fee assessed by the platform + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + allAddresses: + description: All addresses provided by the customer during the ordering flow. + type: array + example: + - type: shipping + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + - type: billing + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + items: + description: A customer address + properties: + type: + description: The type of the order address (billing or shipping) + type: string + enum: + - shipping + - billing + example: shipping + japanType: + description: Represents a Japan-only address format. This field will only appear on orders placed from Japan. + type: string + enum: + - kana + - kanji + nullable: true + example: kanji + addressee: + description: Display name on the address + type: string + example: Customerio Namen + line1: + type: string + example: 123 Example Rd + description: The first line of the address + line2: + type: string + example: '' + description: The second line of the address + city: + type: string + example: Examplesville + description: The city of the address. + state: + type: string + example: CA + description: The state or province of the address + country: + type: string + example: US + description: The country of the address + postalCode: + type: string + example: 90012 + description: The postal code of the address + shippingAddress: + description: The shipping address + example: + type: shipping + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + properties: + type: + description: The type of the order address (billing or shipping) + type: string + enum: + - shipping + - billing + example: shipping + japanType: + description: Represents a Japan-only address format. This field will only appear on orders placed from Japan. + type: string + enum: + - kana + - kanji + nullable: true + example: kanji + addressee: + description: Display name on the address + type: string + example: Customerio Namen + line1: + type: string + example: 123 Example Rd + description: The first line of the address + line2: + type: string + example: '' + description: The second line of the address + city: + type: string + example: Examplesville + description: The city of the address. + state: + type: string + example: CA + description: The state or province of the address + country: + type: string + example: US + description: The country of the address + postalCode: + type: string + example: 90012 + description: The postal code of the address + billingAddress: + description: The billing address + example: + type: billing + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + properties: + type: + description: The type of the order address (billing or shipping) + type: string + enum: + - shipping + - billing + example: shipping + japanType: + description: Represents a Japan-only address format. This field will only appear on orders placed from Japan. + type: string + enum: + - kana + - kanji + nullable: true + example: kanji + addressee: + description: Display name on the address + type: string + example: Customerio Namen + line1: + type: string + example: 123 Example Rd + description: The first line of the address + line2: + type: string + example: '' + description: The second line of the address + city: + type: string + example: Examplesville + description: The city of the address. + state: + type: string + example: CA + description: The state or province of the address + country: + type: string + example: US + description: The country of the address + postalCode: + type: string + example: 90012 + description: The postal code of the address + shippingProvider: + type: string + description: | + A string editable by the API user to note the shipping provider used (not used by Webflow). + example: USPS + nullable: true + shippingTracking: + type: string + description: | + A string editable by the API user to note the shipping tracking number for the order (not used by Webflow). + example: RA401558525US + nullable: true + shippingTrackingURL: + type: string + format: uri + example: shipping.test.com/RA401558525US + nullable: true + customerInfo: + description: An object with the keys `fullName` and `email`. + properties: + fullName: + description: The full name of the Customer + type: string + example: Customerio Namen + email: + description: The Customer's email address + type: string + format: email + example: renning@webflow.com + purchasedItems: + type: array + description: An array of all things that the Customer purchased. + items: + description: An Item that was purchased + properties: + count: + type: number + example: 1 + description: Number of Item purchased. + rowTotal: + description: The total for the row + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + productId: + type: string + format: objectid + description: The unique identifier for the Product + readOnly: true + example: 5eb9fd05caef491eb9757183 + productName: + type: string + description: User-facing name of the Product + example: White Cup + productSlug: + type: string + description: Slug for the Product + example: white-cup + variantId: + type: string + description: Identifier for the Product Variant (SKU) + example: 5eb9fcace279761d8199790c + variantName: + type: string + description: User-facing name of the Product Variant (SKU) + example: Red + variantSlug: + type: string + description: Slug for the Product Variant (SKU) + example: red + variantSKU: + description: The user-defined custom SKU of the Product Variant (SKU) + type: string + example: red-medium + variantImage: + properties: + url: + description: The hosted location for the Variant's image + type: string + format: uri + example: 'https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png' + file: + type: object + properties: + size: + description: The image size in bytes + type: number + example: 21064 + originalFileName: + description: the original name of the image + type: string + example: cup.jpg + createdOn: + description: The creation timestamp of the image + type: string + format: date-time + example: 2018-12-03T22:06:15.761Z + contentType: + description: The MIME type of the image + format: mime-type + type: string + example: image/jpeg + width: + description: The image width in pixels + type: integer + example: 640 + height: + description: The image height in pixels + type: integer + example: 480 + variants: + description: Variants of the supplied image + type: array + items: + type: object + properties: + url: + description: The hosted location for the Variant's image + format: uri + type: string + example: 'https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-example.png' + originalFileName: + type: string + example: cup.jpg + size: + description: The image size in bytes + type: number + example: 12040 + width: + description: The image width in pixels + type: integer + example: 320 + height: + description: The image height in pixels + type: integer + example: 240 + variantPrice: + description: The price corresponding to the variant + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + weight: + type: number + example: 5 + default: null + nullable: true + description: 'The physical weight of the variant if provided, or null' + width: + type: number + example: 4 + nullable: true + default: null + description: 'The physical width of the variant if provided, or null' + height: + type: number + example: 7 + nullable: true + default: null + description: 'The physical height of the variant if provided, or null' + length: + type: number + example: 2 + nullable: true + default: null + description: 'The physical length of the variant if provided, or null' + purchasedItemsCount: + type: number + description: The sum of all 'count' fields in 'purchasedItems'. + example: 1 + stripeDetails: + description: 'An object with various Stripe IDs, useful for linking into the stripe dashboard.' + properties: + subscriptionId: + type: string + format: objectid + example: sub_1J6xwG2eZvKYlo2CXu9Zt0Tn + nullable: true + description: Stripe-generated identifier for the Subscription + paymentMethod: + type: string + format: objectid + example: pm_1J6xwG2eZvKYlo2CXu9Zt0Tn + nullable: true + description: Stripe-generated identifier for the PaymentMethod used + paymentIntentId: + type: string + format: objectid + example: pi_1J6xwG2eZvKYlo2CXu9Zt0Tn + nullable: true + description: 'Stripe-generated identifier for the PaymentIntent, or null' + customerId: + type: string + format: objectid + example: cus_E5ajeiWNHEtcAW + description: 'Stripe-generated customer identifier, or null' + nullable: true + chargeId: + type: string + format: objectid + description: 'Stripe-generated charge identifier, or null' + example: ch_1DdPYQKMjGA7k9mI2AKiBY6u + nullable: true + disputeId: + type: string + format: objectid + description: 'Stripe-generated dispute identifier, or null' + example: null + nullable: true + refundId: + type: string + format: objectid + description: 'Stripe-generated refund identifier, or null' + example: null + nullable: true + refundReason: + type: string + description: 'Stripe-generated refund reason, or null' + example: requested_by_customer + nullable: true + stripeCard: + description: | + Details on the card used to fulfill this order, if this order was finalized with Stripe. + properties: + last4: + type: string + description: The last 4 digits on the card as a string + example: '4242' + brand: + type: string + description: The card's brand (ie. credit card network) + example: Visa + enum: + - Visa + - American Express + - MasterCard + - Discover + - JCB + - Diners Club + - Unknown + ownerName: + type: string + description: The name on the card. + example: Customerio Namen + expires: + type: object + description: The card's expiration date. + properties: + year: + description: Year that the card expires + type: number + example: 2025 + month: + description: Month that the card expires + type: number + example: 12 + paypalDetails: + type: object + properties: + orderId: + type: string + description: PayPal order identifier + example: 1a2b3c4d5e6f7g8h9i0j + payerId: + type: string + description: PayPal payer identifier + example: 9k8j7i6h5g4f3e2d1c0b + captureId: + type: string + description: PayPal capture identifier + example: qwe123rty456uio789p + refundId: + type: string + description: PayPal refund identifier + example: abcde12345fghij67890 + refundReason: + type: string + description: PayPal-issued reason for the refund + example: Customer requested refund + disputeId: + type: string + description: PayPal dispute identifier + example: zxcvbnm987poiuytrewq + customData: + type: array + additionalProperties: true + description: | + An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value. + items: + type: object + metadata: + type: object + properties: + isBuyNow: + type: boolean + example: false + isCustomerDeleted: + type: boolean + description: | + A boolean indicating whether the customer has been deleted from the site. + example: false + isShippingRequired: + type: boolean + description: | + A boolean indicating whether the order contains one or more purchased items that require shipping. + example: false + hasDownloads: + type: boolean + description: | + A boolean indicating whether the order contains one or more purchased items that are downloadable. + example: false + paymentProcessor: + type: string + description: | + A string indicating the payment processor used for this order. + example: stripe + totals: + description: An object describing various pricing totals + properties: + subtotal: + description: The subtotal price + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + extras: + type: array + description: 'An array of extra items, includes discounts, shipping, and taxes.' + items: + description: 'Extra order items, includes discounts, shipping, and taxes.' + example: + type: tax + name: State Taxes + description: CA Taxes (6.25%) + price: + unit: USD + value: 344 + string: $3.44 + properties: + type: + type: string + example: tax + description: The type of extra item this is. + enum: + - discount + - discount-shipping + - shipping + - tax + name: + type: string + description: A human-readable (but English) name for this extra charge. + example: shipping + description: + type: string + description: A human-readable (but English) description of this extra charge. + example: Flat Rate + price: + description: The price for the item + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + total: + description: The total price + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + downloadFiles: + description: An array of downloadable file objects. + type: array + default: [] + items: + properties: + id: + type: string + description: The unique identifier for the downloadable file + example: 5e9a5eba75e0ac242e1b6f64 + name: + type: string + description: The user-facing name for the downloadable file + example: The modern web design process - Webflow Ebook.pdf + url: + type: string + format: uri + description: The hosted location for the downloadable file + example: 'https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa' + example: + orderId: fc7-128 + status: refunded + comment: "Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! \U0001F389 Please ensure the item is packed with extra bubble wrap for safe transit." + orderComment: "Please gift wrap with a personal note saying \"Happy Birthday, Ford! \U0001F389" + acceptedOn: '2024-03-29T21:29:21.555Z' + fulfilledOn: '2024-03-29T21:29:21.555Z' + refundedOn: '2024-04-08T18:25:04.238Z' + disputedOn: '2024-03-29T21:29:21.555Z' + disputeUpdatedOn: '2024-03-29T21:29:21.555Z' + disputeLastStatus: charge_refunded + customerPaid: + unit: USD + value: 11873 + string: $ 118.73 USD + netAmount: + unit: USD + value: 11262 + string: $ 112.62 USD + applicationFee: + unit: USD + value: 237 + string: $ 2.37 USD + allAddresses: + - type: billing + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + - type: shipping + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingAddress: + type: shipping + japanType: kanji + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingProvider: 'Shipping Company, Co.' + shippingTracking: tr00000000001 + shippingTrackingURL: 'https://www.shippingcompany.com/tracking/tr00000000001' + customerInfo: + fullName: Arthur Dent + email: arthur.dent@example.com + purchasedItems: + - count: 1 + rowTotal: + unit: USD + value: 5561 + string: $ 55.61 USD + productId: 66072fb61b89448912e26791 + productName: Luxurious Fresh Ball + productSlug: luxurious-fresh-ball + variantId: 66072fb71b89448912e2683f + variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic' + variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic + variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic + variantImage: + url: 'https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg' + file: null + variantPrice: + unit: USD + value: 5561 + string: $ 55.61 USD + weight: 11 + height: 70 + width: 82 + length: 9 + - count: 1 + rowTotal: + unit: USD + value: 5344 + string: $ 53.44 USD + productId: 66072fb61b89448912e26799 + productName: Recycled Steel Gloves + productSlug: recycled-steel-gloves + variantId: 66072fb91b89448912e26ab9 + variantName: 'Recycled Steel Gloves Electronic: Granite, Handcrafted: grey' + variantSlug: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantSKU: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantImage: + url: 'https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2671e_image2.jpeg' + file: null + variantPrice: + unit: USD + value: 5344 + string: $ 53.44 USD + weight: 38 + height: 85 + width: 76 + length: 40 + purchasedItemsCount: 2 + stripeDetails: + customerId: cus_PpRsNHwWdUoRKR + paymentMethod: pm_1OzmzBJYFi4lcbXWHKNdXU7j + chargeId: ch_3OzmzDJYFi4lcbXW1ndkkrH2 + disputeId: null + paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft + subscriptionId: null + refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk + refundReason: fraudulent + stripeCard: + last4: '4242' + brand: Visa + ownerName: Arthur Dent + expires: + month: 4 + year: 2024 + paypalDetails: null + customData: + - {} + metadata: + isBuyNow: false + hasDownloads: false + paymentProcessor: stripe + billingAddress: + type: billing + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + totals: + subtotal: + unit: USD + value: 10905 + string: $ 109.05 USD + extras: + - type: tax + name: State Taxes + description: NY Taxes (4.00%) + price: + unit: USD + value: 436 + string: $ 4.36 USD + - type: tax + name: City Taxes + description: NEW YORK Taxes (4.88%) + price: + unit: USD + value: 532 + string: $ 5.32 USD + - type: shipping + name: Flat + description: '' + price: + unit: USD + value: 0 + string: $ 0.00 USD + total: + unit: USD + value: 11873 + string: $ 118.73 USD + isCustomerDeleted: false + isShippingRequired: true + downloadFiles: + - id: 5e9a5eba75e0ac242e1b6f64 + name: New product guide + url: 'https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa' + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: 'Provided access token is valid, but is missing the required scopes.' + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: missing_scopes + message: 'OAuthForbidden: You are missing the following scopes - components:write' + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '409': + description: The site does not have ecommerce enabled. + x-logErrorCode: 409 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: ecommerce_not_enabled + message: Ecommerce is not yet initialized + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/collections/{collection_id}/items/{item_id}/inventory': + get: + x-fern-sdk-group-name: inventory + x-fern-sdk-method-name: list + security: + - OAuth2: + - 'ecommerce:read' + operationId: list-inventory + summary: List Inventory + description: | + List the current inventory levels for a particular SKU item. + + Required scope | `ecommerce:read` + tags: + - Inventory + parameters: + - name: collection_id + in: path + description: Unique identifier for a Collection + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + - name: item_id + in: path + description: Unique identifier for an Item + example: 580e64008c9a982ac9b8b754 + required: true + schema: + type: string + format: objectid + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: The availabile inventory for an item + properties: + id: + type: string + readOnly: true + format: objectid + description: Unique identifier for a SKU item + example: 5bfedb42bab0ad90fa7dad39 + quantity: + type: number + description: Total quantity of items remaining in inventory (if inventoryType is finite) + example: 100 + inventoryType: + type: string + description: infinite or finite + enum: + - infinite + - finite + example: finite + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: 'Provided access token is valid, but is missing the required scopes.' + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: missing_scopes + message: 'OAuthForbidden: You are missing the following scopes - components:write' + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '409': + description: The site does not have ecommerce enabled. + x-logErrorCode: 409 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: ecommerce_not_enabled + message: Ecommerce is not yet initialized + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + patch: + x-fern-sdk-group-name: inventory + x-fern-sdk-method-name: update + security: + - OAuth2: + - 'ecommerce:write' + operationId: update-inventory + summary: Update Item Inventory + description: | + Updates the current inventory levels for a particular SKU item. + + Updates may be given in one or two methods, absolutely or incrementally. + - Absolute updates are done by setting `quantity` directly. + - Incremental updates are by specifying the inventory delta in `updateQuantity` which is then added to the `quantity` stored on the server. + + Required scope | `ecommerce:write` + tags: + - Inventory + parameters: + - name: collection_id + in: path + description: Unique identifier for a Collection + example: 580e63fc8c9a982ac9b8b745 + required: true + schema: + type: string + format: objectid + - name: item_id + in: path + description: Unique identifier for an Item + example: 580e64008c9a982ac9b8b754 + required: true + schema: + type: string + format: objectid + requestBody: + description: The updated inventory + required: true + content: + application/json: + schema: + type: object + required: + - inventoryType + properties: + inventoryType: + type: string + description: infinite or finite + enum: + - infinite + - finite + example: finite + updateQuantity: + type: number + description: Adds this quantity to currently store quantity. Can be negative. + example: 1 + quantity: + type: number + description: Immediately sets quantity to this value. + example: 100 + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: The availabile inventory for an item + properties: + id: + type: string + readOnly: true + format: objectid + description: Unique identifier for a SKU item + example: 5bfedb42bab0ad90fa7dad39 + quantity: + type: number + description: Total quantity of items remaining in inventory (if inventoryType is finite) + example: 100 + inventoryType: + type: string + description: infinite or finite + enum: + - infinite + - finite + example: finite + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: 'Provided access token is valid, but is missing the required scopes.' + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: missing_scopes + message: 'OAuthForbidden: You are missing the following scopes - components:write' + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '409': + description: The site does not have ecommerce enabled. + x-logErrorCode: 409 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: ecommerce_not_enabled + message: Ecommerce is not yet initialized + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] + '/sites/{site_id}/ecommerce/settings': + get: + x-fern-sdk-group-name: ecommerce + x-fern-sdk-method-name: get-settings + security: + - OAuth2: + - 'ecommerce:read' + operationId: ecommerce-settings + summary: Get Ecommerce Settings + description: | + Retrieve ecommerce settings for a site. + + Required scope | `ecommerce:read` + tags: + - Settings + parameters: + - name: site_id + in: path + description: Unique identifier for a Site + example: 580e63e98c9a982ac9b8b741 + required: true + schema: + type: string + format: objectid + default: null + responses: + '200': + description: Request was successful + content: + application/json: + schema: + description: Ecommerce settings for a Webflow Site + properties: + siteId: + type: string + readOnly: true + description: The identifier of the Site + example: 5eb0b5583bf24e2d3a488969 + format: objectid + createdOn: + type: string + format: date-time + readOnly: true + description: Date that the Site was created on + example: 2018-10-04T15:21:02.042Z + defaultCurrency: + type: string + description: The three-letter ISO currency code for the Site + example: USD + '400': + description: Request body was incorrectly formatted. + x-logErrorCode: 400 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: bad_request + message: 'Bad Request: Request is malformed' + externalReference: null + details: [] + '401': + description: Provided access token is invalid or does not have access to requested resource + x-logErrorCode: 401 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + '403': + description: 'Provided access token is valid, but is missing the required scopes.' + x-logErrorCode: 403 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: missing_scopes + message: 'OAuthForbidden: You are missing the following scopes - components:write' + externalReference: null + details: [] + '404': + description: Requested resource not found + x-logErrorCode: 404 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: resource_not_found + message: 'Requested resource not found: The site cannot be found' + externalReference: null + details: [] + '409': + description: The site does not have ecommerce enabled. + x-logErrorCode: 409 + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: ecommerce_not_enabled + message: Ecommerce is not yet initialized + externalReference: null + details: [] + '429': + description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. + x-logErrorCode: 429 + headers: + X-RateLimit-Remaining: + description: Contains the number of available requests remaining in the current minute + schema: + type: number + X-RateLimit-Limit: + description: Contains your current overall rate limit per minute + schema: + type: number + content: + application/json: + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: too_many_requests + message: Too many requests + externalReference: null + details: [] + '500': + description: We had a problem with our server. Try again later. + content: + application/json: + x-logErrorCode: 500 + schema: + type: object + example: + code: not_authorized + message: Request not authorized + externalReference: null + details: [] + properties: + code: + type: string + description: Error code + example: not_authorized + enum: + - bad_request + - collection_not_found + - conflict + - duplicate_collection + - duplicate_user_email + - ecommerce_not_enabled + - forbidden + - forms_require_republish + - incompatible_webhook_filter + - internal_error + - invalid_auth_version + - invalid_credentials + - invalid_domain + - invalid_user_email + - item_not_found + - missing_scopes + - no_domains + - not_authorized + - not_enterprise_plan_site + - not_enterprise_plan_workspace + - order_not_found + - resource_not_found + - too_many_requests + - unsupported_version + - unsupported_webhook_trigger_type + - user_limit_reached + - user_not_found + - users_not_enabled + - validation_error + message: + type: string + description: Error message + example: Request not authorized + externalReference: + type: string + description: Link to more information + details: + type: array + description: Array of errors + items: + type: + - string + - object + example: + code: internal_error + message: An Internal Error occurred + externalReference: null + details: [] +components: + securitySchemes: + OAuth2: + type: oauth2 + flows: + authorizationCode: + scopes: + 'authorized_user:read': read details about the authorized user + 'assets:read': read assets on the site + 'assets:write': write assets on a site + 'cms:read': read collections and items for a site + 'cms:write': write to collections and items for a site + 'custom_code:read': read custom code on the site + 'custom_code:write': modify custom code on the site + 'ecommerce:read': read ecommerce data + 'ecommerce:write': edit ecommerce data + 'forms:read': read form data + 'forms:write': write form data + 'pages:read': read pages on the site + 'pages:write': write to pages on the site + 'components:read': read component data + 'components:write': write component data + 'sites:read': read sites on the site + 'sites:write': modify pages on the site + 'users:read': read users on the site + 'site_activity:read': read site activity logs + 'users:write': modify users on the site + 'workspace:read': read workspace resource data + 'workspace:write': write workspace resource data + 'site_config:read': read site configuration data + 'site_config:write': write site configuration data + authorizationUrl: 'https://webflow.com/oauth/authorize' + tokenUrl: 'https://api.webflow.com/oauth/token' + ApiKey: + type: http + scheme: bearer + x-fern-token-variable-name: access_token +webhooks: + form_submission: + post: + operationId: form_submission + summary: Form Submission + description: Information about a form that was subitted + tags: + - Forms + - Sites + requestBody: + description: The form data submitted + content: + application/json: + schema: + description: The Webhook payload for when a form is submitted + properties: + triggerType: + description: The type of event that triggered the request + type: string + example: form_submission + payload: + type: object + description: The payload of data sent from Webflow + properties: + name: + type: string + description: The name of the form + example: Sample Form + siteId: + type: string + format: objectid + description: The ID of the site that the form was submitted from + example: 62749158efef318abc8d5a0f + data: + type: object + description: The data submitted in the form + example: + name: Arthur Dent + email: arthur.dent@mostlyharmless.com + schema: + description: A list of fields from the submitted form + type: array + items: + - fieldName: + description: Form field name + type: string + example: First Name + fieldType: + description: Form field type + type: string + enum: + - FormTextInput + - FormTextarea + - FormCheckboxInput + - FormRadioInput + - FormFileUploadInput + example: FormTextInput + fieldElementId: + description: Element ID of the Form Field + type: string + format: UUID + example: 285042f7-d554-dc7f-102c-aa10d6a2d2c4 + submittedAt: + type: string + description: The timestamp the form was submitted + example: '2022-09-14T12:35:16.117Z' + id: + type: string + description: the ID of the event + example: 6321ca84df3949bfc6752327 + formId: + type: string + format: objectid + description: The ID of the form submission + example: 6321ca84df3949bfc6752327 + formElementId: + type: string + nullable: true + description: The uniqueID of the Form element + example: 4e038d2c-6a1e-4953-7be9-a59a2b453177 + example: + triggerType: form_submission + payload: + name: Contact Us + siteId: 65427cf400e02b306eaa049c + data: + First Name: Zaphod + Last Name: Beeblebrox + email: zaphod@heartofgold.ai + Phone Number: 15550000000 + schema: + - fieldName: First Name + fieldType: FormTextInput + fieldElementId: 285042f7-d554-dc7f-102c-aa10d6a2d2c4 + - fieldName: Last Name + fieldType: FormTextInput + fieldElementId: 285042f7-d554-dc7f-102c-aa10d6a2d2c5 + - fieldName: email + fieldType: FormTextInput + fieldElementId: 285042f7-d554-dc7f-102c-aa10d6a2d2c6 + - fieldName: Phone Number + fieldType: FormTextInput + fieldElementId: 285042f7-d554-dc7f-102c-aa10d6a2d2c7 + submittedAt: '2022-09-14T12:35:16.117Z' + id: 6321ca84df3949bfc6752327 + formId: 65429eadebe8a9f3a30f62d0 + formElementId: 4e038d2c-6a1e-4953-7be9-a59a2b453177 + site_publish: + post: + operationId: site_publish + summary: Site Publish + tags: + - Sites + requestBody: + description: The information about the site(s) published + content: + application/json: + schema: + description: The Webhook payload for when a Site is published + properties: + triggerType: + description: The type of event that triggered the request + type: string + example: site_publish + payload: + type: object + description: The payload of data sent from Webflow + properties: + siteId: + description: The ID of the site that was published + type: string + format: objectid + example: 62749158efef318abc8d5a0f + publishedOn: + description: The timestamp of the publish event + type: string + format: date-time + example: 2024-07-26T16:43:20.440Z + domains: + description: The domains that were published + type: array + items: + type: string + example: + - my-website.webflow.io + publishedBy: + type: object + description: The name andID of the user who published the site + example: + displayName: Zaphod BeebleBrox + example: + triggerType: site_publish + payload: + site: 62749158efef318abc8d5a0f + publishTime: 2024-07-26T16:43:20.440Z + domains: + - my-website.webflow.io + publishedBy: + displayName: Zaphod BeebleBrox + responses: + '200': + description: Return a 200 status to indicate that the data was received successfully + ecomm_new_order: + post: + operationId: ecomm_new_order + summary: New eComm Order + tags: + - Orders + requestBody: + description: The information about the new order + content: + application/json: + schema: + type: object + properties: + orderId: + type: string + readOnly: true + description: | + The order ID. Will usually be 6 hex characters, but can also be 9 + hex characters if the site has a very large number of Orders. + Randomly assigned. + example: dfa-3f1 + status: + type: string + example: unfulfilled + description: | + The status of the Order + enum: + - pending + - unfulfilled + - fulfilled + - disputed + - dispute-lost + - refunded + comment: + type: string + description: 'A comment string for this Order, which is editable by API user (not used by Webflow).' + example: "Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! \U0001F389 Please ensure the item is packed with extra bubble wrap for safe transit." + orderComment: + type: string + description: A comment that the customer left when making their Order + example: "Please gift wrap with a personal note saying \"Happy Birthday, Ford! \U0001F389" + acceptedOn: + type: string + format: date-time + nullable: true + description: The ISO8601 timestamp that an Order was placed. + example: 2018-12-03T22:06:15.761Z + fulfilledOn: + type: string + format: date-time + nullable: true + description: | + When an Order is marked as 'fulfilled', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + example: 2018-12-03T22:06:15.761Z + refundedOn: + type: string + format: date-time + nullable: true + description: 'When an Order is marked as ''refunded'', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.' + example: 2018-12-03T22:06:15.761Z + disputedOn: + type: string + format: date-time + nullable: true + description: | + When an Order is marked as 'disputed', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + example: 2018-12-03T22:06:15.761Z + disputeUpdatedOn: + type: string + format: date-time + nullable: true + description: | + If an Order has been disputed by the customer, this key will be set to the ISO8601 timestamp of the last update received. If the Order is not disputed, the key will be null. + example: 2018-12-03T22:06:15.761Z + disputeLastStatus: + type: string + description: | + If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status). + example: null + enum: + - warning_needs_response + - warning_under_review + - warning_closed + - needs_response + - under_review + - charge_refunded + - won + - lost + nullable: true + customerPaid: + description: The total paid by the customer + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + netAmount: + description: The net amount after application fees + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + applicationFee: + description: The application fee assessed by the platform + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + allAddresses: + description: All addresses provided by the customer during the ordering flow. + type: array + example: + - type: shipping + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + - type: billing + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + items: + description: A customer address + properties: + type: + description: The type of the order address (billing or shipping) + type: string + enum: + - shipping + - billing + example: shipping + japanType: + description: Represents a Japan-only address format. This field will only appear on orders placed from Japan. + type: string + enum: + - kana + - kanji + nullable: true + example: kanji + addressee: + description: Display name on the address + type: string + example: Customerio Namen + line1: + type: string + example: 123 Example Rd + description: The first line of the address + line2: + type: string + example: '' + description: The second line of the address + city: + type: string + example: Examplesville + description: The city of the address. + state: + type: string + example: CA + description: The state or province of the address + country: + type: string + example: US + description: The country of the address + postalCode: + type: string + example: 90012 + description: The postal code of the address + shippingAddress: + description: The shipping address + example: + type: shipping + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + properties: + type: + description: The type of the order address (billing or shipping) + type: string + enum: + - shipping + - billing + example: shipping + japanType: + description: Represents a Japan-only address format. This field will only appear on orders placed from Japan. + type: string + enum: + - kana + - kanji + nullable: true + example: kanji + addressee: + description: Display name on the address + type: string + example: Customerio Namen + line1: + type: string + example: 123 Example Rd + description: The first line of the address + line2: + type: string + example: '' + description: The second line of the address + city: + type: string + example: Examplesville + description: The city of the address. + state: + type: string + example: CA + description: The state or province of the address + country: + type: string + example: US + description: The country of the address + postalCode: + type: string + example: 90012 + description: The postal code of the address + billingAddress: + description: The billing address + example: + type: billing + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + properties: + type: + description: The type of the order address (billing or shipping) + type: string + enum: + - shipping + - billing + example: shipping + japanType: + description: Represents a Japan-only address format. This field will only appear on orders placed from Japan. + type: string + enum: + - kana + - kanji + nullable: true + example: kanji + addressee: + description: Display name on the address + type: string + example: Customerio Namen + line1: + type: string + example: 123 Example Rd + description: The first line of the address + line2: + type: string + example: '' + description: The second line of the address + city: + type: string + example: Examplesville + description: The city of the address. + state: + type: string + example: CA + description: The state or province of the address + country: + type: string + example: US + description: The country of the address + postalCode: + type: string + example: 90012 + description: The postal code of the address + shippingProvider: + type: string + description: | + A string editable by the API user to note the shipping provider used (not used by Webflow). + example: USPS + nullable: true + shippingTracking: + type: string + description: | + A string editable by the API user to note the shipping tracking number for the order (not used by Webflow). + example: RA401558525US + nullable: true + shippingTrackingURL: + type: string + format: uri + example: shipping.test.com/RA401558525US + nullable: true + customerInfo: + description: An object with the keys `fullName` and `email`. + properties: + fullName: + description: The full name of the Customer + type: string + example: Customerio Namen + email: + description: The Customer's email address + type: string + format: email + example: renning@webflow.com + purchasedItems: + type: array + description: An array of all things that the Customer purchased. + items: + description: An Item that was purchased + properties: + count: + type: number + example: 1 + description: Number of Item purchased. + rowTotal: + description: The total for the row + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + productId: + type: string + format: objectid + description: The unique identifier for the Product + readOnly: true + example: 5eb9fd05caef491eb9757183 + productName: + type: string + description: User-facing name of the Product + example: White Cup + productSlug: + type: string + description: Slug for the Product + example: white-cup + variantId: + type: string + description: Identifier for the Product Variant (SKU) + example: 5eb9fcace279761d8199790c + variantName: + type: string + description: User-facing name of the Product Variant (SKU) + example: Red + variantSlug: + type: string + description: Slug for the Product Variant (SKU) + example: red + variantSKU: + description: The user-defined custom SKU of the Product Variant (SKU) + type: string + example: red-medium + variantImage: + properties: + url: + description: The hosted location for the Variant's image + type: string + format: uri + example: 'https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png' + file: + type: object + properties: + size: + description: The image size in bytes + type: number + example: 21064 + originalFileName: + description: the original name of the image + type: string + example: cup.jpg + createdOn: + description: The creation timestamp of the image + type: string + format: date-time + example: 2018-12-03T22:06:15.761Z + contentType: + description: The MIME type of the image + format: mime-type + type: string + example: image/jpeg + width: + description: The image width in pixels + type: integer + example: 640 + height: + description: The image height in pixels + type: integer + example: 480 + variants: + description: Variants of the supplied image + type: array + items: + type: object + properties: + url: + description: The hosted location for the Variant's image + format: uri + type: string + example: 'https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-example.png' + originalFileName: + type: string + example: cup.jpg + size: + description: The image size in bytes + type: number + example: 12040 + width: + description: The image width in pixels + type: integer + example: 320 + height: + description: The image height in pixels + type: integer + example: 240 + variantPrice: + description: The price corresponding to the variant + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + weight: + type: number + example: 5 + default: null + nullable: true + description: 'The physical weight of the variant if provided, or null' + width: + type: number + example: 4 + nullable: true + default: null + description: 'The physical width of the variant if provided, or null' + height: + type: number + example: 7 + nullable: true + default: null + description: 'The physical height of the variant if provided, or null' + length: + type: number + example: 2 + nullable: true + default: null + description: 'The physical length of the variant if provided, or null' + purchasedItemsCount: + type: number + description: The sum of all 'count' fields in 'purchasedItems'. + example: 1 + stripeDetails: + description: 'An object with various Stripe IDs, useful for linking into the stripe dashboard.' + properties: + subscriptionId: + type: string + format: objectid + example: sub_1J6xwG2eZvKYlo2CXu9Zt0Tn + nullable: true + description: Stripe-generated identifier for the Subscription + paymentMethod: + type: string + format: objectid + example: pm_1J6xwG2eZvKYlo2CXu9Zt0Tn + nullable: true + description: Stripe-generated identifier for the PaymentMethod used + paymentIntentId: + type: string + format: objectid + example: pi_1J6xwG2eZvKYlo2CXu9Zt0Tn + nullable: true + description: 'Stripe-generated identifier for the PaymentIntent, or null' + customerId: + type: string + format: objectid + example: cus_E5ajeiWNHEtcAW + description: 'Stripe-generated customer identifier, or null' + nullable: true + chargeId: + type: string + format: objectid + description: 'Stripe-generated charge identifier, or null' + example: ch_1DdPYQKMjGA7k9mI2AKiBY6u + nullable: true + disputeId: + type: string + format: objectid + description: 'Stripe-generated dispute identifier, or null' + example: null + nullable: true + refundId: + type: string + format: objectid + description: 'Stripe-generated refund identifier, or null' + example: null + nullable: true + refundReason: + type: string + description: 'Stripe-generated refund reason, or null' + example: requested_by_customer + nullable: true + stripeCard: + description: | + Details on the card used to fulfill this order, if this order was finalized with Stripe. + properties: + last4: + type: string + description: The last 4 digits on the card as a string + example: '4242' + brand: + type: string + description: The card's brand (ie. credit card network) + example: Visa + enum: + - Visa + - American Express + - MasterCard + - Discover + - JCB + - Diners Club + - Unknown + ownerName: + type: string + description: The name on the card. + example: Customerio Namen + expires: + type: object + description: The card's expiration date. + properties: + year: + description: Year that the card expires + type: number + example: 2025 + month: + description: Month that the card expires + type: number + example: 12 + paypalDetails: + type: object + properties: + orderId: + type: string + description: PayPal order identifier + example: 1a2b3c4d5e6f7g8h9i0j + payerId: + type: string + description: PayPal payer identifier + example: 9k8j7i6h5g4f3e2d1c0b + captureId: + type: string + description: PayPal capture identifier + example: qwe123rty456uio789p + refundId: + type: string + description: PayPal refund identifier + example: abcde12345fghij67890 + refundReason: + type: string + description: PayPal-issued reason for the refund + example: Customer requested refund + disputeId: + type: string + description: PayPal dispute identifier + example: zxcvbnm987poiuytrewq + customData: + type: array + additionalProperties: true + description: | + An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value. + items: + type: object + metadata: + type: object + properties: + isBuyNow: + type: boolean + example: false + isCustomerDeleted: + type: boolean + description: | + A boolean indicating whether the customer has been deleted from the site. + example: false + isShippingRequired: + type: boolean + description: | + A boolean indicating whether the order contains one or more purchased items that require shipping. + example: false + hasDownloads: + type: boolean + description: | + A boolean indicating whether the order contains one or more purchased items that are downloadable. + example: false + paymentProcessor: + type: string + description: | + A string indicating the payment processor used for this order. + example: stripe + totals: + description: An object describing various pricing totals + properties: + subtotal: + description: The subtotal price + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + extras: + type: array + description: 'An array of extra items, includes discounts, shipping, and taxes.' + items: + description: 'Extra order items, includes discounts, shipping, and taxes.' + example: + type: tax + name: State Taxes + description: CA Taxes (6.25%) + price: + unit: USD + value: 344 + string: $3.44 + properties: + type: + type: string + example: tax + description: The type of extra item this is. + enum: + - discount + - discount-shipping + - shipping + - tax + name: + type: string + description: A human-readable (but English) name for this extra charge. + example: shipping + description: + type: string + description: A human-readable (but English) description of this extra charge. + example: Flat Rate + price: + description: The price for the item + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + total: + description: The total price + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + downloadFiles: + description: An array of downloadable file objects. + type: array + default: [] + items: + properties: + id: + type: string + description: The unique identifier for the downloadable file + example: 5e9a5eba75e0ac242e1b6f64 + name: + type: string + description: The user-facing name for the downloadable file + example: The modern web design process - Webflow Ebook.pdf + url: + type: string + format: uri + description: The hosted location for the downloadable file + example: 'https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa' + example: + orderId: fc7-128 + status: refunded + comment: "Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! \U0001F389 Please ensure the item is packed with extra bubble wrap for safe transit." + orderComment: "Please gift wrap with a personal note saying \"Happy Birthday, Ford! \U0001F389" + acceptedOn: '2024-03-29T21:29:21.555Z' + fulfilledOn: '2024-03-29T21:29:21.555Z' + refundedOn: '2024-04-08T18:25:04.238Z' + disputedOn: '2024-03-29T21:29:21.555Z' + disputeUpdatedOn: '2024-03-29T21:29:21.555Z' + disputeLastStatus: charge_refunded + customerPaid: + unit: USD + value: 11873 + string: $ 118.73 USD + netAmount: + unit: USD + value: 11262 + string: $ 112.62 USD + applicationFee: + unit: USD + value: 237 + string: $ 2.37 USD + allAddresses: + - type: billing + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + - type: shipping + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingAddress: + type: shipping + japanType: kanji + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingProvider: 'Shipping Company, Co.' + shippingTracking: tr00000000001 + shippingTrackingURL: 'https://www.shippingcompany.com/tracking/tr00000000001' + customerInfo: + fullName: Arthur Dent + email: arthur.dent@example.com + purchasedItems: + - count: 1 + rowTotal: + unit: USD + value: 5561 + string: $ 55.61 USD + productId: 66072fb61b89448912e26791 + productName: Luxurious Fresh Ball + productSlug: luxurious-fresh-ball + variantId: 66072fb71b89448912e2683f + variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic' + variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic + variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic + variantImage: + url: 'https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg' + file: null + variantPrice: + unit: USD + value: 5561 + string: $ 55.61 USD + weight: 11 + height: 70 + width: 82 + length: 9 + - count: 1 + rowTotal: + unit: USD + value: 5344 + string: $ 53.44 USD + productId: 66072fb61b89448912e26799 + productName: Recycled Steel Gloves + productSlug: recycled-steel-gloves + variantId: 66072fb91b89448912e26ab9 + variantName: 'Recycled Steel Gloves Electronic: Granite, Handcrafted: grey' + variantSlug: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantSKU: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantImage: + url: 'https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2671e_image2.jpeg' + file: null + variantPrice: + unit: USD + value: 5344 + string: $ 53.44 USD + weight: 38 + height: 85 + width: 76 + length: 40 + purchasedItemsCount: 2 + stripeDetails: + customerId: cus_PpRsNHwWdUoRKR + paymentMethod: pm_1OzmzBJYFi4lcbXWHKNdXU7j + chargeId: ch_3OzmzDJYFi4lcbXW1ndkkrH2 + disputeId: null + paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft + subscriptionId: null + refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk + refundReason: fraudulent + stripeCard: + last4: '4242' + brand: Visa + ownerName: Arthur Dent + expires: + month: 4 + year: 2024 + paypalDetails: null + customData: + - {} + metadata: + isBuyNow: false + hasDownloads: false + paymentProcessor: stripe + billingAddress: + type: billing + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + totals: + subtotal: + unit: USD + value: 10905 + string: $ 109.05 USD + extras: + - type: tax + name: State Taxes + description: NY Taxes (4.00%) + price: + unit: USD + value: 436 + string: $ 4.36 USD + - type: tax + name: City Taxes + description: NEW YORK Taxes (4.88%) + price: + unit: USD + value: 532 + string: $ 5.32 USD + - type: shipping + name: Flat + description: '' + price: + unit: USD + value: 0 + string: $ 0.00 USD + total: + unit: USD + value: 11873 + string: $ 118.73 USD + isCustomerDeleted: false + isShippingRequired: true + downloadFiles: + - id: 5e9a5eba75e0ac242e1b6f64 + name: New product guide + url: 'https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa' + responses: + '200': + description: Return a 200 status to indicate that the data was received successfully + ecomm_order_changed: + post: + operationId: ecomm_order_changed + summary: Updated eComm Order + tags: + - Orders + requestBody: + description: The information about the order that changed + content: + application/json: + schema: + type: object + properties: + orderId: + type: string + readOnly: true + description: | + The order ID. Will usually be 6 hex characters, but can also be 9 + hex characters if the site has a very large number of Orders. + Randomly assigned. + example: dfa-3f1 + status: + type: string + example: unfulfilled + description: | + The status of the Order + enum: + - pending + - unfulfilled + - fulfilled + - disputed + - dispute-lost + - refunded + comment: + type: string + description: 'A comment string for this Order, which is editable by API user (not used by Webflow).' + example: "Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! \U0001F389 Please ensure the item is packed with extra bubble wrap for safe transit." + orderComment: + type: string + description: A comment that the customer left when making their Order + example: "Please gift wrap with a personal note saying \"Happy Birthday, Ford! \U0001F389" + acceptedOn: + type: string + format: date-time + nullable: true + description: The ISO8601 timestamp that an Order was placed. + example: 2018-12-03T22:06:15.761Z + fulfilledOn: + type: string + format: date-time + nullable: true + description: | + When an Order is marked as 'fulfilled', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + example: 2018-12-03T22:06:15.761Z + refundedOn: + type: string + format: date-time + nullable: true + description: 'When an Order is marked as ''refunded'', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.' + example: 2018-12-03T22:06:15.761Z + disputedOn: + type: string + format: date-time + nullable: true + description: | + When an Order is marked as 'disputed', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. + example: 2018-12-03T22:06:15.761Z + disputeUpdatedOn: + type: string + format: date-time + nullable: true + description: | + If an Order has been disputed by the customer, this key will be set to the ISO8601 timestamp of the last update received. If the Order is not disputed, the key will be null. + example: 2018-12-03T22:06:15.761Z + disputeLastStatus: + type: string + description: | + If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status). + example: null + enum: + - warning_needs_response + - warning_under_review + - warning_closed + - needs_response + - under_review + - charge_refunded + - won + - lost + nullable: true + customerPaid: + description: The total paid by the customer + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + netAmount: + description: The net amount after application fees + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + applicationFee: + description: The application fee assessed by the platform + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + allAddresses: + description: All addresses provided by the customer during the ordering flow. + type: array + example: + - type: shipping + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + - type: billing + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + items: + description: A customer address + properties: + type: + description: The type of the order address (billing or shipping) + type: string + enum: + - shipping + - billing + example: shipping + japanType: + description: Represents a Japan-only address format. This field will only appear on orders placed from Japan. + type: string + enum: + - kana + - kanji + nullable: true + example: kanji + addressee: + description: Display name on the address + type: string + example: Customerio Namen + line1: + type: string + example: 123 Example Rd + description: The first line of the address + line2: + type: string + example: '' + description: The second line of the address + city: + type: string + example: Examplesville + description: The city of the address. + state: + type: string + example: CA + description: The state or province of the address + country: + type: string + example: US + description: The country of the address + postalCode: + type: string + example: 90012 + description: The postal code of the address + shippingAddress: + description: The shipping address + example: + type: shipping + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + properties: + type: + description: The type of the order address (billing or shipping) + type: string + enum: + - shipping + - billing + example: shipping + japanType: + description: Represents a Japan-only address format. This field will only appear on orders placed from Japan. + type: string + enum: + - kana + - kanji + nullable: true + example: kanji + addressee: + description: Display name on the address + type: string + example: Customerio Namen + line1: + type: string + example: 123 Example Rd + description: The first line of the address + line2: + type: string + example: '' + description: The second line of the address + city: + type: string + example: Examplesville + description: The city of the address. + state: + type: string + example: CA + description: The state or province of the address + country: + type: string + example: US + description: The country of the address + postalCode: + type: string + example: 90012 + description: The postal code of the address + billingAddress: + description: The billing address + example: + type: billing + japanType: kanji + addressee: Custmerio Namen + line1: 123 Example Road + line2: Unit 3 + city: Examplesville + state: CA + country: US + postalCode: 90012 + properties: + type: + description: The type of the order address (billing or shipping) + type: string + enum: + - shipping + - billing + example: shipping + japanType: + description: Represents a Japan-only address format. This field will only appear on orders placed from Japan. + type: string + enum: + - kana + - kanji + nullable: true + example: kanji + addressee: + description: Display name on the address + type: string + example: Customerio Namen + line1: + type: string + example: 123 Example Rd + description: The first line of the address + line2: + type: string + example: '' + description: The second line of the address + city: + type: string + example: Examplesville + description: The city of the address. + state: + type: string + example: CA + description: The state or province of the address + country: + type: string + example: US + description: The country of the address + postalCode: + type: string + example: 90012 + description: The postal code of the address + shippingProvider: + type: string + description: | + A string editable by the API user to note the shipping provider used (not used by Webflow). + example: USPS + nullable: true + shippingTracking: + type: string + description: | + A string editable by the API user to note the shipping tracking number for the order (not used by Webflow). + example: RA401558525US + nullable: true + shippingTrackingURL: + type: string + format: uri + example: shipping.test.com/RA401558525US + nullable: true + customerInfo: + description: An object with the keys `fullName` and `email`. + properties: + fullName: + description: The full name of the Customer + type: string + example: Customerio Namen + email: + description: The Customer's email address + type: string + format: email + example: renning@webflow.com + purchasedItems: + type: array + description: An array of all things that the Customer purchased. + items: + description: An Item that was purchased + properties: + count: + type: number + example: 1 + description: Number of Item purchased. + rowTotal: + description: The total for the row + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + productId: + type: string + format: objectid + description: The unique identifier for the Product + readOnly: true + example: 5eb9fd05caef491eb9757183 + productName: + type: string + description: User-facing name of the Product + example: White Cup + productSlug: + type: string + description: Slug for the Product + example: white-cup + variantId: + type: string + description: Identifier for the Product Variant (SKU) + example: 5eb9fcace279761d8199790c + variantName: + type: string + description: User-facing name of the Product Variant (SKU) + example: Red + variantSlug: + type: string + description: Slug for the Product Variant (SKU) + example: red + variantSKU: + description: The user-defined custom SKU of the Product Variant (SKU) + type: string + example: red-medium + variantImage: + properties: + url: + description: The hosted location for the Variant's image + type: string + format: uri + example: 'https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png' + file: + type: object + properties: + size: + description: The image size in bytes + type: number + example: 21064 + originalFileName: + description: the original name of the image + type: string + example: cup.jpg + createdOn: + description: The creation timestamp of the image + type: string + format: date-time + example: 2018-12-03T22:06:15.761Z + contentType: + description: The MIME type of the image + format: mime-type + type: string + example: image/jpeg + width: + description: The image width in pixels + type: integer + example: 640 + height: + description: The image height in pixels + type: integer + example: 480 + variants: + description: Variants of the supplied image + type: array + items: + type: object + properties: + url: + description: The hosted location for the Variant's image + format: uri + type: string + example: 'https://d1otoma47x30pg.cloudfront.net/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-example.png' + originalFileName: + type: string + example: cup.jpg + size: + description: The image size in bytes + type: number + example: 12040 + width: + description: The image width in pixels + type: integer + example: 320 + height: + description: The image height in pixels + type: integer + example: 240 + variantPrice: + description: The price corresponding to the variant + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + weight: + type: number + example: 5 + default: null + nullable: true + description: 'The physical weight of the variant if provided, or null' + width: + type: number + example: 4 + nullable: true + default: null + description: 'The physical width of the variant if provided, or null' + height: + type: number + example: 7 + nullable: true + default: null + description: 'The physical height of the variant if provided, or null' + length: + type: number + example: 2 + nullable: true + default: null + description: 'The physical length of the variant if provided, or null' + purchasedItemsCount: + type: number + description: The sum of all 'count' fields in 'purchasedItems'. + example: 1 + stripeDetails: + description: 'An object with various Stripe IDs, useful for linking into the stripe dashboard.' + properties: + subscriptionId: + type: string + format: objectid + example: sub_1J6xwG2eZvKYlo2CXu9Zt0Tn + nullable: true + description: Stripe-generated identifier for the Subscription + paymentMethod: + type: string + format: objectid + example: pm_1J6xwG2eZvKYlo2CXu9Zt0Tn + nullable: true + description: Stripe-generated identifier for the PaymentMethod used + paymentIntentId: + type: string + format: objectid + example: pi_1J6xwG2eZvKYlo2CXu9Zt0Tn + nullable: true + description: 'Stripe-generated identifier for the PaymentIntent, or null' + customerId: + type: string + format: objectid + example: cus_E5ajeiWNHEtcAW + description: 'Stripe-generated customer identifier, or null' + nullable: true + chargeId: + type: string + format: objectid + description: 'Stripe-generated charge identifier, or null' + example: ch_1DdPYQKMjGA7k9mI2AKiBY6u + nullable: true + disputeId: + type: string + format: objectid + description: 'Stripe-generated dispute identifier, or null' + example: null + nullable: true + refundId: + type: string + format: objectid + description: 'Stripe-generated refund identifier, or null' + example: null + nullable: true + refundReason: + type: string + description: 'Stripe-generated refund reason, or null' + example: requested_by_customer + nullable: true + stripeCard: + description: | + Details on the card used to fulfill this order, if this order was finalized with Stripe. + properties: + last4: + type: string + description: The last 4 digits on the card as a string + example: '4242' + brand: + type: string + description: The card's brand (ie. credit card network) + example: Visa + enum: + - Visa + - American Express + - MasterCard + - Discover + - JCB + - Diners Club + - Unknown + ownerName: + type: string + description: The name on the card. + example: Customerio Namen + expires: + type: object + description: The card's expiration date. + properties: + year: + description: Year that the card expires + type: number + example: 2025 + month: + description: Month that the card expires + type: number + example: 12 + paypalDetails: + type: object + properties: + orderId: + type: string + description: PayPal order identifier + example: 1a2b3c4d5e6f7g8h9i0j + payerId: + type: string + description: PayPal payer identifier + example: 9k8j7i6h5g4f3e2d1c0b + captureId: + type: string + description: PayPal capture identifier + example: qwe123rty456uio789p + refundId: + type: string + description: PayPal refund identifier + example: abcde12345fghij67890 + refundReason: + type: string + description: PayPal-issued reason for the refund + example: Customer requested refund + disputeId: + type: string + description: PayPal dispute identifier + example: zxcvbnm987poiuytrewq + customData: + type: array + additionalProperties: true + description: | + An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value. + items: + type: object + metadata: + type: object + properties: + isBuyNow: + type: boolean + example: false + isCustomerDeleted: + type: boolean + description: | + A boolean indicating whether the customer has been deleted from the site. + example: false + isShippingRequired: + type: boolean + description: | + A boolean indicating whether the order contains one or more purchased items that require shipping. + example: false + hasDownloads: + type: boolean + description: | + A boolean indicating whether the order contains one or more purchased items that are downloadable. + example: false + paymentProcessor: + type: string + description: | + A string indicating the payment processor used for this order. + example: stripe + totals: + description: An object describing various pricing totals + properties: + subtotal: + description: The subtotal price + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + extras: + type: array + description: 'An array of extra items, includes discounts, shipping, and taxes.' + items: + description: 'Extra order items, includes discounts, shipping, and taxes.' + example: + type: tax + name: State Taxes + description: CA Taxes (6.25%) + price: + unit: USD + value: 344 + string: $3.44 + properties: + type: + type: string + example: tax + description: The type of extra item this is. + enum: + - discount + - discount-shipping + - shipping + - tax + name: + type: string + description: A human-readable (but English) name for this extra charge. + example: shipping + description: + type: string + description: A human-readable (but English) description of this extra charge. + example: Flat Rate + price: + description: The price for the item + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + total: + description: The total price + properties: + unit: + description: The three-letter ISO currency code + type: string + example: USD + value: + description: The numeric value in the base unit of the currency + type: string + example: '5892' + string: + description: The user-facing string representation of the amount + type: string + example: $58.92 + downloadFiles: + description: An array of downloadable file objects. + type: array + default: [] + items: + properties: + id: + type: string + description: The unique identifier for the downloadable file + example: 5e9a5eba75e0ac242e1b6f64 + name: + type: string + description: The user-facing name for the downloadable file + example: The modern web design process - Webflow Ebook.pdf + url: + type: string + format: uri + description: The hosted location for the downloadable file + example: 'https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa' + example: + orderId: fc7-128 + status: refunded + comment: "Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! \U0001F389 Please ensure the item is packed with extra bubble wrap for safe transit." + orderComment: "Please gift wrap with a personal note saying \"Happy Birthday, Ford! \U0001F389" + acceptedOn: '2024-03-29T21:29:21.555Z' + fulfilledOn: '2024-03-29T21:29:21.555Z' + refundedOn: '2024-04-08T18:25:04.238Z' + disputedOn: '2024-03-29T21:29:21.555Z' + disputeUpdatedOn: '2024-03-29T21:29:21.555Z' + disputeLastStatus: charge_refunded + customerPaid: + unit: USD + value: 11873 + string: $ 118.73 USD + netAmount: + unit: USD + value: 11262 + string: $ 112.62 USD + applicationFee: + unit: USD + value: 237 + string: $ 2.37 USD + allAddresses: + - type: billing + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + - type: shipping + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingAddress: + type: shipping + japanType: kanji + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + shippingProvider: 'Shipping Company, Co.' + shippingTracking: tr00000000001 + shippingTrackingURL: 'https://www.shippingcompany.com/tracking/tr00000000001' + customerInfo: + fullName: Arthur Dent + email: arthur.dent@example.com + purchasedItems: + - count: 1 + rowTotal: + unit: USD + value: 5561 + string: $ 55.61 USD + productId: 66072fb61b89448912e26791 + productName: Luxurious Fresh Ball + productSlug: luxurious-fresh-ball + variantId: 66072fb71b89448912e2683f + variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic' + variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic + variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic + variantImage: + url: 'https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg' + file: null + variantPrice: + unit: USD + value: 5561 + string: $ 55.61 USD + weight: 11 + height: 70 + width: 82 + length: 9 + - count: 1 + rowTotal: + unit: USD + value: 5344 + string: $ 53.44 USD + productId: 66072fb61b89448912e26799 + productName: Recycled Steel Gloves + productSlug: recycled-steel-gloves + variantId: 66072fb91b89448912e26ab9 + variantName: 'Recycled Steel Gloves Electronic: Granite, Handcrafted: grey' + variantSlug: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantSKU: recycled-steel-gloves-electronic-granite-handcrafted-grey + variantImage: + url: 'https://d1otoma47x30pg.cloudfront.net/66072f39417a2a35b2589cc7/66072fb51b89448912e2671e_image2.jpeg' + file: null + variantPrice: + unit: USD + value: 5344 + string: $ 53.44 USD + weight: 38 + height: 85 + width: 76 + length: 40 + purchasedItemsCount: 2 + stripeDetails: + customerId: cus_PpRsNHwWdUoRKR + paymentMethod: pm_1OzmzBJYFi4lcbXWHKNdXU7j + chargeId: ch_3OzmzDJYFi4lcbXW1ndkkrH2 + disputeId: null + paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft + subscriptionId: null + refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk + refundReason: fraudulent + stripeCard: + last4: '4242' + brand: Visa + ownerName: Arthur Dent + expires: + month: 4 + year: 2024 + paypalDetails: null + customData: + - {} + metadata: + isBuyNow: false + hasDownloads: false + paymentProcessor: stripe + billingAddress: + type: billing + addressee: Arthur Dent + line1: 20 W 34th St + line2: Empire State Building + city: New York + state: New York + country: US + postalCode: '10118' + totals: + subtotal: + unit: USD + value: 10905 + string: $ 109.05 USD + extras: + - type: tax + name: State Taxes + description: NY Taxes (4.00%) + price: + unit: USD + value: 436 + string: $ 4.36 USD + - type: tax + name: City Taxes + description: NEW YORK Taxes (4.88%) + price: + unit: USD + value: 532 + string: $ 5.32 USD + - type: shipping + name: Flat + description: '' + price: + unit: USD + value: 0 + string: $ 0.00 USD + total: + unit: USD + value: 11873 + string: $ 118.73 USD + isCustomerDeleted: false + isShippingRequired: true + downloadFiles: + - id: 5e9a5eba75e0ac242e1b6f64 + name: New product guide + url: 'https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa' + responses: + '200': + description: Return a 200 status to indicate that the data was received successfully + ecomm_inventory_changed: + post: + operationId: ecomm_inventory_changed + summary: Updated eComm Inventory + tags: + - Inventory + requestBody: + description: The information about the inventory item that changed + content: + application/json: + schema: + description: The availabile inventory for an item + properties: + id: + type: string + readOnly: true + format: objectid + description: Unique identifier for a SKU item + example: 5bfedb42bab0ad90fa7dad39 + quantity: + type: number + description: Total quantity of items remaining in inventory (if inventoryType is finite) + example: 100 + inventoryType: + type: string + description: infinite or finite + enum: + - infinite + - finite + example: finite + responses: + '200': + description: Return a 200 status to indicate that the data was received successfully + user_account_added: + post: + operationId: user_account_added + summary: New User Added + tags: + - Users + requestBody: + description: The information about the user account that was added + content: + application/json: + schema: + properties: + triggerType: + type: string + description: The type of event that triggered the request + enum: + - user_account_added + - user_account_updated + - user_account_deleted + payload: + description: | + The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + example: + id: 6287ec36a841b25637c663df + isEmailVerified: true + lastUpdated: '2022-05-20T13:46:12.093Z' + invitedOn: '2022-05-20T13:46:12.093Z' + createdOn: '2022-05-20T13:46:12.093Z' + lastLogin: '2022-05-20T13:46:12.093Z' + status: verified + accessGroups: + - slug: webflowers + type: admin + data: + name: Arthur Dent + email: arthur.dent@mostlyharmless.com + accept-privacy: true + accept-communications: true + favoriteDrink: Tea + currentPlanet: Somewhere in the vicinity of Betelgeuse + properties: + id: + readOnly: true + type: string + format: objectid + example: 6287ec36a841b25637c663df + description: Unique identifier for the User + isEmailVerified: + readOnly: true + type: boolean + description: Shows whether the user has verified their email address + lastUpdated: + readOnly: true + type: string + format: date-time + description: The timestamp the user was updated + example: '2016-10-24T19:41:29.156Z' + invitedOn: + readOnly: true + type: string + format: date-time + description: The timestamp the user was invited + example: '2016-10-24T19:41:29.156Z' + createdOn: + readOnly: true + type: string + format: date-time + description: The timestamp the user was created + example: '2016-10-24T19:41:29.156Z' + lastLogin: + readOnly: true + type: string + format: date-time + description: The timestamp the user was logged in + example: '2016-10-24T19:41:29.156Z' + status: + readOnly: true + type: string + description: The status of the user + enum: + - invited + - verified + - unverified + accessGroups: + type: array + description: Access groups the user belongs to + example: + - slug: webflowers + type: admin + - slug: platinum + type: ecommerce + items: + type: object + description: Access group slugs and types + properties: + slug: + type: string + description: Access group identifier for APIs + type: + type: string + enum: + - admin + - ecommerce + description: | + The type of access group based on how it was assigned to the user. + * `admin` - Assigned to the user via API or in the designer + * `ecommerce` - Assigned to the user via an ecommerce purchase + data: + type: object + description: An object containing the User's basic info and custom fields + properties: + data: + type: object + properties: + name: + type: string + description: | + The name of the user + email: + type: string + description: | + The email address of the user + accept-privacy: + type: boolean + description: | + Boolean indicating if the user has accepted the privacy policy + accept-communications: + type: boolean + description: | + Boolean indicating if the user has accepted to receive communications + additionalProperties: + description: Custom user attributes + type: string + responses: + '200': + description: Return a 200 status to indicate that the data was received successfully + user_account_updated: + post: + operationId: user_account_updated + summary: Account Updated + tags: + - Users + requestBody: + description: The information about the user account that was updated + content: + application/json: + schema: + properties: + triggerType: + type: string + description: The type of event that triggered the request + enum: + - user_account_added + - user_account_updated + - user_account_deleted + payload: + description: | + The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + example: + id: 6287ec36a841b25637c663df + isEmailVerified: true + lastUpdated: '2022-05-20T13:46:12.093Z' + invitedOn: '2022-05-20T13:46:12.093Z' + createdOn: '2022-05-20T13:46:12.093Z' + lastLogin: '2022-05-20T13:46:12.093Z' + status: verified + accessGroups: + - slug: webflowers + type: admin + data: + name: Arthur Dent + email: arthur.dent@mostlyharmless.com + accept-privacy: true + accept-communications: true + favoriteDrink: Tea + currentPlanet: Somewhere in the vicinity of Betelgeuse + properties: + id: + readOnly: true + type: string + format: objectid + example: 6287ec36a841b25637c663df + description: Unique identifier for the User + isEmailVerified: + readOnly: true + type: boolean + description: Shows whether the user has verified their email address + lastUpdated: + readOnly: true + type: string + format: date-time + description: The timestamp the user was updated + example: '2016-10-24T19:41:29.156Z' + invitedOn: + readOnly: true + type: string + format: date-time + description: The timestamp the user was invited + example: '2016-10-24T19:41:29.156Z' + createdOn: + readOnly: true + type: string + format: date-time + description: The timestamp the user was created + example: '2016-10-24T19:41:29.156Z' + lastLogin: + readOnly: true + type: string + format: date-time + description: The timestamp the user was logged in + example: '2016-10-24T19:41:29.156Z' + status: + readOnly: true + type: string + description: The status of the user + enum: + - invited + - verified + - unverified + accessGroups: + type: array + description: Access groups the user belongs to + example: + - slug: webflowers + type: admin + - slug: platinum + type: ecommerce + items: + type: object + description: Access group slugs and types + properties: + slug: + type: string + description: Access group identifier for APIs + type: + type: string + enum: + - admin + - ecommerce + description: | + The type of access group based on how it was assigned to the user. + * `admin` - Assigned to the user via API or in the designer + * `ecommerce` - Assigned to the user via an ecommerce purchase + data: + type: object + description: An object containing the User's basic info and custom fields + properties: + data: + type: object + properties: + name: + type: string + description: | + The name of the user + email: + type: string + description: | + The email address of the user + accept-privacy: + type: boolean + description: | + Boolean indicating if the user has accepted the privacy policy + accept-communications: + type: boolean + description: | + Boolean indicating if the user has accepted to receive communications + additionalProperties: + description: Custom user attributes + type: string + responses: + '200': + description: Return a 200 status to indicate that the data was received successfully + user_account_deleted: + post: + operationId: user_account_deleted + summary: Account Deleted + tags: + - Users + requestBody: + description: The information about the user account that was deleted + content: + application/json: + schema: + properties: + triggerType: + type: string + description: The type of event that triggered the request + enum: + - user_account_added + - user_account_updated + - user_account_deleted + payload: + description: | + The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + example: + id: 6287ec36a841b25637c663df + isEmailVerified: true + lastUpdated: '2022-05-20T13:46:12.093Z' + invitedOn: '2022-05-20T13:46:12.093Z' + createdOn: '2022-05-20T13:46:12.093Z' + lastLogin: '2022-05-20T13:46:12.093Z' + status: verified + accessGroups: + - slug: webflowers + type: admin + data: + name: Arthur Dent + email: arthur.dent@mostlyharmless.com + accept-privacy: true + accept-communications: true + favoriteDrink: Tea + currentPlanet: Somewhere in the vicinity of Betelgeuse + properties: + id: + readOnly: true + type: string + format: objectid + example: 6287ec36a841b25637c663df + description: Unique identifier for the User + isEmailVerified: + readOnly: true + type: boolean + description: Shows whether the user has verified their email address + lastUpdated: + readOnly: true + type: string + format: date-time + description: The timestamp the user was updated + example: '2016-10-24T19:41:29.156Z' + invitedOn: + readOnly: true + type: string + format: date-time + description: The timestamp the user was invited + example: '2016-10-24T19:41:29.156Z' + createdOn: + readOnly: true + type: string + format: date-time + description: The timestamp the user was created + example: '2016-10-24T19:41:29.156Z' + lastLogin: + readOnly: true + type: string + format: date-time + description: The timestamp the user was logged in + example: '2016-10-24T19:41:29.156Z' + status: + readOnly: true + type: string + description: The status of the user + enum: + - invited + - verified + - unverified + accessGroups: + type: array + description: Access groups the user belongs to + example: + - slug: webflowers + type: admin + - slug: platinum + type: ecommerce + items: + type: object + description: Access group slugs and types + properties: + slug: + type: string + description: Access group identifier for APIs + type: + type: string + enum: + - admin + - ecommerce + description: | + The type of access group based on how it was assigned to the user. + * `admin` - Assigned to the user via API or in the designer + * `ecommerce` - Assigned to the user via an ecommerce purchase + data: + type: object + description: An object containing the User's basic info and custom fields + properties: + data: + type: object + properties: + name: + type: string + description: | + The name of the user + email: + type: string + description: | + The email address of the user + accept-privacy: + type: boolean + description: | + Boolean indicating if the user has accepted the privacy policy + accept-communications: + type: boolean + description: | + Boolean indicating if the user has accepted to receive communications + additionalProperties: + description: Custom user attributes + type: string + responses: + '200': + description: Return a 200 status to indicate that the data was received successfully + collection_item_created: + post: + operationId: collection_item_created + summary: Item Created + tags: + - Items + - Collections + requestBody: + description: The information about the collection item that was created + content: + application/json: + schema: + description: | + The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + required: + - id + properties: + id: + type: string + readOnly: true + example: 580e64008c9a982ac9b8b754 + description: Unique identifier for the Item + cmsLocaleId: + type: string + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last published + lastUpdated: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last updated + createdOn: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was created + isArchived: + type: boolean + default: false + description: Boolean determining if the Item is set to archived + isDraft: + type: boolean + default: false + description: Boolean determining if the Item is set to draft + fieldData: + type: object + properties: + name: + type: string + description: Name of the Item + slug: + type: string + description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.' + additionalProperties: true + example: + date: 2022-11-18T00:00:00.000Z + featured: false + name: My new item + slug: my-new-item + color: '#db4b68' + example: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + date: '2022-11-18T00:00:00.000Z' + featured: true + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + color: '#db4b68' + responses: + '200': + description: Return a 200 status to indicate that the data was received successfully + collection_item_changed: + post: + operationId: collection_item_changed + summary: Item Updated + tags: + - Items + - Collections + requestBody: + description: The information about the collection item that was changed + content: + application/json: + schema: + description: | + The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + required: + - id + properties: + id: + type: string + readOnly: true + example: 580e64008c9a982ac9b8b754 + description: Unique identifier for the Item + cmsLocaleId: + type: string + example: 653ad57de882f528b32e810e + description: Identifier for the locale of the CMS item + lastPublished: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last published + lastUpdated: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was last updated + createdOn: + type: string + format: date-string + readOnly: true + example: 2023-03-17T18:47:35.560Z + description: The date the item was created + isArchived: + type: boolean + default: false + description: Boolean determining if the Item is set to archived + isDraft: + type: boolean + default: false + description: Boolean determining if the Item is set to draft + fieldData: + type: object + properties: + name: + type: string + description: Name of the Item + slug: + type: string + description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.' + additionalProperties: true + example: + date: 2022-11-18T00:00:00.000Z + featured: false + name: My new item + slug: my-new-item + color: '#db4b68' + example: + id: 42b720ef280c7a7a3be8cabe + cmsLocaleId: 653ad57de882f528b32e810e + lastPublished: '2022-11-29T16:22:43.159Z' + lastUpdated: '2022-11-17T17:19:43.282Z' + createdOn: '2022-11-17T17:11:57.148Z' + isArchived: false + isDraft: false + fieldData: + date: '2022-11-18T00:00:00.000Z' + featured: true + name: Pan Galactic Gargle Blaster Recipe + slug: pan-galactic-gargle-blaster + color: '#db4b68' + responses: + '200': + description: Return a 200 status to indicate that the data was received successfully + collection_item_deleted: + post: + operationId: collection_item_deleted + summary: Item Deleted + tags: + - Items + - Collections + requestBody: + description: The results from deleting the collection item + content: + application/json: + schema: + properties: + triggerType: + description: The type of event that triggered the request + type: string + example: collection_item_deleted + payload: + description: The payload of data sent from Webflow + type: object + properties: + id: + type: string + format: objectid + description: The ID of the collection item that was deleted + example: 6321ca84df3949bfc6752327 + siteId: + type: string + format: objectid + description: The ID of the site + example: 65427cf400e02b306eaa049c + workspaceId: + type: string + format: objectid + description: The ID of the workspace + example: 625860a7a6c16d624927122f + collectionId: + type: string + format: objectid + description: The ID of the collection + example: 664243617fcc8b464b23c4ee + example: + triggerType: 'collection_item_deleted,' + payload: + id: 66424365e972c886137a1cf1 + siteId: 65427cf400e02b306eaa049c + workspaceId: 625860a7a6c16d624927122f + collectionId: 664243617fcc8b464b23c4ee + responses: + '200': + description: Return a 200 status to indicate that the data was received successfully + collection_item_unpublished: + post: + operationId: collection_item_unpublished + summary: Item Unpublished + tags: + - Items + - Collections + requestBody: + description: The results from unpublishing the collection item + content: + application/json: + schema: + properties: + triggerType: + description: The type of event that triggered the request + type: string + example: collection_item_deleted + payload: + description: The payload of data sent from Webflow + type: object + properties: + id: + type: string + format: objectid + description: The ID of the collection item that was deleted + example: 6321ca84df3949bfc6752327 + siteId: + type: string + format: objectid + description: The ID of the site + example: 65427cf400e02b306eaa049c + workspaceId: + type: string + format: objectid + description: The ID of the workspace + example: 625860a7a6c16d624927122f + collectionId: + type: string + format: objectid + description: The ID of the collection + example: 664243617fcc8b464b23c4ee + example: + triggerType: 'collection_item_deleted,' + payload: + id: 66424365e972c886137a1cf1 + siteId: 65427cf400e02b306eaa049c + workspaceId: 625860a7a6c16d624927122f + collectionId: 664243617fcc8b464b23c4ee + responses: + '200': + description: Return a 200 status to indicate that the data was received successfully + page_created: + post: + operationId: page_created + summary: Page Created + tags: + - Pages + requestBody: + description: Details about the page that was created + content: + application/json: + schema: + description: The Webhook payload for when a Page is created + type: object + properties: + triggerType: + type: string + description: The type of event that triggered the request + example: page_created + payload: + type: object + description: The payload of data sent from Webflow + properties: + siteId: + type: string + format: objectid + example: 562ac0395358780a1f5e6fbd + pageId: + type: string + format: objectid + example: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6 + pageTitle: + type: string + example: My New Page + createdOn: + type: string + format: date-time + example: '2022-12-07T16:51:37.571Z' + example: + triggerType: page_created + payload: + siteId: 65427cf400e02b306eaa049c + pageId: 66a3cfb276641574f5d58311 + pageTitle: Heart of Gold Specs + createdOn: 2024-07-26T16:32:50.903Z + responses: + '200': + description: Return a 200 status to indicate that the data was received successfully + page_metadata_updated: + post: + operationId: page_metadata_updated + summary: Page Metadata Updated + tags: + - Pages + requestBody: + description: Details about the page that was updated + content: + application/json: + schema: + description: The Webhook payload for when a Page's metadata is updated + type: object + properties: + triggerType: + description: The type of event that triggered the request + type: string + example: page_metadata_updated + payload: + description: The payload of data sent from Webflow + type: object + properties: + siteId: + type: string + format: objectid + example: 562ac0395358780a1f5e6fbd + pageId: + type: string + format: objectid + example: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6 + pageTitle: + type: string + example: My New Page + lastUpdated: + type: string + format: date-time + example: '2022-12-07T16:51:37.571Z' + example: + triggerType: page_metadata_updated + payload: + siteId: 65427cf400e02b306eaa049c + pageId: 66a3cfb276641574f5d58311 + pageTitle: Heart of Gold Specs + lastUpdated: 2024-07-26T16:32:50.903Z + responses: + '200': + description: Return a 200 status to indicate that the data was received successfully + page_deleted: + post: + operationId: page_deleted + summary: Page Deleted + tags: + - Pages + requestBody: + description: Details about the page that was deleted + content: + application/json: + schema: + description: The Webhook payload for when a Page is deleted + type: object + properties: + triggerType: + description: The type of event that triggered the request + type: string + payload: + description: The payload of data sent from Webflow + type: object + properties: + siteId: + type: string + format: objectid + example: 562ac0395358780a1f5e6fbd + pageId: + type: string + format: objectid + example: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6 + pageTitle: + type: string + example: My New Page + deletedOn: + type: string + format: date-time + example: '2022-12-07T16:51:37.571Z' + example: + triggerType: page_deleted + payload: + siteId: 65427cf400e02b306eaa049c + pageId: 66a3cfb276641574f5d58311 + pageTitle: Heart of Gold Specs + deletedOn: 2024-07-26T16:32:50.903Z + responses: + '200': + description: Return a 200 status to indicate that the data was received successfully diff --git a/package.json b/package.json index 49bb2c64..c5ca00e9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "webflow-api", - "version": "2.4.2", + "version": "2.5.0", "private": false, "repository": "https://github.com/webflow/js-webflow-api", "main": "./index.js", diff --git a/reference.md b/reference.md index 8104e058..45411048 100644 --- a/reference.md +++ b/reference.md @@ -2,7 +2,7 @@ ## Token -
client.token.authorizedBy() -> Webflow.AuthorizedUser +
client.token.authorizedBy() -> Webflow.TokenAuthorizedByResponse
@@ -14,7 +14,9 @@
-Information about the Authorized User

Required Scope | `authorized_user:read` +Information about the Authorized User + +Required Scope | `authorized_user:read`
@@ -57,7 +59,7 @@ await client.token.authorizedBy();
-
client.token.introspect() -> Webflow.Authorization +
client.token.introspect() -> Webflow.TokenIntrospectResponse
@@ -69,7 +71,8 @@ await client.token.authorizedBy();
-Information about the authorization token
Access to this endpoint requires a bearer token from a Data Client App.
+Information about the authorization token +Access to this endpoint requires a bearer token from a []>Data Client App](/data/docs/getting-started-data-clients).
@@ -114,7 +117,7 @@ await client.token.introspect(); ## Sites -
client.sites.list() -> Webflow.Sites +
client.sites.list() -> Webflow.SitesListResponse
@@ -126,7 +129,9 @@ await client.token.introspect();
-List of all sites the provided access token is able to access.

Required scope | `sites:read` +List of all sites the provided access token is able to access. + +Required scope | `sites:read`
@@ -169,7 +174,7 @@ await client.sites.list();
-
client.sites.get(siteId) -> Webflow.Site +
client.sites.get(siteId) -> Webflow.SitesGetResponse
@@ -181,7 +186,9 @@ await client.sites.list();
-Get a site by site id

Required scope | `sites:read` +Get details of a site. + +Required scope | `sites:read`
@@ -232,7 +239,7 @@ await client.sites.get("580e63e98c9a982ac9b8b741");
-
client.sites.getCustomDomain(siteId) -> Webflow.Domains +
client.sites.getCustomDomain(siteId) -> Webflow.SitesGetCustomDomainResponse
@@ -244,7 +251,9 @@ await client.sites.get("580e63e98c9a982ac9b8b741");
-Get a list of all custom domains related to site.

Required scope | `sites:read` +Get a list of all custom domains related to site. + +Required scope | `sites:read`
@@ -307,7 +316,11 @@ await client.sites.getCustomDomain("580e63e98c9a982ac9b8b741");
-Publish a site to one more more domains.

Required scope | `sites:write`

📘

Endpoint-specific rate limit

This endpoint has a limit of one successful publish queue per minute.

+Publishes a site to one or more more domains. + +This endpoint has a limit of one successful publish queue per minute. + +Required scope | `sites:write`
@@ -368,7 +381,7 @@ await client.sites.publish("580e63e98c9a982ac9b8b741"); ## Collections -
client.collections.list(siteId) -> Webflow.CollectionList +
client.collections.list(siteId) -> Webflow.CollectionsListResponse
@@ -380,7 +393,9 @@ await client.sites.publish("580e63e98c9a982ac9b8b741");
-List of all Collections within a Site.

Required scope | `cms:read` +List of all Collections within a Site. + +Required scope | `cms:read`
@@ -431,7 +446,7 @@ await client.collections.list("580e63e98c9a982ac9b8b741");
-
client.collections.create(siteId, { ...params }) -> Webflow.Collection +
client.collections.create(siteId, { ...params }) -> Webflow.CollectionsCreateResponse
@@ -443,7 +458,9 @@ await client.collections.list("580e63e98c9a982ac9b8b741");
-Create a Collection for a site.

Required scope | `cms:write` +Create a Collection for a site. + +Required scope | `cms:write`
@@ -506,7 +523,7 @@ await client.collections.create("580e63e98c9a982ac9b8b741", {
-
client.collections.get(collectionId) -> Webflow.Collection +
client.collections.get(collectionId) -> Webflow.CollectionsGetResponse
@@ -518,7 +535,9 @@ await client.collections.create("580e63e98c9a982ac9b8b741", {
-Get the full details of a collection from its ID.

Required scope | `cms:read` +Get the full details of a collection from its ID. + +Required scope | `cms:read`
@@ -569,7 +588,7 @@ await client.collections.get("580e63fc8c9a982ac9b8b745");
-
client.collections.deleteCollection(collectionId) -> void +
client.collections.delete(collectionId) -> void
@@ -581,70 +600,9 @@ await client.collections.get("580e63fc8c9a982ac9b8b745");
-Delete a collection using its ID.

Required scope | `cms:write` - -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```typescript -await client.collections.deleteCollection("580e63fc8c9a982ac9b8b745"); -``` - -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**collectionId:** `string` — Unique identifier for a Collection - -
-
- -
-
- -**requestOptions:** `Collections.RequestOptions` - -
-
-
-
- -
-
-
- -
client.collections.delete(collectionId, fieldId) -> void -
-
- -#### 📝 Description - -
-
- -
-
+Delete a collection using its ID. -Delete a custom field in a collection. This endpoint does not currently support bulk deletion.

Required scope | `cms:write` +Required scope | `cms:write`
@@ -660,7 +618,7 @@ Delete a custom field in a collection. This endpoint does not currently support
```typescript -await client.collections.delete("580e63fc8c9a982ac9b8b745", "580e63fc8c9a982ac9b8b745"); +await client.collections.delete("580e63fc8c9a982ac9b8b745"); ```
@@ -684,14 +642,6 @@ await client.collections.delete("580e63fc8c9a982ac9b8b745", "580e63fc8c9a982ac9b
-**fieldId:** `string` — Unique identifier for a Field in a collection - -
-
- -
-
- **requestOptions:** `Collections.RequestOptions`
@@ -705,7 +655,7 @@ await client.collections.delete("580e63fc8c9a982ac9b8b745", "580e63fc8c9a982ac9b ## Pages -
client.pages.list(siteId, { ...params }) -> Webflow.PageList +
client.pages.list(siteId, { ...params }) -> Webflow.PagesListResponse
@@ -717,7 +667,9 @@ await client.collections.delete("580e63fc8c9a982ac9b8b745", "580e63fc8c9a982ac9b
-List of all pages for a site

Required scope | `pages:read` +List of all pages for a site. + +Required scope | `pages:read`
@@ -734,7 +686,7 @@ List of all pages for a site

Required scope | `pages:read` ```typescript await client.pages.list("580e63e98c9a982ac9b8b741", { - locale: "65427cf400e02b306eaa04a0", + localeId: "65427cf400e02b306eaa04a0", }); ``` @@ -778,7 +730,7 @@ await client.pages.list("580e63e98c9a982ac9b8b741", {
-
client.pages.getMetadata(pageId, { ...params }) -> Webflow.Page +
client.pages.getMetadata(pageId, { ...params }) -> Webflow.PagesGetMetadataResponse
@@ -790,7 +742,9 @@ await client.pages.list("580e63e98c9a982ac9b8b741", {
-Get metadata information for a single page

Required scope | `pages:read` +Get metadata information for a single page. + +Required scope | `pages:read`
@@ -807,7 +761,7 @@ Get metadata information for a single page

Required scope | `pages:re ```typescript await client.pages.getMetadata("63c720f9347c2139b248e552", { - locale: "65427cf400e02b306eaa04a0", + localeId: "65427cf400e02b306eaa04a0", }); ``` @@ -851,7 +805,7 @@ await client.pages.getMetadata("63c720f9347c2139b248e552", {
-
client.pages.updatePageSettings(pageId, { ...params }) -> Webflow.Page +
client.pages.updatePageSettings(pageId, { ...params }) -> Webflow.UpdatePageSettingsResponse
@@ -863,7 +817,9 @@ await client.pages.getMetadata("63c720f9347c2139b248e552", {
-Update Page-level metadata, including SEO and Open Graph fields.

Required scope | `pages:write` +Update Page-level metadata, including SEO and Open Graph fields. + +Required scope | `pages:write`
@@ -880,32 +836,17 @@ Update Page-level metadata, including SEO and Open Graph fields.

Requ ```typescript await client.pages.updatePageSettings("63c720f9347c2139b248e552", { - locale: "65427cf400e02b306eaa04a0", - body: { - id: "6596da6045e56dee495bcbba", - siteId: "6258612d1ee792848f805dcf", - title: "Guide to the Galaxy", - slug: "guide-to-the-galaxy", - parentId: "6419db964a9c435aa3af6251", - collectionId: "6390c49774a71f12831a08e3", - createdOn: "2024-03-11T10:42:00Z", - lastUpdated: "2024-03-11T10:42:42Z", - archived: false, - draft: false, - canBranch: true, - seo: { - title: "The Ultimate Hitchhiker's Guide to the Galaxy", - description: - "Everything you need to know about the galaxy, from avoiding Vogon poetry to the importance of towels.", - }, - openGraph: { - title: "Explore the Cosmos with The Ultimate Guide", - titleCopied: false, - description: "Dive deep into the mysteries of the universe with your guide to everything galactic.", - descriptionCopied: false, - }, - localeId: "653fd9af6a07fc9cfd7a5e57", - publishedPath: "/en-us/guide-to-the-galaxy", + localeId: "65427cf400e02b306eaa04a0", + title: "Guide to the Galaxy", + slug: "guide-to-the-galaxy", + seo: { + title: "The Ultimate Hitchhiker's Guide to the Galaxy", + description: + "Everything you need to know about the galaxy, from avoiding Vogon poetry to the importance of towels.", + }, + openGraph: { + title: "Explore the Cosmos with The Ultimate Guide", + description: "Dive deep into the mysteries of the universe with your guide to everything galactic.", }, }); ``` @@ -950,7 +891,7 @@ await client.pages.updatePageSettings("63c720f9347c2139b248e552", {
-
client.pages.getContent(pageId, { ...params }) -> Webflow.Dom +
client.pages.getContent(pageId, { ...params }) -> Webflow.PagesGetContentResponse
@@ -962,7 +903,11 @@ await client.pages.updatePageSettings("63c720f9347c2139b248e552", {
-Get static content from a static page.
If you do not provide a Locale ID in your request, the response will return any content that can be localized from the Primary locale

Required scope | `pages:read` +Get static content from a static page. + +If you do not provide a Locale ID in your request, the response will return any content that can be localized from the Primary locale. + +Required scope | `pages:read`
@@ -979,7 +924,7 @@ Get static content from a static page.
If you do not provide a Locale ID i ```typescript await client.pages.getContent("63c720f9347c2139b248e552", { - locale: "65427cf400e02b306eaa04a0", + localeId: "65427cf400e02b306eaa04a0", }); ``` @@ -1056,19 +1001,19 @@ Required scope | `pages:write` ```typescript await client.pages.updateStaticContent("63c720f9347c2139b248e552", { - locale: "locale", + localeId: "65427cf400e02b306eaa04a0", nodes: [ { nodeId: "a245c12d-995b-55ee-5ec7-aa36a6cad623", - text: "

The Hitchhiker's Guide to the Galaxy

", + text: "

The Hitchhiker\u2019s Guide to the Galaxy

", }, { nodeId: "a245c12d-995b-55ee-5ec7-aa36a6cad627", - text: "

Don't Panic!

Always know where your towel is.

", + text: "

Don\u2019t Panic!

Always know where your towel is.

", }, { nodeId: "a245c12d-995b-55ee-5ec7-aa36a6cad629", - text: "Marvin, the Paranoid Android", + text: 'Marvin, the Paranoid Android', }, ], }); @@ -1095,7 +1040,7 @@ await client.pages.updateStaticContent("63c720f9347c2139b248e552", {
-**request:** `Webflow.DomWrite` +**request:** `Webflow.UpdateStaticContentRequest`
@@ -1116,7 +1061,7 @@ await client.pages.updateStaticContent("63c720f9347c2139b248e552", { ## Scripts -
client.scripts.list(siteId) -> Webflow.RegisteredScriptList +
client.scripts.list(siteId) -> Webflow.ScriptsListResponse
@@ -1128,7 +1073,16 @@ await client.pages.updateStaticContent("63c720f9347c2139b248e552", {
-List of scripts registered to a Site.

In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate `custom_code` endpoints. Additionally, Scripts can be remotely hosted, or registered as inline snippets.
Access to this endpoint requires a bearer token from a Data Client App.
Required scope | `custom_code:read` +List of scripts registered to a Site. + +In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered +to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate +`custom_code` endpoints. +Additionally, Scripts can be remotely hosted, or registered as inline snippets. + +
Access to this endpoint requires a bearer token from a Data Client App.
+ +Required scope | `custom_code:read`
@@ -1179,7 +1133,7 @@ await client.scripts.list("580e63e98c9a982ac9b8b741");
-
client.scripts.registerHosted(siteId, { ...params }) -> Webflow.CustomCodeHostedResponse +
client.scripts.registerHosted(siteId, { ...params }) -> Webflow.ScriptsRegisterHostedResponse
@@ -1191,7 +1145,16 @@ await client.scripts.list("580e63e98c9a982ac9b8b741");
-Add a script to a Site's Custom Code registry.

In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate `custom_code` endpoints. Additionally, Scripts can be remotely hosted, or registered as inline snippets.
Access to this endpoint requires a bearer token from a Data Client App.


Required scope | `custom_code:write` +Add a script to a Site's Custom Code registry. + +In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered +to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate +`custom_code` endpoints. +Additionally, Scripts can be remotely hosted, or registered as inline snippets. + +
Access to this endpoint requires a bearer token from a Data Client App.
+ +Required scope | `custom_code:write`
@@ -1208,10 +1171,11 @@ Add a script to a Site's Custom Code registry.

In order to use the Cu ```typescript await client.scripts.registerHosted("580e63e98c9a982ac9b8b741", { - hostedLocation: "hostedLocation", - integrityHash: "integrityHash", - version: "version", - displayName: "displayName", + hostedLocation: "https://cdn.jsdelivr.net/.../cmsslider.js", + integrityHash: "sha384-J+YlJ8v0gpaRoKH7SbFbEmxOZlAxLiwNjfSsBhDooGa5roXlPPpXbEevck4J7YZ+", + canCopy: true, + version: "1.0.0", + displayName: "CMS Slider", }); ``` @@ -1236,7 +1200,7 @@ await client.scripts.registerHosted("580e63e98c9a982ac9b8b741", {
-**request:** `Webflow.CustomCodeHostedRequest` +**request:** `Webflow.ScriptsRegisterHostedRequest`
@@ -1255,7 +1219,7 @@ await client.scripts.registerHosted("580e63e98c9a982ac9b8b741", {
-
client.scripts.registerInline(siteId, { ...params }) -> Webflow.CustomCodeInlineResponse +
client.scripts.registerInline(siteId, { ...params }) -> Webflow.ScriptsRegisterInlineResponse
@@ -1267,7 +1231,15 @@ await client.scripts.registerHosted("580e63e98c9a982ac9b8b741", {
-Add a script to a Site's Custom Code registry. Inline scripts can be between 1 and 2000 characters.

In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate `custom_code` endpoints.

Access to this endpoint requires a bearer token from a Data Client App.
Required scope | `custom_code:write` +Add a script to a Site's Custom Code registry. Inline scripts can be between 1 and 2000 characters. + +In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered +to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate +`custom_code` endpoints. + +
Access to this endpoint requires a bearer token from a Data Client App.
+ +Required scope | `custom_code:write`
@@ -1311,7 +1283,7 @@ await client.scripts.registerInline("580e63e98c9a982ac9b8b741", {
-**request:** `Webflow.CustomCodeInlineRequest` +**request:** `Webflow.ScriptsRegisterInlineRequest`
@@ -1332,7 +1304,7 @@ await client.scripts.registerInline("580e63e98c9a982ac9b8b741", { ## Assets -
client.assets.list(siteId) -> Webflow.Assets +
client.assets.list(siteId) -> Webflow.AssetsListResponse
@@ -1344,7 +1316,9 @@ await client.scripts.registerInline("580e63e98c9a982ac9b8b741", {
-List assets for a given site

Required scope | `assets:read` +List assets for a given site + +Required scope | `assets:read`
@@ -1395,7 +1369,7 @@ await client.assets.list("580e63e98c9a982ac9b8b741");
-
client.assets.create(siteId, { ...params }) -> Webflow.AssetUpload +
client.assets.create(siteId, { ...params }) -> Webflow.AssetsCreateResponse
@@ -1407,7 +1381,13 @@ await client.assets.list("580e63e98c9a982ac9b8b741");
-Create a new asset entry.

This endpoint generates a response with the following information: `uploadUrl` and `uploadDetails`. You can use these two properties to [upload the file to Amazon s3 by making a POST](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html) request to the `uploadUrl` with the `uploadDetails` object as your header information in the request.

Required scope | `assets:write` +Create a new asset entry. + +This endpoint generates a response with the following information: `uploadUrl` and `uploadDetails`. +You can use these two properties to [upload the file to Amazon s3 by making a POST](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html) +request to the `uploadUrl` with the `uploadDetails` object as your header information in the request. + +Required scope | `assets:write`
@@ -1469,7 +1449,7 @@ await client.assets.create("580e63e98c9a982ac9b8b741", {
-
client.assets.get(assetId) -> Webflow.Asset +
client.assets.get(assetId) -> Webflow.AssetsGetResponse
@@ -1481,7 +1461,9 @@ await client.assets.create("580e63e98c9a982ac9b8b741", {
-Get an Asset

Required scope | `assets:read` +Get an Asset + +Required scope | `assets:read`
@@ -1546,6 +1528,8 @@ await client.assets.get("580e63fc8c9a982ac9b8b745"); Delete an Asset +Required Scope: `assets: write` +
@@ -1595,7 +1579,7 @@ await client.assets.delete("580e63fc8c9a982ac9b8b745");
-
client.assets.update(assetId, { ...params }) -> Webflow.Asset +
client.assets.update(assetId, { ...params }) -> Webflow.AssetsUpdateResponse
@@ -1607,7 +1591,9 @@ await client.assets.delete("580e63fc8c9a982ac9b8b745");
-Update an Asset

Required scope | `assets:write` +Update an Asset + +Required scope | `assets:write`
@@ -1623,9 +1609,7 @@ Update an Asset

Required scope | `assets:write`
```typescript -await client.assets.update("580e63fc8c9a982ac9b8b745", { - displayName: "bulldoze.png", -}); +await client.assets.update("580e63fc8c9a982ac9b8b745"); ```
@@ -1668,7 +1652,7 @@ await client.assets.update("580e63fc8c9a982ac9b8b745", {
-
client.assets.listFolders(siteId) -> Webflow.AssetFolderList +
client.assets.listFolders(siteId) -> Webflow.AssetsListFoldersResponse
@@ -1680,7 +1664,9 @@ await client.assets.update("580e63fc8c9a982ac9b8b745", {
-List Asset Folders within a given site

Required scope | `assets:read` +List Asset Folders within a given site + +Required scope | `assets:read`
@@ -1731,7 +1717,7 @@ await client.assets.listFolders("580e63e98c9a982ac9b8b741");
-
client.assets.createFolder(siteId, { ...params }) -> Webflow.AssetFolder +
client.assets.createFolder(siteId, { ...params }) -> Webflow.AssetsCreateFolderResponse
@@ -1743,7 +1729,9 @@ await client.assets.listFolders("580e63e98c9a982ac9b8b741");
-Create an Asset Folder within a given site

Required scope | `assets:write` +Create an Asset Folder within a given site + +Required scope | `assets:write`
@@ -1804,7 +1792,7 @@ await client.assets.createFolder("580e63e98c9a982ac9b8b741", {
-
client.assets.getFolder(assetFolderId) -> Webflow.AssetFolder +
client.assets.getFolder(assetFolderId) -> Webflow.AssetsGetFolderResponse
@@ -1816,7 +1804,9 @@ await client.assets.createFolder("580e63e98c9a982ac9b8b741", {
-Get details about a specific Asset Folder

Required scope | `assets:read` +Get details about a specific Asset Folder + +Required scope | `assets:read`
@@ -1869,7 +1859,7 @@ await client.assets.getFolder("6390c49774a71f0e3c1a08ee"); ## Webhooks -
client.webhooks.list(siteId) -> Webflow.WebhookList +
client.webhooks.list(siteId) -> Webflow.WebhooksListResponse
@@ -1881,7 +1871,9 @@ await client.assets.getFolder("6390c49774a71f0e3c1a08ee");
-List all App-created Webhooks registered for a given site

Required scope | `sites:read` +List all App-created Webhooks registered for a given site + +Required scope | `sites:read`
@@ -1932,7 +1924,7 @@ await client.webhooks.list("580e63e98c9a982ac9b8b741");
-
client.webhooks.create(siteId, { ...params }) -> Webflow.Webhook +
client.webhooks.create(siteId, { ...params }) -> Webflow.WebhooksCreateResponse
@@ -1944,8 +1936,12 @@ await client.webhooks.list("580e63e98c9a982ac9b8b741");
-Create a new Webhook, to be notified when Webflow resources change. Limit of 75 registrations per `triggerType`, per site.
Access to this endpoint requires a bearer token from a Data Client App.
Required scope | `sites:write` +Create a new Webhook. + +Limit of 75 registrations per `triggerType`, per site. +
Access to this endpoint requires a bearer token from a Data Client App.
+Required scope | `sites:write`
@@ -1961,13 +1957,8 @@ Create a new Webhook, to be notified when Webflow resources change. Limit of 75 ```typescript await client.webhooks.create("580e63e98c9a982ac9b8b741", { - id: "582266e0cd48de0f0e3c6d8b", triggerType: "form_submission", url: "https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f", - workspaceId: "4f4e46fd476ea8c507000001", - siteId: "562ac0395358780a1f5e6fbd", - lastTriggered: "2023-02-08T23:59:28Z", - createdOn: "2022-11-08T23:59:28Z", }); ``` @@ -1992,7 +1983,7 @@ await client.webhooks.create("580e63e98c9a982ac9b8b741", {
-**request:** `Webflow.Webhook` +**request:** `Webflow.WebhooksCreateRequest`
@@ -2011,7 +2002,7 @@ await client.webhooks.create("580e63e98c9a982ac9b8b741", {
-
client.webhooks.get(webhookId) -> Webflow.Webhook +
client.webhooks.get(webhookId) -> Webflow.WebhooksGetResponse
@@ -2025,6 +2016,8 @@ await client.webhooks.create("580e63e98c9a982ac9b8b741", { Get a specific Webhook instance +Required scope: `sites:read` +
@@ -2088,6 +2081,8 @@ await client.webhooks.get("580e64008c9a982ac9b8b754"); Remove a Webhook +Required scope: `sites:read` +
@@ -2139,7 +2134,7 @@ await client.webhooks.delete("580e64008c9a982ac9b8b754"); ## Forms -
client.forms.list(siteId, { ...params }) -> Webflow.FormList +
client.forms.list(siteId, { ...params }) -> Webflow.FormsListResponse
@@ -2151,7 +2146,9 @@ await client.webhooks.delete("580e64008c9a982ac9b8b754");
-List forms for a given site

Required scope | `forms:read` +List forms for a given site. + +Required scope | `forms:read`
@@ -2210,7 +2207,7 @@ await client.forms.list("580e63e98c9a982ac9b8b741");
-
client.forms.get(formId) -> Webflow.Form +
client.forms.get(formId) -> Webflow.FormsGetResponse
@@ -2222,7 +2219,9 @@ await client.forms.list("580e63e98c9a982ac9b8b741");
-Get information about a given form

Required scope | `forms:read` +Get information about a given form. + +Required scope | `forms:read`
@@ -2273,7 +2272,7 @@ await client.forms.get("580e63e98c9a982ac9b8b741");
-
client.forms.listSubmissions(formId, { ...params }) -> Webflow.FormSubmissionList +
client.forms.listSubmissions(formId, { ...params }) -> Webflow.FormsListSubmissionsResponse
@@ -2285,7 +2284,9 @@ await client.forms.get("580e63e98c9a982ac9b8b741");
-List form submissions for a given form

Required scope | `forms:read` +List form submissions for a given form + +Required scope | `forms:read`
@@ -2344,7 +2345,7 @@ await client.forms.listSubmissions("580e63e98c9a982ac9b8b741");
-
client.forms.getSubmission(formSubmissionId) -> Webflow.FormSubmission +
client.forms.getSubmission(formSubmissionId) -> Webflow.FormsGetSubmissionResponse
@@ -2356,7 +2357,9 @@ await client.forms.listSubmissions("580e63e98c9a982ac9b8b741");
-Get information about a given form submission

Required scope | `forms:read` +Get information about a given form submissio. + +Required scope | `forms:read`
@@ -2407,7 +2410,7 @@ await client.forms.getSubmission("580e63e98c9a982ac9b8b741");
-
client.forms.updateSubmission(formSubmissionId, { ...params }) -> Webflow.FormSubmission +
client.forms.updateSubmission(formSubmissionId, { ...params }) -> Webflow.FormsUpdateSubmissionResponse
@@ -2419,7 +2422,9 @@ await client.forms.getSubmission("580e63e98c9a982ac9b8b741");
-Update hidden fields on a form submission

Required scope | `forms:write` +Update hidden fields on a form submission + +Required scope | `forms:write`
@@ -2480,7 +2485,7 @@ await client.forms.updateSubmission("580e63e98c9a982ac9b8b741"); ## Users -
client.users.list(siteId, { ...params }) -> Webflow.UserList +
client.users.list(siteId, { ...params }) -> Webflow.UsersListResponse
@@ -2492,7 +2497,9 @@ await client.forms.updateSubmission("580e63e98c9a982ac9b8b741");
-Get a list of users for a site

Required scope | `users:read` +Get a list of users for a site + +Required scope | `users:read`
@@ -2551,7 +2558,7 @@ await client.users.list("580e63e98c9a982ac9b8b741");
-
client.users.get(siteId, userId) -> Webflow.User +
client.users.get(siteId, userId) -> Webflow.UsersGetResponse
@@ -2563,7 +2570,9 @@ await client.users.list("580e63e98c9a982ac9b8b741");
-Get a User by ID

Required scope | `users:read` +Get a User by ID + +Required scope | `users:read`
@@ -2634,7 +2643,9 @@ await client.users.get("580e63e98c9a982ac9b8b741", "580e63e98c9a982ac9b8b741");
-Delete a User by ID

Required scope | `users:write` +Delete a User by ID + +Required scope | `users:write`
@@ -2693,7 +2704,7 @@ await client.users.delete("580e63e98c9a982ac9b8b741", "580e63e98c9a982ac9b8b741"
-
client.users.update(siteId, userId, { ...params }) -> Webflow.User +
client.users.update(siteId, userId, { ...params }) -> Webflow.UsersUpdateResponse
@@ -2705,9 +2716,13 @@ await client.users.delete("580e63e98c9a982ac9b8b741", "580e63e98c9a982ac9b8b741"
-Update a User by ID

Required scope | `users:write` +Update a User by ID + +Required scope | `users:write` + +The email and password +fields cannot be updated using this endpoint -
@@ -2780,7 +2795,7 @@ await client.users.update("580e63e98c9a982ac9b8b741", "580e63e98c9a982ac9b8b741"
-
client.users.invite(siteId, { ...params }) -> Webflow.User +
client.users.invite(siteId, { ...params }) -> Webflow.UsersInviteResponse
@@ -2792,7 +2807,11 @@ await client.users.update("580e63e98c9a982ac9b8b741", "580e63e98c9a982ac9b8b741"
-Create and invite a user with an email address. The user will be sent and invite via email, which they will need to accept in order to join paid Access Groups.

Required scope | `users:write` +Create and invite a user with an email address. + +The user will be sent and invite via email, which they will need to accept in order to join paid any paid access group. + +Required scope | `users:write`
@@ -2856,7 +2875,7 @@ await client.users.invite("580e63e98c9a982ac9b8b741", { ## AccessGroups -
client.accessGroups.list(siteId, { ...params }) -> Webflow.AccessGroupList +
client.accessGroups.list(siteId, { ...params }) -> Webflow.AccessGroupsListResponse
@@ -2868,7 +2887,9 @@ await client.users.invite("580e63e98c9a982ac9b8b741", {
-Get a list of access groups for a site

Required scope | `users:read` +Get a list of access groups for a site + +Required scope | `users:read`
@@ -2929,7 +2950,7 @@ await client.accessGroups.list("580e63e98c9a982ac9b8b741"); ## Products -
client.products.list(siteId, { ...params }) -> Webflow.ProductAndSkUsList +
client.products.list(siteId, { ...params }) -> Webflow.ProductsListResponse
@@ -2941,7 +2962,10 @@ await client.accessGroups.list("580e63e98c9a982ac9b8b741");
-Retrieve all products for a site. Use `limit` and `offset` to page through all products with subsequent requests. All SKUs for each product will also be fetched and returned. The `limit`, `offset` and `total` values represent Products only and do not include any SKUs. +Retrieve all products for a site. + +Use `limit` and `offset` to page through all products with subsequent requests. All SKUs for each product +will also be fetched and returned. The `limit`, `offset` and `total` values represent Products only and do not include any SKUs. Required scope | `ecommerce:read` @@ -3002,7 +3026,7 @@ await client.products.list("580e63e98c9a982ac9b8b741");
-
client.products.create(siteId, { ...params }) -> Webflow.ProductAndSkUs +
client.products.create(siteId, { ...params }) -> Webflow.ProductsCreateResponse
@@ -3014,13 +3038,19 @@ await client.products.list("580e63e98c9a982ac9b8b741");
-Creating a new Product involves creating both a Product and a SKU, since a Product Item has to have, at minimum, a single SKU. +Create a new product and SKU. -In order to create a Product with multiple SKUs - for example a T-shirt in sizes small, medium and large - you'll need to create `sku-properties`. In our T-shirt example, a single `sku-property` would be Color. Within that property, we'll need to list out the various colors a T-shirt could be as an array of `enum` values: `royal-blue`, `crimson-red`, and `forrest-green`. +When you create a product, you will always create a SKU, since a Product Item must have, at minimum, a single SKU. -Once, you've created a Product and its `sku-properties` with `enum` values, you can create your default SKU, which will automatically be a combination of the first `sku-properties` you've created. In our example, the default SKU will be a Royal Blue T-Shirt, because our first `enum` of our Color `sku-property` is Royal Blue. After you've created your product, you can create additional SKUs using the Create SKU endpoint +To create a Product with multiple SKUs - for example a T-shirt in sizes small, medium and large: -Upon creation, the default product type will be `Advanced`. The product type is used to determine which Product and SKU fields are shown to users in the `Designer` and the `Editor`. Setting it to `Advanced` ensures that all Product and SKU fields will be shown. +- Create parameters in `sku-properties`, also known as [product options and variants.](https://help.webflow.com/hc/en-us/articles/33961334531347-Create-product-options-and-variants). +- A single `sku-property` would be `color`. Within the `color` property, list the various colors of T-shirts as an array of `enum` values: `royal-blue`, `crimson-red`, and `forrest-green`. +- Once, you've created a Product and its `sku-properties` with `enum` values, Webflow will create a **default SKU**, which will automatically be a combination of the first `sku-properties` you've created. +- In our example, the default SKU will be a Royal Blue T-Shirt, because our first `enum` of our Color `sku-property` is Royal Blue. +- After you've created your product, you can create additional SKUs using the [Create SKU endpoint.](/data/reference/ecommerce/products-sk-us/create-sku) + +Upon creation, the default product type will be `Advanced`, which ensures all Product and SKU fields will be shown to users in the Designer. Required scope | `ecommerce:write` @@ -3062,7 +3092,7 @@ await client.products.create("580e63e98c9a982ac9b8b741");
-**request:** `Webflow.ProductSkuCreate` +**request:** `Webflow.ProductsCreateRequest`
@@ -3081,7 +3111,7 @@ await client.products.create("580e63e98c9a982ac9b8b741");
-
client.products.get(siteId, productId) -> Webflow.ProductAndSkUs +
client.products.get(siteId, productId) -> Webflow.ProductsGetResponse
@@ -3093,7 +3123,8 @@ await client.products.create("580e63e98c9a982ac9b8b741");
-Retrieve a single product by its id. All of its SKUs will also be retrieved. +Retrieve a single product by its ID. All of its SKUs will also be +retrieved. Required scope | `ecommerce:read` @@ -3154,7 +3185,7 @@ await client.products.get("580e63e98c9a982ac9b8b741", "580e63fc8c9a982ac9b8b745"
-
client.products.update(siteId, productId, { ...params }) -> Webflow.Product +
client.products.update(siteId, productId, { ...params }) -> Webflow.ProductsUpdateResponse
@@ -3166,7 +3197,9 @@ await client.products.get("580e63e98c9a982ac9b8b741", "580e63fc8c9a982ac9b8b745"
-Updating an existing Product will set the product type to `Advanced`. The product type is used to determine which Product and SKU fields are shown to users in the `Designer` and the `Editor`. Setting it to `Advanced` ensures that all Product and SKU fields will be shown. The product type can be edited in the `Designer` or the `Editor`. +Update an existing Product. + +Updating an existing Product will set the product type to `Advanced`, which ensures all Product and SKU fields will be shown to users in the Designer. Required scope | `ecommerce:write` @@ -3216,7 +3249,7 @@ await client.products.update("580e63e98c9a982ac9b8b741", "580e63fc8c9a982ac9b8b7
-**request:** `Webflow.ProductSkuUpdate` +**request:** `Webflow.ProductsUpdateRequest`
@@ -3247,9 +3280,9 @@ await client.products.update("580e63e98c9a982ac9b8b741", "580e63fc8c9a982ac9b8b7
-Create additional SKUs to cover every variant of your Product. The Default SKU already counts as one of the variants. +Create additional SKUs to manage every [option and variant of your Product.](https://help.webflow.com/hc/en-us/articles/33961334531347-Create-product-options-and-variants) -Creating additional SKUs will set the product type to `Advanced` for the product associated with the SKUs. The product type is used to determine which Product and SKU fields are shown to users in the `Designer` and the `Editor`. Setting it to `Advanced` ensures that all Product and SKU fields will be shown. The product type can be edited in the `Designer` or the `Editor`. +Creating SKUs through the API will set the product type to `Advanced`, which ensures all Product and SKU fields will be shown to users in the Designer. Required scope | `ecommerce:write` @@ -3320,7 +3353,7 @@ await client.products.createSku("580e63e98c9a982ac9b8b741", "580e63fc8c9a982ac9b
-
client.products.updateSku(siteId, productId, skuId, { ...params }) -> Webflow.Sku +
client.products.updateSku(siteId, productId, skuId, { ...params }) -> Webflow.ProductsUpdateSkuResponse
@@ -3332,7 +3365,9 @@ await client.products.createSku("580e63e98c9a982ac9b8b741", "580e63fc8c9a982ac9b
-Updating an existing SKU will set the product type to `Advanced` for the product associated with the SKU. The product type is used to determine which Product and SKU fields are shown to users in the `Designer` and the `Editor`. Setting it to `Advanced` ensures that all Product and SKU fields will be shown. The product type can be edited in the `Designer` or the `Editor`. +Update a specified SKU. + +Updating an existing SKU will set the Product type to `Advanced`, which ensures all Product and SKU fields will be shown to users in the Designer. Required scope | `ecommerce:write` @@ -3413,7 +3448,7 @@ await client.products.updateSku("580e63e98c9a982ac9b8b741", "580e63fc8c9a982ac9b ## Orders -
client.orders.list(siteId, { ...params }) -> Webflow.OrderList +
client.orders.list(siteId, { ...params }) -> Webflow.OrdersListResponse
@@ -3486,7 +3521,7 @@ await client.orders.list("580e63e98c9a982ac9b8b741");
-
client.orders.get(siteId, orderId) -> Webflow.Order +
client.orders.get(siteId, orderId) -> Webflow.OrdersGetResponse
@@ -3498,7 +3533,8 @@ await client.orders.list("580e63e98c9a982ac9b8b741");
-Retrieve a single product by its id. All of its SKUs will also be retrieved. +Retrieve a single product by its ID. All of its SKUs will also be +retrieved. Required scope | `ecommerce:read` @@ -3559,7 +3595,7 @@ await client.orders.get("580e63e98c9a982ac9b8b741", "5e8518516e147040726cc415");
-
client.orders.update(siteId, orderId, { ...params }) -> Webflow.Order +
client.orders.update(siteId, orderId, { ...params }) -> Webflow.OrdersUpdateResponse
@@ -3571,7 +3607,9 @@ await client.orders.get("580e63e98c9a982ac9b8b741", "5e8518516e147040726cc415");
-This API lets you update the fields, `comment`, `shippingProvider`, and/or `shippingTracking` for a given order. All three fields can be updated simultaneously or independently. +This API lets you update the fields, `comment`, `shippingProvider`, +and/or `shippingTracking` for a given order. All three fields can be +updated simultaneously or independently. Required scope | `ecommerce:write` @@ -3640,7 +3678,7 @@ await client.orders.update("580e63e98c9a982ac9b8b741", "5e8518516e147040726cc415
-
client.orders.updateFulfill(siteId, orderId, { ...params }) -> Webflow.Order +
client.orders.updateFulfill(siteId, orderId, { ...params }) -> Webflow.OrdersUpdateFulfillResponse
@@ -3721,7 +3759,7 @@ await client.orders.updateFulfill("580e63e98c9a982ac9b8b741", "5e8518516e1470407
-
client.orders.updateUnfulfill(siteId, orderId) -> Webflow.Order +
client.orders.updateUnfulfill(siteId, orderId) -> Webflow.OrdersUpdateUnfulfillResponse
@@ -3794,7 +3832,7 @@ await client.orders.updateUnfulfill("580e63e98c9a982ac9b8b741", "5e8518516e14704
-
client.orders.refund(siteId, orderId, { ...params }) -> Webflow.Order +
client.orders.refund(siteId, orderId, { ...params }) -> Webflow.OrdersRefundResponse
@@ -3878,7 +3916,7 @@ await client.orders.refund("580e63e98c9a982ac9b8b741", "5e8518516e147040726cc415 ## Inventory -
client.inventory.list(collectionId, itemId) -> Webflow.InventoryItem +
client.inventory.list(collectionId, itemId) -> Webflow.InventoryListResponse
@@ -3951,7 +3989,7 @@ await client.inventory.list("580e63fc8c9a982ac9b8b745", "580e64008c9a982ac9b8b75
-
client.inventory.update(collectionId, itemId, { ...params }) -> Webflow.InventoryItem +
client.inventory.update(collectionId, itemId, { ...params }) -> Webflow.InventoryUpdateResponse
@@ -3963,7 +4001,12 @@ await client.inventory.list("580e63fc8c9a982ac9b8b745", "580e64008c9a982ac9b8b75
-Updates the current inventory levels for a particular SKU item. Updates may be given in one or two methods, absolutely or incrementally. Absolute updates are done by setting `quantity` directly. Incremental updates are by specifying the inventory delta in `updateQuantity` which is then added to the `quantity` stored on the server. +Updates the current inventory levels for a particular SKU item. + +Updates may be given in one or two methods, absolutely or incrementally. + +- Absolute updates are done by setting `quantity` directly. +- Incremental updates are by specifying the inventory delta in `updateQuantity` which is then added to the `quantity` stored on the server. Required scope | `ecommerce:write` @@ -4036,7 +4079,7 @@ await client.inventory.update("580e63fc8c9a982ac9b8b745", "580e64008c9a982ac9b8b ## Ecommerce -
client.ecommerce.getSettings(siteId) -> Webflow.EcommerceSettings +
client.ecommerce.getSettings(siteId) -> Webflow.EcommerceGetSettingsResponse
@@ -4103,7 +4146,7 @@ await client.ecommerce.getSettings("580e63e98c9a982ac9b8b741"); ## Collections Fields -
client.collections.fields.create(collectionId, { ...params }) -> Webflow.Field +
client.collections.fields.create(collectionId, { ...params }) -> Webflow.FieldsCreateResponse
@@ -4115,7 +4158,16 @@ await client.ecommerce.getSettings("580e63e98c9a982ac9b8b741");
-Create a custom field in a collection.

Slugs must be all lowercase letters without spaces. If you pass a string with uppercase letters and/or spaces to the "Slug" property, Webflow will convert the slug to lowercase and replace spaces with "-."

Only some field types can be created through the API. This endpoint does not currently support bulk creation.

Required scope | `cms:write` +Create a custom field in a collection. + +Slugs must be all lowercase letters without spaces. +If you pass a string with uppercase letters and/or spaces to the "Slug" property, Webflow will +convert the slug to lowercase and replace spaces with "-." + +Only some field types can be created through the API. +This endpoint does not currently support bulk creation. + +Required scope | `cms:write`
@@ -4160,7 +4212,7 @@ await client.collections.fields.create("580e63fc8c9a982ac9b8b745", {
-**request:** `Webflow.collections.FieldCreate` +**request:** `Webflow.collections.FieldsCreateRequest`
@@ -4179,7 +4231,7 @@ await client.collections.fields.create("580e63fc8c9a982ac9b8b745", {
-
client.collections.fields.update(collectionId, fieldId, { ...params }) -> Webflow.Field +
client.collections.fields.delete(collectionId, fieldId) -> void
@@ -4191,7 +4243,9 @@ await client.collections.fields.create("580e63fc8c9a982ac9b8b745", {
-Update a custom field in a collection.

Required scope | `cms:write` +Delete a custom field in a collection. This endpoint does not currently support bulk deletion. + +Required scope | `cms:write`
@@ -4207,11 +4261,7 @@ Update a custom field in a collection.

Required scope | `cms:write`
```typescript -await client.collections.fields.update("580e63fc8c9a982ac9b8b745", "580e63fc8c9a982ac9b8b745", { - isRequired: false, - displayName: "Post Body", - helpText: "Add the body of your post here", -}); +await client.collections.fields.delete("580e63fc8c9a982ac9b8b745", "580e63fc8c9a982ac9b8b745"); ```
@@ -4243,14 +4293,6 @@ await client.collections.fields.update("580e63fc8c9a982ac9b8b745", "580e63fc8c9a
-**request:** `Webflow.collections.FieldUpdate` - -
-
- -
-
- **requestOptions:** `Fields.RequestOptions`
@@ -4262,9 +4304,7 @@ await client.collections.fields.update("580e63fc8c9a982ac9b8b745", "580e63fc8c9a
-## Collections Items - -
client.collections.items.listItems(collectionId, { ...params }) -> Webflow.CollectionItemList +
client.collections.fields.update(collectionId, fieldId, { ...params }) -> Webflow.FieldsUpdateResponse
@@ -4276,7 +4316,9 @@ await client.collections.fields.update("580e63fc8c9a982ac9b8b745", "580e63fc8c9a
-List of all Items within a Collection.

Required scope | `CMS:read` +Update a custom field in a collection. + +Required scope | `cms:write`
@@ -4292,7 +4334,11 @@ List of all Items within a Collection.

Required scope | `CMS:read`
```typescript -await client.collections.items.listItems("580e63fc8c9a982ac9b8b745"); +await client.collections.fields.update("580e63fc8c9a982ac9b8b745", "580e63fc8c9a982ac9b8b745", { + isRequired: false, + displayName: "Post Body", + helpText: "Add the body of your post here", +}); ```
@@ -4316,7 +4362,7 @@ await client.collections.items.listItems("580e63fc8c9a982ac9b8b745");
-**request:** `Webflow.collections.ItemsListItemsRequest` +**fieldId:** `string` — Unique identifier for a Field in a collection
@@ -4324,7 +4370,15 @@ await client.collections.items.listItems("580e63fc8c9a982ac9b8b745");
-**requestOptions:** `Items.RequestOptions` +**request:** `Webflow.collections.FieldsUpdateRequest` + +
+
+ +
+
+ +**requestOptions:** `Fields.RequestOptions`
@@ -4335,7 +4389,9 @@ await client.collections.items.listItems("580e63fc8c9a982ac9b8b745");
-
client.collections.items.createItem(collectionId, { ...params }) -> Webflow.CollectionItem +## Collections Items + +
client.collections.items.listItems(collectionId, { ...params }) -> Webflow.ItemsListItemsResponse
@@ -4347,7 +4403,10 @@ await client.collections.items.listItems("580e63fc8c9a982ac9b8b745");
- Create Item in a Collection.

To create items across multiple locales, please use the bulk item endpoint.

Required scope | CMS:write +List of all Items within a Collection. + +Required scope | `CMS:read` +
@@ -4362,19 +4421,7 @@ await client.collections.items.listItems("580e63fc8c9a982ac9b8b745");
```typescript -await client.collections.items.createItem("580e63fc8c9a982ac9b8b745", { - id: "42b720ef280c7a7a3be8cabe", - cmsLocaleId: "653ad57de882f528b32e810e", - lastPublished: "2022-11-29T16:22:43.159Z", - lastUpdated: "2022-11-17T17:19:43.282Z", - createdOn: "2022-11-17T17:11:57.148Z", - isArchived: false, - isDraft: false, - fieldData: { - name: "Pan Galactic Gargle Blaster Recipe", - slug: "pan-galactic-gargle-blaster", - }, -}); +await client.collections.items.listItems("580e63fc8c9a982ac9b8b745"); ```
@@ -4398,7 +4445,7 @@ await client.collections.items.createItem("580e63fc8c9a982ac9b8b745", {
-**request:** `Webflow.CollectionItem` +**request:** `Webflow.collections.ItemsListItemsRequest`
@@ -4417,7 +4464,7 @@ await client.collections.items.createItem("580e63fc8c9a982ac9b8b745", {
-
client.collections.items.listItemsLive(collectionId, { ...params }) -> Webflow.CollectionItemList +
client.collections.items.createItem(collectionId, { ...params }) -> Webflow.ItemsCreateItemResponse
@@ -4429,7 +4476,11 @@ await client.collections.items.createItem("580e63fc8c9a982ac9b8b745", {
-List of all live Items within a Collection.

Required scope | `CMS:read` +Create Item(s) in a Collection. + +To create items across multiple locales, please use [this endpoint.](/data/v2.0.0/reference/cms/collection-items/bulk-items/create-items) + +Required scope | `CMS:write`
@@ -4445,7 +4496,14 @@ List of all live Items within a Collection.

Required scope | `CMS:rea
```typescript -await client.collections.items.listItemsLive("580e63fc8c9a982ac9b8b745"); +await client.collections.items.createItem("580e63fc8c9a982ac9b8b745", { + isArchived: false, + isDraft: false, + fieldData: { + name: "Pan Galactic Gargle Blaster Recipe", + slug: "pan-galactic-gargle-blaster", + }, +}); ```
@@ -4469,7 +4527,7 @@ await client.collections.items.listItemsLive("580e63fc8c9a982ac9b8b745");
-**request:** `Webflow.collections.ItemsListItemsLiveRequest` +**request:** `Webflow.ItemsCreateItemRequest`
@@ -4488,7 +4546,7 @@ await client.collections.items.listItemsLive("580e63fc8c9a982ac9b8b745");
-
client.collections.items.createItemLive(collectionId, { ...params }) -> Webflow.CollectionItem +
client.collections.items.deleteItems(collectionId, { ...params }) -> void
@@ -4500,7 +4558,11 @@ await client.collections.items.listItemsLive("580e63fc8c9a982ac9b8b745");
-Create live Item in a Collection. This Item will be published to the live site.

To create items across multiple locales, please use this endpoint.

Required scope | `CMS:write` +Delete Items from a Collection. + +**Note:** If the `cmsLocaleId` parameter is undefined or empty and the items are localized, items will be deleted only in the primary locale. + +Required scope | `CMS:write`
@@ -4516,19 +4578,7 @@ Create live Item in a Collection. This Item will be published to the live site.
```typescript -await client.collections.items.createItemLive("580e63fc8c9a982ac9b8b745", { - id: "42b720ef280c7a7a3be8cabe", - cmsLocaleId: "653ad57de882f528b32e810e", - lastPublished: "2022-11-29T16:22:43.159Z", - lastUpdated: "2022-11-17T17:19:43.282Z", - createdOn: "2022-11-17T17:11:57.148Z", - isArchived: false, - isDraft: false, - fieldData: { - name: "Pan Galactic Gargle Blaster Recipe", - slug: "pan-galactic-gargle-blaster", - }, -}); +await client.collections.items.deleteItems("580e63fc8c9a982ac9b8b745"); ```
@@ -4552,7 +4602,7 @@ await client.collections.items.createItemLive("580e63fc8c9a982ac9b8b745", {
-**request:** `Webflow.CollectionItem` +**request:** `Webflow.collections.ItemsDeleteItemsRequest`
@@ -4571,7 +4621,7 @@ await client.collections.items.createItemLive("580e63fc8c9a982ac9b8b745", {
-
client.collections.items.createItemForMultipleLocales(collectionId, { ...params }) -> Webflow.BulkCollectionItem +
client.collections.items.updateItems(collectionId, { ...params }) -> Webflow.ItemsUpdateItemsResponse
@@ -4583,7 +4633,11 @@ await client.collections.items.createItemLive("580e63fc8c9a982ac9b8b745", {
-Create single Item in a Collection with multiple corresponding locales.

Required scope | `CMS:write` +Update a single item or multiple items (up to 100) in a Collection. + +**Note:** If the `cmsLocaleId` parameter is undefined or empty and the items are localized, items will be updated only in the primary locale. + +Required scope | `CMS:write`
@@ -4599,8 +4653,41 @@ Create single Item in a Collection with multiple corresponding locales.
```typescript -await client.collections.items.createItemForMultipleLocales("580e63fc8c9a982ac9b8b745", { - id: "580e64008c9a982ac9b8b754", +await client.collections.items.updateItems("580e63fc8c9a982ac9b8b745", { + items: [ + { + id: "66f6ed9576ddacf3149d5ea6", + cmsLocaleId: "66f6e966c9e1dc700a857ca5", + fieldData: { + name: "Ne Paniquez Pas", + slug: "ne-paniquez-pas", + }, + }, + { + id: "66f6ed9576ddacf3149d5ea6", + cmsLocaleId: "66f6e966c9e1dc700a857ca4", + fieldData: { + name: "No Entrar en P\u00E1nico", + slug: "no-entrar-en-panico", + }, + }, + { + id: "66f6ed9576ddacf3149d5eaa", + cmsLocaleId: "66f6e966c9e1dc700a857ca5", + fieldData: { + name: "Au Revoir et Merci pour Tous les Poissons", + slug: "au-revoir-et-merci", + }, + }, + { + id: "66f6ed9576ddacf3149d5eaa", + cmsLocaleId: "66f6e966c9e1dc700a857ca4", + fieldData: { + name: "Hasta Luego y Gracias por Todo el Pescado", + slug: "hasta-luego-y-gracias", + }, + }, + ], }); ``` @@ -4625,7 +4712,7 @@ await client.collections.items.createItemForMultipleLocales("580e63fc8c9a982ac9b
-**request:** `Webflow.BulkCollectionItem` +**request:** `Webflow.collections.ItemsUpdateItemsRequest`
@@ -4644,7 +4731,7 @@ await client.collections.items.createItemForMultipleLocales("580e63fc8c9a982ac9b
-
client.collections.items.getItem(collectionId, itemId, { ...params }) -> Webflow.CollectionItem +
client.collections.items.listItemsLive(collectionId, { ...params }) -> Webflow.ItemsListItemsLiveResponse
@@ -4656,7 +4743,9 @@ await client.collections.items.createItemForMultipleLocales("580e63fc8c9a982ac9b
-Get details of a selected Collection Item.

Required scope | `CMS:read` +List of all live Items within a Collection. + +Required scope | `CMS:read`
@@ -4672,7 +4761,7 @@ Get details of a selected Collection Item.

Required scope | `CMS:read
```typescript -await client.collections.items.getItem("580e63fc8c9a982ac9b8b745", "580e64008c9a982ac9b8b754"); +await client.collections.items.listItemsLive("580e63fc8c9a982ac9b8b745"); ```
@@ -4696,15 +4785,7 @@ await client.collections.items.getItem("580e63fc8c9a982ac9b8b745", "580e64008c9a
-**itemId:** `string` — Unique identifier for an Item - -
-
- -
-
- -**request:** `Webflow.collections.ItemsGetItemRequest` +**request:** `Webflow.collections.ItemsListItemsLiveRequest`
@@ -4723,7 +4804,7 @@ await client.collections.items.getItem("580e63fc8c9a982ac9b8b745", "580e64008c9a
-
client.collections.items.deleteItem(collectionId, itemId, { ...params }) -> void +
client.collections.items.createItemLive(collectionId, { ...params }) -> Webflow.ItemsCreateItemLiveResponse
@@ -4735,7 +4816,11 @@ await client.collections.items.getItem("580e63fc8c9a982ac9b8b745", "580e64008c9a
-Delete an Item from a Collection. This endpoint does not currently support bulk deletion.

Required scope | `CMS:write` +Create live Item(s) in a Collection. The Item(s) will be published to the live site. + +To create items across multiple locales, [please use this endpoint.](/v2.0.0/data/reference/cms/collection-items/bulk-items/create-items) + +Required scope | `CMS:write`
@@ -4751,7 +4836,14 @@ Delete an Item from a Collection. This endpoint does not currently support bulk
```typescript -await client.collections.items.deleteItem("580e63fc8c9a982ac9b8b745", "580e64008c9a982ac9b8b754"); +await client.collections.items.createItemLive("580e63fc8c9a982ac9b8b745", { + isArchived: false, + isDraft: false, + fieldData: { + name: "Pan Galactic Gargle Blaster Recipe", + slug: "pan-galactic-gargle-blaster", + }, +}); ```
@@ -4775,7 +4867,7 @@ await client.collections.items.deleteItem("580e63fc8c9a982ac9b8b745", "580e64008
-**itemId:** `string` — Unique identifier for an Item +**request:** `Webflow.ItemsCreateItemLiveRequest`
@@ -4783,13 +4875,438 @@ await client.collections.items.deleteItem("580e63fc8c9a982ac9b8b745", "580e64008
-**request:** `Webflow.collections.ItemsDeleteItemRequest` +**requestOptions:** `Items.RequestOptions` +
+
-
-
+
+
+
+ +
client.collections.items.deleteItemsLive(collectionId, { ...params }) -> void +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Remove an item or multiple items (up to 100 items) from the live site. Deleting published items will unpublish the items from the live site and set them to draft. + +**Note:** If the `cmsLocaleId` parameter is undefined or empty and the items are localized, items will be unpublished only in the primary locale. + +Required scope | `CMS:write` + +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```typescript +await client.collections.items.deleteItemsLive("580e63fc8c9a982ac9b8b745"); +``` + +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**collectionId:** `string` — Unique identifier for a Collection + +
+
+ +
+
+ +**request:** `Webflow.collections.ItemsDeleteItemsLiveRequest` + +
+
+ +
+
+ +**requestOptions:** `Items.RequestOptions` + +
+
+
+
+ +
+
+
+ +
client.collections.items.updateItemsLive(collectionId, { ...params }) -> Webflow.ItemsUpdateItemsLiveResponse +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update a single live item or multiple live items (up to 100) in a Collection + +**Note:** If the `cmsLocaleId` parameter is undefined or empty and the items are localized, items will be updated only in the primary locale. + +Required scope | `CMS:write` + +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```typescript +await client.collections.items.updateItemsLive("580e63fc8c9a982ac9b8b745", { + items: [ + { + id: "66f6ed9576ddacf3149d5ea6", + cmsLocaleId: "66f6e966c9e1dc700a857ca5", + fieldData: { + name: "Ne Paniquez Pas", + slug: "ne-paniquez-pas", + }, + }, + { + id: "66f6ed9576ddacf3149d5ea6", + cmsLocaleId: "66f6e966c9e1dc700a857ca4", + fieldData: { + name: "No Entrar en P\u00E1nico", + slug: "no-entrar-en-panico", + }, + }, + { + id: "66f6ed9576ddacf3149d5eaa", + cmsLocaleId: "66f6e966c9e1dc700a857ca5", + fieldData: { + name: "Au Revoir et Merci pour Tous les Poissons", + slug: "au-revoir-et-merci", + }, + }, + { + id: "66f6ed9576ddacf3149d5eaa", + cmsLocaleId: "66f6e966c9e1dc700a857ca4", + fieldData: { + name: "Hasta Luego y Gracias por Todo el Pescado", + slug: "hasta-luego-y-gracias", + }, + }, + ], +}); +``` + +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**collectionId:** `string` — Unique identifier for a Collection + +
+
+ +
+
+ +**request:** `Webflow.collections.ItemsUpdateItemsLiveRequest` + +
+
+ +
+
+ +**requestOptions:** `Items.RequestOptions` + +
+
+
+
+ +
+
+
+ +
client.collections.items.createItems(collectionId, { ...params }) -> Webflow.ItemsCreateItemsResponse +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create an item or multiple items in a CMS Collection across multiple corresponding locales. + +**Notes:** + +- This endpoint can create up to 100 items in a request. +- If the `cmsLocaleIds` parameter is undefined or empty and localization is enabled, items will only be created in the primary locale. + +Required scope | `CMS:write` + +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```typescript +await client.collections.items.createItems("580e63fc8c9a982ac9b8b745", { + cmsLocaleIds: ["66f6e966c9e1dc700a857ca3", "66f6e966c9e1dc700a857ca4", "66f6e966c9e1dc700a857ca5"], + isArchived: false, + isDraft: false, + fieldData: { + name: "Don\u2019t Panic", + slug: "dont-panic", + }, +}); +``` + +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**collectionId:** `string` — Unique identifier for a Collection + +
+
+ +
+
+ +**request:** `Webflow.collections.ItemsCreateItemsRequest` + +
+
+ +
+
+ +**requestOptions:** `Items.RequestOptions` + +
+
+
+
+ +
+
+
+ +
client.collections.items.getItem(collectionId, itemId, { ...params }) -> Webflow.ItemsGetItemResponse +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Get details of a selected Collection Item. + +Required scope | `CMS:read` + +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```typescript +await client.collections.items.getItem("580e63fc8c9a982ac9b8b745", "580e64008c9a982ac9b8b754"); +``` + +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**collectionId:** `string` — Unique identifier for a Collection + +
+
+ +
+
+ +**itemId:** `string` — Unique identifier for an Item + +
+
+ +
+
+ +**request:** `Webflow.collections.ItemsGetItemRequest` + +
+
+ +
+
+ +**requestOptions:** `Items.RequestOptions` + +
+
+
+
+ +
+
+
+ +
client.collections.items.deleteItem(collectionId, itemId, { ...params }) -> void +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete an Item from a Collection. This endpoint does not currently support bulk deletion. + +Required scope | `CMS:write` + +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```typescript +await client.collections.items.deleteItem("580e63fc8c9a982ac9b8b745", "580e64008c9a982ac9b8b754"); +``` + +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**collectionId:** `string` — Unique identifier for a Collection + +
+
+ +
+
+ +**itemId:** `string` — Unique identifier for an Item + +
+
+ +
+
+ +**request:** `Webflow.collections.ItemsDeleteItemRequest` + +
+
+ +
+
**requestOptions:** `Items.RequestOptions` @@ -4802,7 +5319,7 @@ await client.collections.items.deleteItem("580e63fc8c9a982ac9b8b745", "580e64008
-
client.collections.items.updateItem(collectionId, itemId, { ...params }) -> Webflow.CollectionItem +
client.collections.items.updateItem(collectionId, itemId, { ...params }) -> Webflow.ItemsUpdateItemResponse
@@ -4814,7 +5331,9 @@ await client.collections.items.deleteItem("580e63fc8c9a982ac9b8b745", "580e64008
-Update a selected Item in a Collection.

Required scope | `CMS:write` +Update a selected Item in a Collection. + +Required scope | `CMS:write`
@@ -4874,7 +5393,7 @@ await client.collections.items.updateItem("580e63fc8c9a982ac9b8b745", "580e64008
-**request:** `Webflow.CollectionItem` +**request:** `Webflow.collections.ItemsUpdateItemRequest`
@@ -4893,7 +5412,7 @@ await client.collections.items.updateItem("580e63fc8c9a982ac9b8b745", "580e64008
-
client.collections.items.getItemLive(collectionId, itemId, { ...params }) -> Webflow.CollectionItem +
client.collections.items.getItemLive(collectionId, itemId, { ...params }) -> Webflow.ItemsGetItemLiveResponse
@@ -4905,7 +5424,9 @@ await client.collections.items.updateItem("580e63fc8c9a982ac9b8b745", "580e64008
-Get details of a selected Collection live Item.

Required scope | `CMS:read` +Get details of a selected Collection live Item. + +Required scope | `CMS:read`
@@ -4984,7 +5505,11 @@ await client.collections.items.getItemLive("580e63fc8c9a982ac9b8b745", "580e6400
-Remove a live item from the site. Removing a published item will unpublish the item from the live site and set it to draft. This endpoint does not currently support bulk deletion.

Required scope | `CMS:write` +Remove a live item from the site. Removing a published item will unpublish the item from the live site and set it to draft. + +This endpoint does not currently support bulk deletion. + +Required scope | `CMS:write`
@@ -5051,7 +5576,7 @@ await client.collections.items.deleteItemLive("580e63fc8c9a982ac9b8b745", "580e6
-
client.collections.items.updateItemLive(collectionId, itemId, { ...params }) -> Webflow.CollectionItem +
client.collections.items.updateItemLive(collectionId, itemId, { ...params }) -> Webflow.ItemsUpdateItemLiveResponse
@@ -5063,7 +5588,9 @@ await client.collections.items.deleteItemLive("580e63fc8c9a982ac9b8b745", "580e6
-Update a selected live Item in a Collection. The updates for this Item will be published to the live site.

Required scope | `CMS:write` +Update a selected live Item in a Collection. The updates for this Item will be published to the live site. + +Required scope | `CMS:write`
@@ -5123,7 +5650,7 @@ await client.collections.items.updateItemLive("580e63fc8c9a982ac9b8b745", "580e6
-**request:** `Webflow.CollectionItem` +**request:** `Webflow.collections.ItemsUpdateItemLiveRequest`
@@ -5154,7 +5681,9 @@ await client.collections.items.updateItemLive("580e63fc8c9a982ac9b8b745", "580e6
-Publish an item or multiple items.

Required scope | `cms:write` +Publish an item or multiple items. + +Required scope | `cms:write`
@@ -5217,7 +5746,7 @@ await client.collections.items.publishItem("580e63fc8c9a982ac9b8b745", { ## Pages Scripts -
client.pages.scripts.getCustomCode(pageId) -> Webflow.ScriptApplyList +
client.pages.scripts.getCustomCode(pageId) -> Webflow.ScriptsGetCustomCodeResponse
@@ -5229,7 +5758,15 @@ await client.collections.items.publishItem("580e63fc8c9a982ac9b8b745", {
-Get all registered scripts that have been applied to a specific Page.

In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate `custom_code` endpoints.
Access to this endpoint requires a bearer token from a Data Client App.
Required scope | `custom_code:read` +Get all registered scripts that have been applied to a specific Page. + +In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered +to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate +`custom_code` endpoints. + +
Access to this endpoint requires a bearer token from a Data Client App.
+ +Required scope | `custom_code:read`
@@ -5280,7 +5817,7 @@ await client.pages.scripts.getCustomCode("63c720f9347c2139b248e552");
-
client.pages.scripts.upsertCustomCode(pageId, { ...params }) -> Webflow.ScriptApplyList +
client.pages.scripts.upsertCustomCode(pageId, { ...params }) -> Webflow.ScriptsUpsertCustomCodeResponse
@@ -5292,7 +5829,15 @@ await client.pages.scripts.getCustomCode("63c720f9347c2139b248e552");
-Add a registered script to a Page.

In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate `custom_code` endpoints.
Access to this endpoint requires a bearer token from a Data Client App.
Required scope | `custom_code:write` +Add a registered script to a Page. + +In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered +to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate +`custom_code` endpoints. + +
Access to this endpoint requires a bearer token from a Data Client App.
+ +Required scope | `custom_code:write`
@@ -5348,7 +5893,7 @@ await client.pages.scripts.upsertCustomCode("63c720f9347c2139b248e552", {
-**request:** `Webflow.ScriptApplyList` +**request:** `Webflow.pages.ScriptsUpsertCustomCodeRequest`
@@ -5379,7 +5924,15 @@ await client.pages.scripts.upsertCustomCode("63c720f9347c2139b248e552", {
-Delete the custom code block that an app has created for a page

In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate `custom_code` endpoints.
Access to this endpoint requires a bearer token from a Data Client App.
Required scope | `custom_code:write` +Delete the custom code block that an app has created for a page + +In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered +to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate +`custom_code` endpoints. + +
Access to this endpoint requires a bearer token from a Data Client App.
+ +Required scope | `custom_code:write`
@@ -5432,7 +5985,7 @@ await client.pages.scripts.deleteCustomCode("63c720f9347c2139b248e552"); ## Sites ActivityLogs -
client.sites.activityLogs.list(siteId, { ...params }) -> Webflow.SiteActivityLogResponse +
client.sites.activityLogs.list(siteId, { ...params }) -> Webflow.ActivityLogsListResponse
@@ -5505,7 +6058,7 @@ await client.sites.activityLogs.list("580e63e98c9a982ac9b8b741"); ## Sites Scripts -
client.sites.scripts.getCustomCode(siteId) -> Webflow.ScriptApplyList +
client.sites.scripts.getCustomCode(siteId) -> Webflow.ScriptsGetCustomCodeResponse
@@ -5517,7 +6070,11 @@ await client.sites.activityLogs.list("580e63e98c9a982ac9b8b741");
-Get all registered scripts that have been applied to a specific Site.
Access to this endpoint requires a bearer token from a Data Client App.
Required scope | `custom_code:read` +Get all registered scripts that have been applied to a specific Site. + +
Access to this endpoint requires a bearer token from a Data Client App.
+ +Required scope | `custom_code:read`
@@ -5568,7 +6125,7 @@ await client.sites.scripts.getCustomCode("580e63e98c9a982ac9b8b741");
-
client.sites.scripts.upsertCustomCode(siteId, { ...params }) -> Webflow.ScriptApplyList +
client.sites.scripts.upsertCustomCode(siteId, { ...params }) -> Webflow.ScriptsUpsertCustomCodeResponse
@@ -5580,7 +6137,15 @@ await client.sites.scripts.getCustomCode("580e63e98c9a982ac9b8b741");
-Add a registered script to a Site.

In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate `custom_code` endpoints.
Access to this endpoint requires a bearer token from a Data Client App.
Required scope | `custom_code:write` +Add a registered script to a Site. + +In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered +to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate +`custom_code` endpoints. + +
Access to this endpoint requires a bearer token from a Data Client App.
+ +Required scope | `custom_code:write`
@@ -5636,7 +6201,7 @@ await client.sites.scripts.upsertCustomCode("580e63e98c9a982ac9b8b741", {
-**request:** `Webflow.ScriptApplyList` +**request:** `Webflow.sites.ScriptsUpsertCustomCodeRequest`
@@ -5667,7 +6232,11 @@ await client.sites.scripts.upsertCustomCode("580e63e98c9a982ac9b8b741", {
-Delete the custom code block that an app created for a Site

Access to this endpoint requires a bearer token from a Data Client App.
Required scope | `custom_code:write` +Delete the custom code block that an app created for a Site + +
Access to this endpoint requires a bearer token from a Data Client App.
+ +Required scope | `custom_code:write`
@@ -5718,7 +6287,7 @@ await client.sites.scripts.deleteCustomCode("580e63e98c9a982ac9b8b741");
-
client.sites.scripts.listCustomCodeBlocks(siteId, { ...params }) -> Webflow.ListCustomCodeBlocks +
client.sites.scripts.listCustomCodeBlocks(siteId, { ...params }) -> Webflow.ScriptsListCustomCodeBlocksResponse
@@ -5730,7 +6299,11 @@ await client.sites.scripts.deleteCustomCode("580e63e98c9a982ac9b8b741");
-Get all instances of Custom Code applied to a Site or Pages.
Access to this endpoint requires a bearer token from a Data Client App.
Required scope | `custom_code:read` +Get all instances of Custom Code applied to a Site or Pages. + +
Access to this endpoint requires a bearer token from a Data Client App.
+ +Required scope | `custom_code:read`
diff --git a/src/api/errors/TooManyRequestsError.ts b/src/api/errors/TooManyRequestsError.ts index 8b4b9421..baa54df8 100644 --- a/src/api/errors/TooManyRequestsError.ts +++ b/src/api/errors/TooManyRequestsError.ts @@ -3,10 +3,9 @@ */ import * as errors from "../../errors/index"; -import * as Webflow from "../index"; export class TooManyRequestsError extends errors.WebflowError { - constructor(body: Webflow.TooManyRequestsErrorBody) { + constructor(body?: unknown) { super({ message: "TooManyRequestsError", statusCode: 429, diff --git a/src/api/resources/accessGroups/client/Client.ts b/src/api/resources/accessGroups/client/Client.ts index 317b9cd0..3d4f289d 100644 --- a/src/api/resources/accessGroups/client/Client.ts +++ b/src/api/resources/accessGroups/client/Client.ts @@ -29,7 +29,9 @@ export class AccessGroups { constructor(protected readonly _options: AccessGroups.Options) {} /** - * Get a list of access groups for a site

Required scope | `users:read` + * Get a list of access groups for a site + * + * Required scope | `users:read` * * @param {string} siteId - Unique identifier for a Site * @param {Webflow.AccessGroupsListRequest} request @@ -49,7 +51,7 @@ export class AccessGroups { siteId: string, request: Webflow.AccessGroupsListRequest = {}, requestOptions?: AccessGroups.RequestOptions - ): Promise { + ): Promise { const { offset, limit, sort } = request; const _queryParams: Record = {}; if (offset != null) { @@ -74,8 +76,8 @@ export class AccessGroups { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -87,7 +89,7 @@ export class AccessGroups { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.AccessGroupList.parseOrThrow(_response.body, { + return serializers.AccessGroupsListResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -107,15 +109,7 @@ export class AccessGroups { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: diff --git a/src/api/resources/accessGroups/types/AccessGroupsListResponse.ts b/src/api/resources/accessGroups/types/AccessGroupsListResponse.ts new file mode 100644 index 00000000..3be1436a --- /dev/null +++ b/src/api/resources/accessGroups/types/AccessGroupsListResponse.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The list access groups results + */ +export interface AccessGroupsListResponse { + /** Number of access groups returned */ + count?: number; + /** The limit specified in the request */ + limit?: number; + /** The offset specified for pagination */ + offset?: number; + /** Total number of access groups in the collection */ + total?: number; + /** List of Site Access Groups */ + accessGroups?: Webflow.AccessGroupsListResponseAccessGroupsItem[]; +} diff --git a/src/api/resources/accessGroups/types/AccessGroupsListResponseAccessGroupsItem.ts b/src/api/resources/accessGroups/types/AccessGroupsListResponseAccessGroupsItem.ts new file mode 100644 index 00000000..a69944d0 --- /dev/null +++ b/src/api/resources/accessGroups/types/AccessGroupsListResponseAccessGroupsItem.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface AccessGroupsListResponseAccessGroupsItem { + /** Unique identifier for the Access Group */ + id?: string; + /** Name of the the Access Group */ + name?: string; + /** Shortened unique identifier based on name, optimized for its use in the user’s JWT */ + shortId?: string; + /** Shortened unique identifier based on name, optimized for human readability and public API use */ + slug?: string; + /** The date the Access Group was created */ + createdOn?: Date; +} diff --git a/src/api/resources/accessGroups/types/index.ts b/src/api/resources/accessGroups/types/index.ts index 5b80efb0..b16a2fb8 100644 --- a/src/api/resources/accessGroups/types/index.ts +++ b/src/api/resources/accessGroups/types/index.ts @@ -1 +1,3 @@ export * from "./AccessGroupsListRequestSort"; +export * from "./AccessGroupsListResponseAccessGroupsItem"; +export * from "./AccessGroupsListResponse"; diff --git a/src/api/resources/assets/client/Client.ts b/src/api/resources/assets/client/Client.ts index 0d2c7470..69718d18 100644 --- a/src/api/resources/assets/client/Client.ts +++ b/src/api/resources/assets/client/Client.ts @@ -29,7 +29,9 @@ export class Assets { constructor(protected readonly _options: Assets.Options) {} /** - * List assets for a given site

Required scope | `assets:read` + * List assets for a given site + * + * Required scope | `assets:read` * * @param {string} siteId - Unique identifier for a Site * @param {Assets.RequestOptions} requestOptions - Request-specific configuration. @@ -43,7 +45,7 @@ export class Assets { * @example * await client.assets.list("580e63e98c9a982ac9b8b741") */ - public async list(siteId: string, requestOptions?: Assets.RequestOptions): Promise { + public async list(siteId: string, requestOptions?: Assets.RequestOptions): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -54,8 +56,8 @@ export class Assets { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -66,7 +68,7 @@ export class Assets { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.Assets.parseOrThrow(_response.body, { + return serializers.AssetsListResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -84,15 +86,7 @@ export class Assets { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -119,7 +113,13 @@ export class Assets { } /** - * Create a new asset entry.

This endpoint generates a response with the following information: `uploadUrl` and `uploadDetails`. You can use these two properties to [upload the file to Amazon s3 by making a POST](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html) request to the `uploadUrl` with the `uploadDetails` object as your header information in the request.

Required scope | `assets:write` + * Create a new asset entry. + * + * This endpoint generates a response with the following information: `uploadUrl` and `uploadDetails`. + * You can use these two properties to [upload the file to Amazon s3 by making a POST](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html) + * request to the `uploadUrl` with the `uploadDetails` object as your header information in the request. + * + * Required scope | `assets:write` * * @param {string} siteId - Unique identifier for a Site * @param {Webflow.AssetsCreateRequest} request @@ -141,7 +141,7 @@ export class Assets { siteId: string, request: Webflow.AssetsCreateRequest, requestOptions?: Assets.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -152,8 +152,8 @@ export class Assets { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -165,7 +165,7 @@ export class Assets { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.AssetUpload.parseOrThrow(_response.body, { + return serializers.AssetsCreateResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -183,15 +183,7 @@ export class Assets { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -218,7 +210,9 @@ export class Assets { } /** - * Get an Asset

Required scope | `assets:read` + * Get an Asset + * + * Required scope | `assets:read` * * @param {string} assetId - Unique identifier for an Asset on a site * @param {Assets.RequestOptions} requestOptions - Request-specific configuration. @@ -232,7 +226,7 @@ export class Assets { * @example * await client.assets.get("580e63fc8c9a982ac9b8b745") */ - public async get(assetId: string, requestOptions?: Assets.RequestOptions): Promise { + public async get(assetId: string, requestOptions?: Assets.RequestOptions): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -243,8 +237,8 @@ export class Assets { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -255,7 +249,7 @@ export class Assets { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.Asset.parseOrThrow(_response.body, { + return serializers.AssetsGetResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -273,15 +267,7 @@ export class Assets { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -310,6 +296,8 @@ export class Assets { /** * Delete an Asset * + * Required Scope: `assets: write` + * * @param {string} assetId - Unique identifier for an Asset on a site * @param {Assets.RequestOptions} requestOptions - Request-specific configuration. * @@ -333,8 +321,8 @@ export class Assets { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -357,15 +345,7 @@ export class Assets { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -392,7 +372,9 @@ export class Assets { } /** - * Update an Asset

Required scope | `assets:write` + * Update an Asset + * + * Required scope | `assets:write` * * @param {string} assetId - Unique identifier for an Asset on a site * @param {Webflow.AssetsUpdateRequest} request @@ -405,15 +387,13 @@ export class Assets { * @throws {@link Webflow.InternalServerError} * * @example - * await client.assets.update("580e63fc8c9a982ac9b8b745", { - * displayName: "bulldoze.png" - * }) + * await client.assets.update("580e63fc8c9a982ac9b8b745") */ public async update( assetId: string, - request: Webflow.AssetsUpdateRequest, + request: Webflow.AssetsUpdateRequest = {}, requestOptions?: Assets.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -424,8 +404,8 @@ export class Assets { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -437,7 +417,7 @@ export class Assets { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.Asset.parseOrThrow(_response.body, { + return serializers.AssetsUpdateResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -455,15 +435,7 @@ export class Assets { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -490,7 +462,9 @@ export class Assets { } /** - * List Asset Folders within a given site

Required scope | `assets:read` + * List Asset Folders within a given site + * + * Required scope | `assets:read` * * @param {string} siteId - Unique identifier for a Site * @param {Assets.RequestOptions} requestOptions - Request-specific configuration. @@ -504,7 +478,10 @@ export class Assets { * @example * await client.assets.listFolders("580e63e98c9a982ac9b8b741") */ - public async listFolders(siteId: string, requestOptions?: Assets.RequestOptions): Promise { + public async listFolders( + siteId: string, + requestOptions?: Assets.RequestOptions + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -515,8 +492,8 @@ export class Assets { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -527,7 +504,7 @@ export class Assets { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.AssetFolderList.parseOrThrow(_response.body, { + return serializers.AssetsListFoldersResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -545,15 +522,7 @@ export class Assets { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -580,7 +549,9 @@ export class Assets { } /** - * Create an Asset Folder within a given site

Required scope | `assets:write` + * Create an Asset Folder within a given site + * + * Required scope | `assets:write` * * @param {string} siteId - Unique identifier for a Site * @param {Webflow.AssetsCreateFolderRequest} request @@ -601,7 +572,7 @@ export class Assets { siteId: string, request: Webflow.AssetsCreateFolderRequest, requestOptions?: Assets.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -612,8 +583,8 @@ export class Assets { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -625,7 +596,7 @@ export class Assets { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.AssetFolder.parseOrThrow(_response.body, { + return serializers.AssetsCreateFolderResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -643,15 +614,7 @@ export class Assets { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -678,7 +641,9 @@ export class Assets { } /** - * Get details about a specific Asset Folder

Required scope | `assets:read` + * Get details about a specific Asset Folder + * + * Required scope | `assets:read` * * @param {string} assetFolderId - Unique identifier for an Asset Folder * @param {Assets.RequestOptions} requestOptions - Request-specific configuration. @@ -695,7 +660,7 @@ export class Assets { public async getFolder( assetFolderId: string, requestOptions?: Assets.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -706,8 +671,8 @@ export class Assets { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -718,7 +683,7 @@ export class Assets { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.AssetFolder.parseOrThrow(_response.body, { + return serializers.AssetsGetFolderResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -736,15 +701,7 @@ export class Assets { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: diff --git a/src/api/resources/assets/client/requests/AssetsCreateRequest.ts b/src/api/resources/assets/client/requests/AssetsCreateRequest.ts index 242fd8a3..71adecd7 100644 --- a/src/api/resources/assets/client/requests/AssetsCreateRequest.ts +++ b/src/api/resources/assets/client/requests/AssetsCreateRequest.ts @@ -10,10 +10,10 @@ * } */ export interface AssetsCreateRequest { - /** file name including file extension */ + /** File name including file extension. File names must be less than 100 characters. */ fileName: string; /** MD5 hash of the file */ fileHash: string; - /** id of the Asset folder (optional) */ + /** ID of the Asset folder (optional) */ parentFolder?: string; } diff --git a/src/api/resources/assets/client/requests/AssetsUpdateRequest.ts b/src/api/resources/assets/client/requests/AssetsUpdateRequest.ts index 0aed8a60..a01981af 100644 --- a/src/api/resources/assets/client/requests/AssetsUpdateRequest.ts +++ b/src/api/resources/assets/client/requests/AssetsUpdateRequest.ts @@ -4,11 +4,11 @@ /** * @example - * { - * displayName: "bulldoze.png" - * } + * {} */ export interface AssetsUpdateRequest { - /** file name including file extension */ - displayName: string; + /** Unique identifier for a specific locale. Applicable, when using localization. */ + localeId?: string; + /** A human readable name for the asset */ + displayName?: string; } diff --git a/src/api/resources/assets/index.ts b/src/api/resources/assets/index.ts index 5ec76921..c9240f83 100644 --- a/src/api/resources/assets/index.ts +++ b/src/api/resources/assets/index.ts @@ -1 +1,2 @@ +export * from "./types"; export * from "./client"; diff --git a/src/api/resources/assets/types/AssetsCreateFolderResponse.ts b/src/api/resources/assets/types/AssetsCreateFolderResponse.ts new file mode 100644 index 00000000..f89d123f --- /dev/null +++ b/src/api/resources/assets/types/AssetsCreateFolderResponse.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Asset Folder details + */ +export interface AssetsCreateFolderResponse { + /** Unique identifier for the Asset Folder */ + id?: string; + /** User visible name for the Asset Folder */ + displayName?: string; + /** Pointer to parent Asset Folder (or null if root) */ + parentFolder?: string; + /** Array of Asset instances in the folder */ + assets?: string[]; + /** The unique ID of the site the Asset Folder belongs to */ + siteId?: string; + /** Date that the Asset Folder was created on */ + createdOn?: Date; + /** Date that the Asset Folder was last updated on */ + lastUpdated?: Date; +} diff --git a/src/api/resources/assets/types/AssetsCreateResponse.ts b/src/api/resources/assets/types/AssetsCreateResponse.ts new file mode 100644 index 00000000..27243366 --- /dev/null +++ b/src/api/resources/assets/types/AssetsCreateResponse.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface AssetsCreateResponse { + /** Metadata for uploading the asset binary */ + uploadDetails?: Webflow.AssetsCreateResponseUploadDetails; + contentType?: string; + id?: string; + /** Parent folder for the asset */ + parentFolder?: string; + uploadUrl?: string; + /** S3 link to the asset */ + assetUrl?: string; + /** Represents the link to the asset */ + hostedUrl?: string; + /** Original file name when uploaded. If not specified at time of upload, it may be extracted from the raw file name */ + originalFileName?: string; + /** Date the asset metadata was created */ + createdOn?: Date; + /** Date the asset metadata was last updated */ + lastUpdated?: Date; +} diff --git a/src/api/resources/assets/types/AssetsCreateResponseUploadDetails.ts b/src/api/resources/assets/types/AssetsCreateResponseUploadDetails.ts new file mode 100644 index 00000000..6b8b3bbf --- /dev/null +++ b/src/api/resources/assets/types/AssetsCreateResponseUploadDetails.ts @@ -0,0 +1,20 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Metadata for uploading the asset binary + */ +export interface AssetsCreateResponseUploadDetails { + acl?: string; + bucket?: string; + xAmzAlgorithm?: string; + xAmzCredential?: string; + xAmzDate?: string; + key?: string; + policy?: string; + xAmzSignature?: string; + successActionStatus?: string; + contentType?: string; + cacheControl?: string; +} diff --git a/src/api/resources/assets/types/AssetsGetFolderResponse.ts b/src/api/resources/assets/types/AssetsGetFolderResponse.ts new file mode 100644 index 00000000..722f219f --- /dev/null +++ b/src/api/resources/assets/types/AssetsGetFolderResponse.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Asset Folder details + */ +export interface AssetsGetFolderResponse { + /** Unique identifier for the Asset Folder */ + id?: string; + /** User visible name for the Asset Folder */ + displayName?: string; + /** Pointer to parent Asset Folder (or null if root) */ + parentFolder?: string; + /** Array of Asset instances in the folder */ + assets?: string[]; + /** The unique ID of the site the Asset Folder belongs to */ + siteId?: string; + /** Date that the Asset Folder was created on */ + createdOn?: Date; + /** Date that the Asset Folder was last updated on */ + lastUpdated?: Date; +} diff --git a/src/api/resources/assets/types/AssetsGetResponse.ts b/src/api/resources/assets/types/AssetsGetResponse.ts new file mode 100644 index 00000000..0178813d --- /dev/null +++ b/src/api/resources/assets/types/AssetsGetResponse.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface AssetsGetResponse { + /** Unique identifier for this asset */ + id?: string; + /** File format type */ + contentType?: string; + /** size in bytes */ + size?: number; + /** Unique identifier for the site that hosts this asset */ + siteId?: string; + /** Link to the asset */ + hostedUrl?: string; + /** Original file name at the time of upload */ + originalFileName?: string; + /** Display name of the asset */ + displayName?: string; + /** Date the asset metadata was last updated */ + lastUpdated?: Date; + /** Date the asset metadata was created */ + createdOn?: Date; + variants?: Webflow.AssetsGetResponseVariantsItem[]; + /** The visual description of the asset */ + altText?: string; +} diff --git a/src/api/resources/assets/types/AssetsGetResponseVariantsItem.ts b/src/api/resources/assets/types/AssetsGetResponseVariantsItem.ts new file mode 100644 index 00000000..8188e627 --- /dev/null +++ b/src/api/resources/assets/types/AssetsGetResponseVariantsItem.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface AssetsGetResponseVariantsItem { + /** URL of where the asset variant is hosted */ + hostedUrl?: string; + /** Original file name of the variant */ + originalFileName?: string; + /** Display name of the variant */ + displayName?: string; + /** format of the variant */ + format?: string; + /** Width in pixels */ + width?: number; + /** Height in pixels */ + height?: number; + /** Value between 0 and 100 representing the image quality */ + quality?: number; + /** Any associated validation errors */ + error?: string; +} diff --git a/src/api/resources/assets/types/AssetsListFoldersResponse.ts b/src/api/resources/assets/types/AssetsListFoldersResponse.ts new file mode 100644 index 00000000..d01daa47 --- /dev/null +++ b/src/api/resources/assets/types/AssetsListFoldersResponse.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The Asset Folders object + */ +export interface AssetsListFoldersResponse { + /** A list of Asset folders */ + assetFolders?: Webflow.AssetsListFoldersResponseAssetFoldersItem[]; + /** Pagination object */ + pagination?: Webflow.AssetsListFoldersResponsePagination; +} diff --git a/src/api/resources/assets/types/AssetsListFoldersResponseAssetFoldersItem.ts b/src/api/resources/assets/types/AssetsListFoldersResponseAssetFoldersItem.ts new file mode 100644 index 00000000..9979069a --- /dev/null +++ b/src/api/resources/assets/types/AssetsListFoldersResponseAssetFoldersItem.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Asset Folder details + */ +export interface AssetsListFoldersResponseAssetFoldersItem { + /** Unique identifier for the Asset Folder */ + id?: string; + /** User visible name for the Asset Folder */ + displayName?: string; + /** Pointer to parent Asset Folder (or null if root) */ + parentFolder?: string; + /** Array of Asset instances in the folder */ + assets?: string[]; + /** The unique ID of the site the Asset Folder belongs to */ + siteId?: string; + /** Date that the Asset Folder was created on */ + createdOn?: Date; + /** Date that the Asset Folder was last updated on */ + lastUpdated?: Date; +} diff --git a/src/api/resources/assets/types/AssetsListFoldersResponsePagination.ts b/src/api/resources/assets/types/AssetsListFoldersResponsePagination.ts new file mode 100644 index 00000000..e78afa40 --- /dev/null +++ b/src/api/resources/assets/types/AssetsListFoldersResponsePagination.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Pagination object + */ +export interface AssetsListFoldersResponsePagination { + /** The limit used for pagination */ + limit?: number; + /** The offset used for pagination */ + offset?: number; + /** The total number of records */ + total?: number; +} diff --git a/src/api/resources/assets/types/AssetsListResponse.ts b/src/api/resources/assets/types/AssetsListResponse.ts new file mode 100644 index 00000000..fe0d0494 --- /dev/null +++ b/src/api/resources/assets/types/AssetsListResponse.ts @@ -0,0 +1,12 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * A list of assets + */ +export interface AssetsListResponse { + assets?: Webflow.AssetsListResponseAssetsItem[]; +} diff --git a/src/api/resources/assets/types/AssetsListResponseAssetsItem.ts b/src/api/resources/assets/types/AssetsListResponseAssetsItem.ts new file mode 100644 index 00000000..8a12b591 --- /dev/null +++ b/src/api/resources/assets/types/AssetsListResponseAssetsItem.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface AssetsListResponseAssetsItem { + /** Unique identifier for this asset */ + id?: string; + /** File format type */ + contentType?: string; + /** size in bytes */ + size?: number; + /** Unique identifier for the site that hosts this asset */ + siteId?: string; + /** Link to the asset */ + hostedUrl?: string; + /** Original file name at the time of upload */ + originalFileName?: string; + /** Display name of the asset */ + displayName?: string; + /** Date the asset metadata was last updated */ + lastUpdated?: Date; + /** Date the asset metadata was created */ + createdOn?: Date; + variants?: Webflow.AssetsListResponseAssetsItemVariantsItem[]; + /** The visual description of the asset */ + altText?: string; +} diff --git a/src/api/resources/assets/types/AssetsListResponseAssetsItemVariantsItem.ts b/src/api/resources/assets/types/AssetsListResponseAssetsItemVariantsItem.ts new file mode 100644 index 00000000..cad84aec --- /dev/null +++ b/src/api/resources/assets/types/AssetsListResponseAssetsItemVariantsItem.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface AssetsListResponseAssetsItemVariantsItem { + /** URL of where the asset variant is hosted */ + hostedUrl?: string; + /** Original file name of the variant */ + originalFileName?: string; + /** Display name of the variant */ + displayName?: string; + /** format of the variant */ + format?: string; + /** Width in pixels */ + width?: number; + /** Height in pixels */ + height?: number; + /** Value between 0 and 100 representing the image quality */ + quality?: number; + /** Any associated validation errors */ + error?: string; +} diff --git a/src/api/resources/assets/types/AssetsUpdateResponse.ts b/src/api/resources/assets/types/AssetsUpdateResponse.ts new file mode 100644 index 00000000..bebfe899 --- /dev/null +++ b/src/api/resources/assets/types/AssetsUpdateResponse.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface AssetsUpdateResponse { + /** Unique identifier for this asset */ + id?: string; + /** File format type */ + contentType?: string; + /** size in bytes */ + size?: number; + /** Unique identifier for the site that hosts this asset */ + siteId?: string; + /** Link to the asset */ + hostedUrl?: string; + /** Original file name at the time of upload */ + originalFileName?: string; + /** Display name of the asset */ + displayName?: string; + /** Date the asset metadata was last updated */ + lastUpdated?: Date; + /** Date the asset metadata was created */ + createdOn?: Date; + variants?: Webflow.AssetsUpdateResponseVariantsItem[]; + /** The visual description of the asset */ + altText?: string; +} diff --git a/src/api/resources/assets/types/AssetsUpdateResponseVariantsItem.ts b/src/api/resources/assets/types/AssetsUpdateResponseVariantsItem.ts new file mode 100644 index 00000000..24a1372b --- /dev/null +++ b/src/api/resources/assets/types/AssetsUpdateResponseVariantsItem.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface AssetsUpdateResponseVariantsItem { + /** URL of where the asset variant is hosted */ + hostedUrl?: string; + /** Original file name of the variant */ + originalFileName?: string; + /** Display name of the variant */ + displayName?: string; + /** format of the variant */ + format?: string; + /** Width in pixels */ + width?: number; + /** Height in pixels */ + height?: number; + /** Value between 0 and 100 representing the image quality */ + quality?: number; + /** Any associated validation errors */ + error?: string; +} diff --git a/src/api/resources/assets/types/index.ts b/src/api/resources/assets/types/index.ts new file mode 100644 index 00000000..d97b2eec --- /dev/null +++ b/src/api/resources/assets/types/index.ts @@ -0,0 +1,14 @@ +export * from "./AssetsListResponseAssetsItemVariantsItem"; +export * from "./AssetsListResponseAssetsItem"; +export * from "./AssetsListResponse"; +export * from "./AssetsCreateResponseUploadDetails"; +export * from "./AssetsCreateResponse"; +export * from "./AssetsGetResponseVariantsItem"; +export * from "./AssetsGetResponse"; +export * from "./AssetsUpdateResponseVariantsItem"; +export * from "./AssetsUpdateResponse"; +export * from "./AssetsListFoldersResponseAssetFoldersItem"; +export * from "./AssetsListFoldersResponsePagination"; +export * from "./AssetsListFoldersResponse"; +export * from "./AssetsCreateFolderResponse"; +export * from "./AssetsGetFolderResponse"; diff --git a/src/api/resources/collections/client/Client.ts b/src/api/resources/collections/client/Client.ts index ddd398b9..c2add658 100644 --- a/src/api/resources/collections/client/Client.ts +++ b/src/api/resources/collections/client/Client.ts @@ -31,7 +31,9 @@ export class Collections { constructor(protected readonly _options: Collections.Options) {} /** - * List of all Collections within a Site.

Required scope | `cms:read` + * List of all Collections within a Site. + * + * Required scope | `cms:read` * * @param {string} siteId - Unique identifier for a Site * @param {Collections.RequestOptions} requestOptions - Request-specific configuration. @@ -45,7 +47,10 @@ export class Collections { * @example * await client.collections.list("580e63e98c9a982ac9b8b741") */ - public async list(siteId: string, requestOptions?: Collections.RequestOptions): Promise { + public async list( + siteId: string, + requestOptions?: Collections.RequestOptions + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -56,8 +61,8 @@ export class Collections { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -68,7 +73,7 @@ export class Collections { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.CollectionList.parseOrThrow(_response.body, { + return serializers.CollectionsListResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -86,15 +91,7 @@ export class Collections { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -121,7 +118,9 @@ export class Collections { } /** - * Create a Collection for a site.

Required scope | `cms:write` + * Create a Collection for a site. + * + * Required scope | `cms:write` * * @param {string} siteId - Unique identifier for a Site * @param {Webflow.CollectionsCreateRequest} request @@ -144,7 +143,7 @@ export class Collections { siteId: string, request: Webflow.CollectionsCreateRequest, requestOptions?: Collections.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -155,8 +154,8 @@ export class Collections { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -168,7 +167,7 @@ export class Collections { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.Collection.parseOrThrow(_response.body, { + return serializers.CollectionsCreateResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -186,15 +185,7 @@ export class Collections { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -221,7 +212,9 @@ export class Collections { } /** - * Get the full details of a collection from its ID.

Required scope | `cms:read` + * Get the full details of a collection from its ID. + * + * Required scope | `cms:read` * * @param {string} collectionId - Unique identifier for a Collection * @param {Collections.RequestOptions} requestOptions - Request-specific configuration. @@ -235,7 +228,10 @@ export class Collections { * @example * await client.collections.get("580e63fc8c9a982ac9b8b745") */ - public async get(collectionId: string, requestOptions?: Collections.RequestOptions): Promise { + public async get( + collectionId: string, + requestOptions?: Collections.RequestOptions + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -246,8 +242,8 @@ export class Collections { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -258,7 +254,7 @@ export class Collections { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.Collection.parseOrThrow(_response.body, { + return serializers.CollectionsGetResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -276,15 +272,7 @@ export class Collections { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -311,94 +299,11 @@ export class Collections { } /** - * Delete a collection using its ID.

Required scope | `cms:write` - * - * @param {string} collectionId - Unique identifier for a Collection - * @param {Collections.RequestOptions} requestOptions - Request-specific configuration. + * Delete a collection using its ID. * - * @throws {@link Webflow.BadRequestError} - * @throws {@link Webflow.UnauthorizedError} - * @throws {@link Webflow.NotFoundError} - * @throws {@link Webflow.TooManyRequestsError} - * @throws {@link Webflow.InternalServerError} - * - * @example - * await client.collections.deleteCollection("580e63fc8c9a982ac9b8b745") - */ - public async deleteCollection(collectionId: string, requestOptions?: Collections.RequestOptions): Promise { - const _response = await core.fetcher({ - url: urlJoin( - (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `collections/${encodeURIComponent(collectionId)}` - ), - method: "DELETE", - headers: { - Authorization: await this._getAuthorizationHeader(), - "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", - "X-Fern-Runtime": core.RUNTIME.type, - "X-Fern-Runtime-Version": core.RUNTIME.version, - }, - contentType: "application/json", - requestType: "json", - timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, - maxRetries: requestOptions?.maxRetries, - abortSignal: requestOptions?.abortSignal, - }); - if (_response.ok) { - return; - } - - if (_response.error.reason === "status-code") { - switch (_response.error.statusCode) { - case 400: - throw new Webflow.BadRequestError(_response.error.body); - case 401: - throw new Webflow.UnauthorizedError(_response.error.body); - case 404: - throw new Webflow.NotFoundError(_response.error.body); - case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); - case 500: - throw new Webflow.InternalServerError(_response.error.body); - default: - throw new errors.WebflowError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - }); - } - } - - switch (_response.error.reason) { - case "non-json": - throw new errors.WebflowError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - }); - case "timeout": - throw new errors.WebflowTimeoutError(); - case "unknown": - throw new errors.WebflowError({ - message: _response.error.errorMessage, - }); - } - } - - /** - * Delete a custom field in a collection. This endpoint does not currently support bulk deletion.

Required scope | `cms:write` + * Required scope | `cms:write` * * @param {string} collectionId - Unique identifier for a Collection - * @param {string} fieldId - Unique identifier for a Field in a collection * @param {Collections.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Webflow.BadRequestError} @@ -408,25 +313,21 @@ export class Collections { * @throws {@link Webflow.InternalServerError} * * @example - * await client.collections.delete("580e63fc8c9a982ac9b8b745", "580e63fc8c9a982ac9b8b745") + * await client.collections.delete("580e63fc8c9a982ac9b8b745") */ - public async delete( - collectionId: string, - fieldId: string, - requestOptions?: Collections.RequestOptions - ): Promise { + public async delete(collectionId: string, requestOptions?: Collections.RequestOptions): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, - `collections/${encodeURIComponent(collectionId)}/fields/${encodeURIComponent(fieldId)}` + `collections/${encodeURIComponent(collectionId)}` ), method: "DELETE", headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -449,15 +350,7 @@ export class Collections { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: diff --git a/src/api/resources/collections/index.ts b/src/api/resources/collections/index.ts index 4ce0f390..a931b363 100644 --- a/src/api/resources/collections/index.ts +++ b/src/api/resources/collections/index.ts @@ -1,2 +1,3 @@ +export * from "./types"; export * from "./resources"; export * from "./client"; diff --git a/src/api/resources/collections/resources/fields/client/Client.ts b/src/api/resources/collections/resources/fields/client/Client.ts index 558f0f01..c4384602 100644 --- a/src/api/resources/collections/resources/fields/client/Client.ts +++ b/src/api/resources/collections/resources/fields/client/Client.ts @@ -29,10 +29,19 @@ export class Fields { constructor(protected readonly _options: Fields.Options) {} /** - * Create a custom field in a collection.

Slugs must be all lowercase letters without spaces. If you pass a string with uppercase letters and/or spaces to the "Slug" property, Webflow will convert the slug to lowercase and replace spaces with "-."

Only some field types can be created through the API. This endpoint does not currently support bulk creation.

Required scope | `cms:write` + * Create a custom field in a collection. + * + * Slugs must be all lowercase letters without spaces. + * If you pass a string with uppercase letters and/or spaces to the "Slug" property, Webflow will + * convert the slug to lowercase and replace spaces with "-." + * + * Only some field types can be created through the API. + * This endpoint does not currently support bulk creation. + * + * Required scope | `cms:write` * * @param {string} collectionId - Unique identifier for a Collection - * @param {Webflow.collections.FieldCreate} request + * @param {Webflow.collections.FieldsCreateRequest} request * @param {Fields.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Webflow.BadRequestError} @@ -51,9 +60,9 @@ export class Fields { */ public async create( collectionId: string, - request: Webflow.collections.FieldCreate, + request: Webflow.collections.FieldsCreateRequest, requestOptions?: Fields.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -64,20 +73,20 @@ export class Fields { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", requestType: "json", - body: serializers.collections.FieldCreate.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), + body: serializers.collections.FieldsCreateRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.Field.parseOrThrow(_response.body, { + return serializers.collections.FieldsCreateResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -95,15 +104,86 @@ export class Fields { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); + case 500: + throw new Webflow.InternalServerError(_response.error.body); + default: + throw new errors.WebflowError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + }); + } + } + + switch (_response.error.reason) { + case "non-json": + throw new errors.WebflowError({ + statusCode: _response.error.statusCode, + body: _response.error.rawBody, + }); + case "timeout": + throw new errors.WebflowTimeoutError(); + case "unknown": + throw new errors.WebflowError({ + message: _response.error.errorMessage, + }); + } + } + + /** + * Delete a custom field in a collection. This endpoint does not currently support bulk deletion. + * + * Required scope | `cms:write` + * + * @param {string} collectionId - Unique identifier for a Collection + * @param {string} fieldId - Unique identifier for a Field in a collection + * @param {Fields.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Webflow.BadRequestError} + * @throws {@link Webflow.UnauthorizedError} + * @throws {@link Webflow.NotFoundError} + * @throws {@link Webflow.TooManyRequestsError} + * @throws {@link Webflow.InternalServerError} + * + * @example + * await client.collections.fields.delete("580e63fc8c9a982ac9b8b745", "580e63fc8c9a982ac9b8b745") + */ + public async delete(collectionId: string, fieldId: string, requestOptions?: Fields.RequestOptions): Promise { + const _response = await core.fetcher({ + url: urlJoin( + (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, + `collections/${encodeURIComponent(collectionId)}/fields/${encodeURIComponent(fieldId)}` + ), + method: "DELETE", + headers: { + Authorization: await this._getAuthorizationHeader(), + "X-Fern-Language": "JavaScript", + "X-Fern-SDK-Name": "webflow-api", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, + }, + contentType: "application/json", + requestType: "json", + timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, + maxRetries: requestOptions?.maxRetries, + abortSignal: requestOptions?.abortSignal, + }); + if (_response.ok) { + return; + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 400: + throw new Webflow.BadRequestError(_response.error.body); + case 401: + throw new Webflow.UnauthorizedError(_response.error.body); + case 404: + throw new Webflow.NotFoundError(_response.error.body); + case 429: + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -130,11 +210,13 @@ export class Fields { } /** - * Update a custom field in a collection.

Required scope | `cms:write` + * Update a custom field in a collection. + * + * Required scope | `cms:write` * * @param {string} collectionId - Unique identifier for a Collection * @param {string} fieldId - Unique identifier for a Field in a collection - * @param {Webflow.collections.FieldUpdate} request + * @param {Webflow.collections.FieldsUpdateRequest} request * @param {Fields.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Webflow.BadRequestError} @@ -153,9 +235,9 @@ export class Fields { public async update( collectionId: string, fieldId: string, - request: Webflow.collections.FieldUpdate = {}, + request: Webflow.collections.FieldsUpdateRequest = {}, requestOptions?: Fields.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -166,20 +248,20 @@ export class Fields { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", requestType: "json", - body: serializers.collections.FieldUpdate.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), + body: serializers.collections.FieldsUpdateRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.Field.parseOrThrow(_response.body, { + return serializers.collections.FieldsUpdateResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -197,15 +279,7 @@ export class Fields { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: diff --git a/src/api/resources/collections/resources/fields/client/requests/FieldCreate.ts b/src/api/resources/collections/resources/fields/client/requests/FieldCreate.ts deleted file mode 100644 index a44b1c12..00000000 --- a/src/api/resources/collections/resources/fields/client/requests/FieldCreate.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../../../../../../index"; - -/** - * @example - * { - * isRequired: false, - * type: "RichText", - * displayName: "Post Body", - * helpText: "Add the body of your post here" - * } - */ -export interface FieldCreate { - /** define whether a field is required in a collection */ - isRequired?: boolean; - /** Choose these appropriate field type for your collection data */ - type: Webflow.collections.FieldCreateType; - /** The name of a field */ - displayName: string; - /** Additional text to help anyone filling out this field */ - helpText?: string; -} diff --git a/src/api/resources/collections/resources/fields/client/requests/FieldUpdate.ts b/src/api/resources/collections/resources/fields/client/requests/FieldUpdate.ts deleted file mode 100644 index cf3b7b1c..00000000 --- a/src/api/resources/collections/resources/fields/client/requests/FieldUpdate.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * @example - * { - * isRequired: false, - * displayName: "Post Body", - * helpText: "Add the body of your post here" - * } - */ -export interface FieldUpdate { - /** Define whether a field is required in a collection */ - isRequired?: boolean; - /** The name of a field */ - displayName?: string; - /** Additional text to help anyone filling out this field */ - helpText?: string; -} diff --git a/src/api/resources/collections/resources/fields/client/requests/FieldsCreateRequest.ts b/src/api/resources/collections/resources/fields/client/requests/FieldsCreateRequest.ts new file mode 100644 index 00000000..8f1bdf87 --- /dev/null +++ b/src/api/resources/collections/resources/fields/client/requests/FieldsCreateRequest.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../../index"; + +/** + * @example + * { + * isRequired: false, + * type: "RichText", + * displayName: "Post Body", + * helpText: "Add the body of your post here" + * } + */ +export interface FieldsCreateRequest { + /** define whether a field is required in a collection */ + isRequired?: boolean; + /** Choose these appropriate field type for your collection data */ + type: Webflow.collections.FieldsCreateRequestType; + /** The name of a field */ + displayName: string; + /** Additional text to help anyone filling out this field */ + helpText?: string; +} diff --git a/src/api/resources/collections/resources/fields/client/requests/FieldsUpdateRequest.ts b/src/api/resources/collections/resources/fields/client/requests/FieldsUpdateRequest.ts new file mode 100644 index 00000000..81dc208b --- /dev/null +++ b/src/api/resources/collections/resources/fields/client/requests/FieldsUpdateRequest.ts @@ -0,0 +1,20 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * { + * isRequired: false, + * displayName: "Post Body", + * helpText: "Add the body of your post here" + * } + */ +export interface FieldsUpdateRequest { + /** Define whether a field is required in a collection */ + isRequired?: boolean; + /** The name of a field */ + displayName?: string; + /** Additional text to help anyone filling out this field */ + helpText?: string; +} diff --git a/src/api/resources/collections/resources/fields/client/requests/index.ts b/src/api/resources/collections/resources/fields/client/requests/index.ts index 899552b9..8a377a39 100644 --- a/src/api/resources/collections/resources/fields/client/requests/index.ts +++ b/src/api/resources/collections/resources/fields/client/requests/index.ts @@ -1,2 +1,2 @@ -export { type FieldCreate } from "./FieldCreate"; -export { type FieldUpdate } from "./FieldUpdate"; +export { type FieldsCreateRequest } from "./FieldsCreateRequest"; +export { type FieldsUpdateRequest } from "./FieldsUpdateRequest"; diff --git a/src/api/resources/collections/resources/fields/types/FieldCreateType.ts b/src/api/resources/collections/resources/fields/types/FieldCreateType.ts deleted file mode 100644 index af640e8b..00000000 --- a/src/api/resources/collections/resources/fields/types/FieldCreateType.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * Choose these appropriate field type for your collection data - */ -export type FieldCreateType = - | "PlainText" - | "RichText" - | "Image" - | "MultiImage" - | "Video" - | "Link" - | "Email" - | "Phone" - | "Number" - | "DateTime" - | "Switch" - | "Color" - | "File"; - -export const FieldCreateType = { - PlainText: "PlainText", - RichText: "RichText", - Image: "Image", - MultiImage: "MultiImage", - Video: "Video", - Link: "Link", - Email: "Email", - Phone: "Phone", - Number: "Number", - DateTime: "DateTime", - Switch: "Switch", - Color: "Color", - File: "File", -} as const; diff --git a/src/api/resources/collections/resources/fields/types/FieldsCreateRequestType.ts b/src/api/resources/collections/resources/fields/types/FieldsCreateRequestType.ts new file mode 100644 index 00000000..b0c61b41 --- /dev/null +++ b/src/api/resources/collections/resources/fields/types/FieldsCreateRequestType.ts @@ -0,0 +1,37 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Choose these appropriate field type for your collection data + */ +export type FieldsCreateRequestType = + | "PlainText" + | "RichText" + | "Image" + | "MultiImage" + | "Video" + | "Link" + | "Email" + | "Phone" + | "Number" + | "DateTime" + | "Switch" + | "Color" + | "File"; + +export const FieldsCreateRequestType = { + PlainText: "PlainText", + RichText: "RichText", + Image: "Image", + MultiImage: "MultiImage", + Video: "Video", + Link: "Link", + Email: "Email", + Phone: "Phone", + Number: "Number", + DateTime: "DateTime", + Switch: "Switch", + Color: "Color", + File: "File", +} as const; diff --git a/src/api/resources/collections/resources/fields/types/FieldsCreateResponse.ts b/src/api/resources/collections/resources/fields/types/FieldsCreateResponse.ts new file mode 100644 index 00000000..67e1c1a7 --- /dev/null +++ b/src/api/resources/collections/resources/fields/types/FieldsCreateResponse.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +/** + * The details of a field in a collection + */ +export interface FieldsCreateResponse { + /** Unique identifier for a Field */ + id: string; + /** define whether a field is required in a collection */ + isRequired: boolean; + /** Define whether the field is editable */ + isEditable?: boolean; + /** Choose these appropriate field type for your collection data */ + type: Webflow.collections.FieldsCreateResponseType; + /** Slug of Field in Site URL structure. Slugs should be all lowercase with no spaces. Any spaces will be converted to "-." */ + slug?: string; + /** The name of a field */ + displayName: string; + /** Additional text to help anyone filling out this field */ + helpText?: string; +} diff --git a/src/api/resources/collections/resources/fields/types/FieldsCreateResponseType.ts b/src/api/resources/collections/resources/fields/types/FieldsCreateResponseType.ts new file mode 100644 index 00000000..f0406444 --- /dev/null +++ b/src/api/resources/collections/resources/fields/types/FieldsCreateResponseType.ts @@ -0,0 +1,37 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Choose these appropriate field type for your collection data + */ +export type FieldsCreateResponseType = + | "PlainText" + | "RichText" + | "Image" + | "MultiImage" + | "Video" + | "Link" + | "Email" + | "Phone" + | "Number" + | "DateTime" + | "Switch" + | "Color" + | "ExtFileRef"; + +export const FieldsCreateResponseType = { + PlainText: "PlainText", + RichText: "RichText", + Image: "Image", + MultiImage: "MultiImage", + Video: "Video", + Link: "Link", + Email: "Email", + Phone: "Phone", + Number: "Number", + DateTime: "DateTime", + Switch: "Switch", + Color: "Color", + ExtFileRef: "ExtFileRef", +} as const; diff --git a/src/api/resources/collections/resources/fields/types/FieldsUpdateResponse.ts b/src/api/resources/collections/resources/fields/types/FieldsUpdateResponse.ts new file mode 100644 index 00000000..26b6e07f --- /dev/null +++ b/src/api/resources/collections/resources/fields/types/FieldsUpdateResponse.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +/** + * The details of a field in a collection + */ +export interface FieldsUpdateResponse { + /** Unique identifier for a Field */ + id: string; + /** define whether a field is required in a collection */ + isRequired: boolean; + /** Define whether the field is editable */ + isEditable?: boolean; + /** Choose these appropriate field type for your collection data */ + type: Webflow.collections.FieldsUpdateResponseType; + /** Slug of Field in Site URL structure. Slugs should be all lowercase with no spaces. Any spaces will be converted to "-." */ + slug?: string; + /** The name of a field */ + displayName: string; + /** Additional text to help anyone filling out this field */ + helpText?: string; +} diff --git a/src/api/resources/collections/resources/fields/types/FieldsUpdateResponseType.ts b/src/api/resources/collections/resources/fields/types/FieldsUpdateResponseType.ts new file mode 100644 index 00000000..7b4b6d25 --- /dev/null +++ b/src/api/resources/collections/resources/fields/types/FieldsUpdateResponseType.ts @@ -0,0 +1,37 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Choose these appropriate field type for your collection data + */ +export type FieldsUpdateResponseType = + | "PlainText" + | "RichText" + | "Image" + | "MultiImage" + | "Video" + | "Link" + | "Email" + | "Phone" + | "Number" + | "DateTime" + | "Switch" + | "Color" + | "ExtFileRef"; + +export const FieldsUpdateResponseType = { + PlainText: "PlainText", + RichText: "RichText", + Image: "Image", + MultiImage: "MultiImage", + Video: "Video", + Link: "Link", + Email: "Email", + Phone: "Phone", + Number: "Number", + DateTime: "DateTime", + Switch: "Switch", + Color: "Color", + ExtFileRef: "ExtFileRef", +} as const; diff --git a/src/api/resources/collections/resources/fields/types/index.ts b/src/api/resources/collections/resources/fields/types/index.ts index 56f55977..488647f5 100644 --- a/src/api/resources/collections/resources/fields/types/index.ts +++ b/src/api/resources/collections/resources/fields/types/index.ts @@ -1 +1,5 @@ -export * from "./FieldCreateType"; +export * from "./FieldsCreateRequestType"; +export * from "./FieldsCreateResponseType"; +export * from "./FieldsCreateResponse"; +export * from "./FieldsUpdateResponseType"; +export * from "./FieldsUpdateResponse"; diff --git a/src/api/resources/collections/resources/items/client/Client.ts b/src/api/resources/collections/resources/items/client/Client.ts index 43f3ac5d..d732acdd 100644 --- a/src/api/resources/collections/resources/items/client/Client.ts +++ b/src/api/resources/collections/resources/items/client/Client.ts @@ -29,7 +29,9 @@ export class Items { constructor(protected readonly _options: Items.Options) {} /** - * List of all Items within a Collection.

Required scope | `CMS:read` + * List of all Items within a Collection. + * + * Required scope | `CMS:read` * * @param {string} collectionId - Unique identifier for a Collection * @param {Webflow.collections.ItemsListItemsRequest} request @@ -48,7 +50,7 @@ export class Items { collectionId: string, request: Webflow.collections.ItemsListItemsRequest = {}, requestOptions?: Items.RequestOptions - ): Promise { + ): Promise { const { cmsLocaleId, offset, limit, name, slug, sortBy, sortOrder } = request; const _queryParams: Record = {}; if (cmsLocaleId != null) { @@ -89,8 +91,8 @@ export class Items { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -102,7 +104,7 @@ export class Items { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.CollectionItemList.parseOrThrow(_response.body, { + return serializers.collections.ItemsListItemsResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -120,15 +122,7 @@ export class Items { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -155,10 +149,14 @@ export class Items { } /** - * Create Item in a Collection.

To create items across multiple locales, please use the bulk item endpoint.

Required scope | CMS:write + * Create Item(s) in a Collection. + * + * To create items across multiple locales, please use [this endpoint.](/data/v2.0.0/reference/cms/collection-items/bulk-items/create-items) + * + * Required scope | `CMS:write` * * @param {string} collectionId - Unique identifier for a Collection - * @param {Webflow.CollectionItem} request + * @param {Webflow.collections.ItemsCreateItemRequest} request * @param {Items.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Webflow.BadRequestError} @@ -169,11 +167,6 @@ export class Items { * * @example * await client.collections.items.createItem("580e63fc8c9a982ac9b8b745", { - * id: "42b720ef280c7a7a3be8cabe", - * cmsLocaleId: "653ad57de882f528b32e810e", - * lastPublished: "2022-11-29T16:22:43.159Z", - * lastUpdated: "2022-11-17T17:19:43.282Z", - * createdOn: "2022-11-17T17:11:57.148Z", * isArchived: false, * isDraft: false, * fieldData: { @@ -181,12 +174,31 @@ export class Items { * slug: "pan-galactic-gargle-blaster" * } * }) + * + * @example + * await client.collections.items.createItem("580e63fc8c9a982ac9b8b745", { + * items: [{ + * isArchived: false, + * isDraft: false, + * fieldData: { + * name: "Senior Data Analyst", + * slug: "senior-data-analyst" + * } + * }, { + * isArchived: false, + * isDraft: false, + * fieldData: { + * name: "Product Manager", + * slug: "product-manager" + * } + * }] + * }) */ public async createItem( collectionId: string, - request: Webflow.CollectionItem, + request: Webflow.collections.ItemsCreateItemRequest, requestOptions?: Items.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -197,20 +209,22 @@ export class Items { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", requestType: "json", - body: serializers.CollectionItem.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), + body: serializers.collections.ItemsCreateItemRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.CollectionItem.parseOrThrow(_response.body, { + return serializers.collections.ItemsCreateItemResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -228,15 +242,7 @@ export class Items { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -263,7 +269,242 @@ export class Items { } /** - * List of all live Items within a Collection.

Required scope | `CMS:read` + * Delete Items from a Collection. + * + * **Note:** If the `cmsLocaleId` parameter is undefined or empty and the items are localized, items will be deleted only in the primary locale. + * + * Required scope | `CMS:write` + * + * @param {string} collectionId - Unique identifier for a Collection + * @param {Webflow.collections.ItemsDeleteItemsRequest} request + * @param {Items.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Webflow.BadRequestError} + * @throws {@link Webflow.UnauthorizedError} + * @throws {@link Webflow.NotFoundError} + * @throws {@link Webflow.TooManyRequestsError} + * @throws {@link Webflow.InternalServerError} + * + * @example + * await client.collections.items.deleteItems("580e63fc8c9a982ac9b8b745") + */ + public async deleteItems( + collectionId: string, + request: Webflow.collections.ItemsDeleteItemsRequest = {}, + requestOptions?: Items.RequestOptions + ): Promise { + const _response = await core.fetcher({ + url: urlJoin( + (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, + `collections/${encodeURIComponent(collectionId)}/items` + ), + method: "DELETE", + headers: { + Authorization: await this._getAuthorizationHeader(), + "X-Fern-Language": "JavaScript", + "X-Fern-SDK-Name": "webflow-api", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, + }, + contentType: "application/json", + requestType: "json", + body: serializers.collections.ItemsDeleteItemsRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + }), + timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, + maxRetries: requestOptions?.maxRetries, + abortSignal: requestOptions?.abortSignal, + }); + if (_response.ok) { + return; + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 400: + throw new Webflow.BadRequestError(_response.error.body); + case 401: + throw new Webflow.UnauthorizedError(_response.error.body); + case 404: + throw new Webflow.NotFoundError(_response.error.body); + case 429: + throw new Webflow.TooManyRequestsError(_response.error.body); + case 500: + throw new Webflow.InternalServerError(_response.error.body); + default: + throw new errors.WebflowError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + }); + } + } + + switch (_response.error.reason) { + case "non-json": + throw new errors.WebflowError({ + statusCode: _response.error.statusCode, + body: _response.error.rawBody, + }); + case "timeout": + throw new errors.WebflowTimeoutError(); + case "unknown": + throw new errors.WebflowError({ + message: _response.error.errorMessage, + }); + } + } + + /** + * Update a single item or multiple items (up to 100) in a Collection. + * + * **Note:** If the `cmsLocaleId` parameter is undefined or empty and the items are localized, items will be updated only in the primary locale. + * + * Required scope | `CMS:write` + * + * @param {string} collectionId - Unique identifier for a Collection + * @param {Webflow.collections.ItemsUpdateItemsRequest} request + * @param {Items.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Webflow.BadRequestError} + * @throws {@link Webflow.UnauthorizedError} + * @throws {@link Webflow.NotFoundError} + * @throws {@link Webflow.TooManyRequestsError} + * @throws {@link Webflow.InternalServerError} + * + * @example + * await client.collections.items.updateItems("580e63fc8c9a982ac9b8b745", { + * items: [{ + * id: "66f6ed9576ddacf3149d5ea6", + * cmsLocaleId: "66f6e966c9e1dc700a857ca5", + * fieldData: { + * name: "Ne Paniquez Pas", + * slug: "ne-paniquez-pas" + * } + * }, { + * id: "66f6ed9576ddacf3149d5ea6", + * cmsLocaleId: "66f6e966c9e1dc700a857ca4", + * fieldData: { + * name: "No Entrar en P\u00E1nico", + * slug: "no-entrar-en-panico" + * } + * }, { + * id: "66f6ed9576ddacf3149d5eaa", + * cmsLocaleId: "66f6e966c9e1dc700a857ca5", + * fieldData: { + * name: "Au Revoir et Merci pour Tous les Poissons", + * slug: "au-revoir-et-merci" + * } + * }, { + * id: "66f6ed9576ddacf3149d5eaa", + * cmsLocaleId: "66f6e966c9e1dc700a857ca4", + * fieldData: { + * name: "Hasta Luego y Gracias por Todo el Pescado", + * slug: "hasta-luego-y-gracias" + * } + * }] + * }) + * + * @example + * await client.collections.items.updateItems("580e63fc8c9a982ac9b8b745", { + * items: [{ + * id: "580e64008c9a982ac9b8b754", + * isArchived: false, + * isDraft: false, + * fieldData: { + * name: "Senior Data Analyst", + * slug: "senior-data-analyst" + * } + * }, { + * id: "580e64008c9a982ac9b8b754", + * isArchived: false, + * isDraft: false, + * fieldData: { + * name: "Product Manager", + * slug: "product-manager" + * } + * }] + * }) + */ + public async updateItems( + collectionId: string, + request: Webflow.collections.ItemsUpdateItemsRequest = {}, + requestOptions?: Items.RequestOptions + ): Promise { + const _response = await core.fetcher({ + url: urlJoin( + (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, + `collections/${encodeURIComponent(collectionId)}/items` + ), + method: "PATCH", + headers: { + Authorization: await this._getAuthorizationHeader(), + "X-Fern-Language": "JavaScript", + "X-Fern-SDK-Name": "webflow-api", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, + }, + contentType: "application/json", + requestType: "json", + body: serializers.collections.ItemsUpdateItemsRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + }), + timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, + maxRetries: requestOptions?.maxRetries, + abortSignal: requestOptions?.abortSignal, + }); + if (_response.ok) { + return serializers.collections.ItemsUpdateItemsResponse.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }); + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 400: + throw new Webflow.BadRequestError(_response.error.body); + case 401: + throw new Webflow.UnauthorizedError(_response.error.body); + case 404: + throw new Webflow.NotFoundError(_response.error.body); + case 429: + throw new Webflow.TooManyRequestsError(_response.error.body); + case 500: + throw new Webflow.InternalServerError(_response.error.body); + default: + throw new errors.WebflowError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + }); + } + } + + switch (_response.error.reason) { + case "non-json": + throw new errors.WebflowError({ + statusCode: _response.error.statusCode, + body: _response.error.rawBody, + }); + case "timeout": + throw new errors.WebflowTimeoutError(); + case "unknown": + throw new errors.WebflowError({ + message: _response.error.errorMessage, + }); + } + } + + /** + * List of all live Items within a Collection. + * + * Required scope | `CMS:read` * * @param {string} collectionId - Unique identifier for a Collection * @param {Webflow.collections.ItemsListItemsLiveRequest} request @@ -282,7 +523,7 @@ export class Items { collectionId: string, request: Webflow.collections.ItemsListItemsLiveRequest = {}, requestOptions?: Items.RequestOptions - ): Promise { + ): Promise { const { cmsLocaleId, offset, limit, name, slug, sortBy, sortOrder } = request; const _queryParams: Record = {}; if (cmsLocaleId != null) { @@ -323,8 +564,8 @@ export class Items { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -336,7 +577,7 @@ export class Items { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.CollectionItemList.parseOrThrow(_response.body, { + return serializers.collections.ItemsListItemsLiveResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -354,15 +595,7 @@ export class Items { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -389,10 +622,14 @@ export class Items { } /** - * Create live Item in a Collection. This Item will be published to the live site.

To create items across multiple locales, please use this endpoint.

Required scope | `CMS:write` + * Create live Item(s) in a Collection. The Item(s) will be published to the live site. + * + * To create items across multiple locales, [please use this endpoint.](/v2.0.0/data/reference/cms/collection-items/bulk-items/create-items) + * + * Required scope | `CMS:write` * * @param {string} collectionId - Unique identifier for a Collection - * @param {Webflow.CollectionItem} request + * @param {Webflow.collections.ItemsCreateItemLiveRequest} request * @param {Items.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Webflow.BadRequestError} @@ -403,11 +640,6 @@ export class Items { * * @example * await client.collections.items.createItemLive("580e63fc8c9a982ac9b8b745", { - * id: "42b720ef280c7a7a3be8cabe", - * cmsLocaleId: "653ad57de882f528b32e810e", - * lastPublished: "2022-11-29T16:22:43.159Z", - * lastUpdated: "2022-11-17T17:19:43.282Z", - * createdOn: "2022-11-17T17:11:57.148Z", * isArchived: false, * isDraft: false, * fieldData: { @@ -415,12 +647,31 @@ export class Items { * slug: "pan-galactic-gargle-blaster" * } * }) + * + * @example + * await client.collections.items.createItemLive("580e63fc8c9a982ac9b8b745", { + * items: [{ + * isArchived: false, + * isDraft: false, + * fieldData: { + * name: "Senior Data Analyst", + * slug: "senior-data-analyst" + * } + * }, { + * isArchived: false, + * isDraft: false, + * fieldData: { + * name: "Product Manager", + * slug: "product-manager" + * } + * }] + * }) */ public async createItemLive( collectionId: string, - request: Webflow.CollectionItem, + request: Webflow.collections.ItemsCreateItemLiveRequest, requestOptions?: Items.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -431,20 +682,255 @@ export class Items { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, + }, + contentType: "application/json", + requestType: "json", + body: serializers.collections.ItemsCreateItemLiveRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + }), + timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, + maxRetries: requestOptions?.maxRetries, + abortSignal: requestOptions?.abortSignal, + }); + if (_response.ok) { + return serializers.collections.ItemsCreateItemLiveResponse.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }); + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 400: + throw new Webflow.BadRequestError(_response.error.body); + case 401: + throw new Webflow.UnauthorizedError(_response.error.body); + case 404: + throw new Webflow.NotFoundError(_response.error.body); + case 429: + throw new Webflow.TooManyRequestsError(_response.error.body); + case 500: + throw new Webflow.InternalServerError(_response.error.body); + default: + throw new errors.WebflowError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + }); + } + } + + switch (_response.error.reason) { + case "non-json": + throw new errors.WebflowError({ + statusCode: _response.error.statusCode, + body: _response.error.rawBody, + }); + case "timeout": + throw new errors.WebflowTimeoutError(); + case "unknown": + throw new errors.WebflowError({ + message: _response.error.errorMessage, + }); + } + } + + /** + * Remove an item or multiple items (up to 100 items) from the live site. Deleting published items will unpublish the items from the live site and set them to draft. + * + * **Note:** If the `cmsLocaleId` parameter is undefined or empty and the items are localized, items will be unpublished only in the primary locale. + * + * Required scope | `CMS:write` + * + * @param {string} collectionId - Unique identifier for a Collection + * @param {Webflow.collections.ItemsDeleteItemsLiveRequest} request + * @param {Items.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Webflow.BadRequestError} + * @throws {@link Webflow.UnauthorizedError} + * @throws {@link Webflow.NotFoundError} + * @throws {@link Webflow.TooManyRequestsError} + * @throws {@link Webflow.InternalServerError} + * + * @example + * await client.collections.items.deleteItemsLive("580e63fc8c9a982ac9b8b745") + */ + public async deleteItemsLive( + collectionId: string, + request: Webflow.collections.ItemsDeleteItemsLiveRequest = {}, + requestOptions?: Items.RequestOptions + ): Promise { + const _response = await core.fetcher({ + url: urlJoin( + (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, + `collections/${encodeURIComponent(collectionId)}/items/live` + ), + method: "DELETE", + headers: { + Authorization: await this._getAuthorizationHeader(), + "X-Fern-Language": "JavaScript", + "X-Fern-SDK-Name": "webflow-api", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", requestType: "json", - body: serializers.CollectionItem.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), + body: serializers.collections.ItemsDeleteItemsLiveRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.CollectionItem.parseOrThrow(_response.body, { + return; + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 400: + throw new Webflow.BadRequestError(_response.error.body); + case 401: + throw new Webflow.UnauthorizedError(_response.error.body); + case 404: + throw new Webflow.NotFoundError(_response.error.body); + case 429: + throw new Webflow.TooManyRequestsError(_response.error.body); + case 500: + throw new Webflow.InternalServerError(_response.error.body); + default: + throw new errors.WebflowError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + }); + } + } + + switch (_response.error.reason) { + case "non-json": + throw new errors.WebflowError({ + statusCode: _response.error.statusCode, + body: _response.error.rawBody, + }); + case "timeout": + throw new errors.WebflowTimeoutError(); + case "unknown": + throw new errors.WebflowError({ + message: _response.error.errorMessage, + }); + } + } + + /** + * Update a single live item or multiple live items (up to 100) in a Collection + * + * **Note:** If the `cmsLocaleId` parameter is undefined or empty and the items are localized, items will be updated only in the primary locale. + * + * Required scope | `CMS:write` + * + * @param {string} collectionId - Unique identifier for a Collection + * @param {Webflow.collections.ItemsUpdateItemsLiveRequest} request + * @param {Items.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Webflow.BadRequestError} + * @throws {@link Webflow.UnauthorizedError} + * @throws {@link Webflow.NotFoundError} + * @throws {@link Webflow.TooManyRequestsError} + * @throws {@link Webflow.InternalServerError} + * + * @example + * await client.collections.items.updateItemsLive("580e63fc8c9a982ac9b8b745", { + * items: [{ + * id: "66f6ed9576ddacf3149d5ea6", + * cmsLocaleId: "66f6e966c9e1dc700a857ca5", + * fieldData: { + * name: "Ne Paniquez Pas", + * slug: "ne-paniquez-pas" + * } + * }, { + * id: "66f6ed9576ddacf3149d5ea6", + * cmsLocaleId: "66f6e966c9e1dc700a857ca4", + * fieldData: { + * name: "No Entrar en P\u00E1nico", + * slug: "no-entrar-en-panico" + * } + * }, { + * id: "66f6ed9576ddacf3149d5eaa", + * cmsLocaleId: "66f6e966c9e1dc700a857ca5", + * fieldData: { + * name: "Au Revoir et Merci pour Tous les Poissons", + * slug: "au-revoir-et-merci" + * } + * }, { + * id: "66f6ed9576ddacf3149d5eaa", + * cmsLocaleId: "66f6e966c9e1dc700a857ca4", + * fieldData: { + * name: "Hasta Luego y Gracias por Todo el Pescado", + * slug: "hasta-luego-y-gracias" + * } + * }] + * }) + * + * @example + * await client.collections.items.updateItemsLive("580e63fc8c9a982ac9b8b745", { + * items: [{ + * id: "580e64008c9a982ac9b8b754", + * isArchived: false, + * isDraft: false, + * fieldData: { + * name: "Senior Data Analyst", + * slug: "senior-data-analyst" + * } + * }, { + * id: "580e64008c9a982ac9b8b754", + * isArchived: false, + * isDraft: false, + * fieldData: { + * name: "Product Manager", + * slug: "product-manager" + * } + * }] + * }) + */ + public async updateItemsLive( + collectionId: string, + request: Webflow.collections.ItemsUpdateItemsLiveRequest = {}, + requestOptions?: Items.RequestOptions + ): Promise { + const _response = await core.fetcher({ + url: urlJoin( + (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, + `collections/${encodeURIComponent(collectionId)}/items/live` + ), + method: "PATCH", + headers: { + Authorization: await this._getAuthorizationHeader(), + "X-Fern-Language": "JavaScript", + "X-Fern-SDK-Name": "webflow-api", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, + }, + contentType: "application/json", + requestType: "json", + body: serializers.collections.ItemsUpdateItemsLiveRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + }), + timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, + maxRetries: requestOptions?.maxRetries, + abortSignal: requestOptions?.abortSignal, + }); + if (_response.ok) { + return serializers.collections.ItemsUpdateItemsLiveResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -462,15 +948,7 @@ export class Items { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -497,10 +975,17 @@ export class Items { } /** - * Create single Item in a Collection with multiple corresponding locales.

Required scope | `CMS:write` + * Create an item or multiple items in a CMS Collection across multiple corresponding locales. + * + * **Notes:** + * + * - This endpoint can create up to 100 items in a request. + * - If the `cmsLocaleIds` parameter is undefined or empty and localization is enabled, items will only be created in the primary locale. + * + * Required scope | `CMS:write` * * @param {string} collectionId - Unique identifier for a Collection - * @param {Webflow.BulkCollectionItem} request + * @param {Webflow.collections.ItemsCreateItemsRequest} request * @param {Items.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Webflow.BadRequestError} @@ -510,15 +995,35 @@ export class Items { * @throws {@link Webflow.InternalServerError} * * @example - * await client.collections.items.createItemForMultipleLocales("580e63fc8c9a982ac9b8b745", { - * id: "580e64008c9a982ac9b8b754" + * await client.collections.items.createItems("580e63fc8c9a982ac9b8b745", { + * cmsLocaleIds: ["66f6e966c9e1dc700a857ca3", "66f6e966c9e1dc700a857ca4", "66f6e966c9e1dc700a857ca5"], + * isArchived: false, + * isDraft: false, + * fieldData: { + * name: "Don\u2019t Panic", + * slug: "dont-panic" + * } + * }) + * + * @example + * await client.collections.items.createItems("580e63fc8c9a982ac9b8b745", { + * cmsLocaleIds: ["66f6e966c9e1dc700a857ca3", "66f6e966c9e1dc700a857ca4"], + * isArchived: false, + * isDraft: false, + * fieldData: [{ + * name: "Don\u2019t Panic", + * slug: "dont-panic" + * }, { + * name: "So Long and Thanks for All the Fish", + * slug: "so-long-and-thanks" + * }] * }) */ - public async createItemForMultipleLocales( + public async createItems( collectionId: string, - request: Webflow.BulkCollectionItem, + request: Webflow.collections.ItemsCreateItemsRequest = {}, requestOptions?: Items.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -529,20 +1034,22 @@ export class Items { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", requestType: "json", - body: serializers.BulkCollectionItem.jsonOrThrow(request, { unrecognizedObjectKeys: "passthrough" }), + body: serializers.collections.ItemsCreateItemsRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.BulkCollectionItem.parseOrThrow(_response.body, { + return serializers.collections.ItemsCreateItemsResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -560,15 +1067,7 @@ export class Items { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -595,7 +1094,9 @@ export class Items { } /** - * Get details of a selected Collection Item.

Required scope | `CMS:read` + * Get details of a selected Collection Item. + * + * Required scope | `CMS:read` * * @param {string} collectionId - Unique identifier for a Collection * @param {string} itemId - Unique identifier for an Item @@ -616,7 +1117,7 @@ export class Items { itemId: string, request: Webflow.collections.ItemsGetItemRequest = {}, requestOptions?: Items.RequestOptions - ): Promise { + ): Promise { const { cmsLocaleId } = request; const _queryParams: Record = {}; if (cmsLocaleId != null) { @@ -633,8 +1134,8 @@ export class Items { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -646,7 +1147,7 @@ export class Items { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.CollectionItem.parseOrThrow(_response.body, { + return serializers.collections.ItemsGetItemResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -664,15 +1165,7 @@ export class Items { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -699,7 +1192,9 @@ export class Items { } /** - * Delete an Item from a Collection. This endpoint does not currently support bulk deletion.

Required scope | `CMS:write` + * Delete an Item from a Collection. This endpoint does not currently support bulk deletion. + * + * Required scope | `CMS:write` * * @param {string} collectionId - Unique identifier for a Collection * @param {string} itemId - Unique identifier for an Item @@ -737,8 +1232,8 @@ export class Items { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -762,15 +1257,7 @@ export class Items { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -797,11 +1284,13 @@ export class Items { } /** - * Update a selected Item in a Collection.

Required scope | `CMS:write` + * Update a selected Item in a Collection. + * + * Required scope | `CMS:write` * * @param {string} collectionId - Unique identifier for a Collection * @param {string} itemId - Unique identifier for an Item - * @param {Webflow.CollectionItem} request + * @param {Webflow.collections.ItemsUpdateItemRequest} request * @param {Items.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Webflow.BadRequestError} @@ -828,9 +1317,9 @@ export class Items { public async updateItem( collectionId: string, itemId: string, - request: Webflow.CollectionItem, + request: Webflow.collections.ItemsUpdateItemRequest, requestOptions?: Items.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -841,20 +1330,22 @@ export class Items { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", requestType: "json", - body: serializers.CollectionItem.jsonOrThrow(request, { unrecognizedObjectKeys: "passthrough" }), + body: serializers.collections.ItemsUpdateItemRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.CollectionItem.parseOrThrow(_response.body, { + return serializers.collections.ItemsUpdateItemResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -872,15 +1363,7 @@ export class Items { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -907,7 +1390,9 @@ export class Items { } /** - * Get details of a selected Collection live Item.

Required scope | `CMS:read` + * Get details of a selected Collection live Item. + * + * Required scope | `CMS:read` * * @param {string} collectionId - Unique identifier for a Collection * @param {string} itemId - Unique identifier for an Item @@ -928,7 +1413,7 @@ export class Items { itemId: string, request: Webflow.collections.ItemsGetItemLiveRequest = {}, requestOptions?: Items.RequestOptions - ): Promise { + ): Promise { const { cmsLocaleId } = request; const _queryParams: Record = {}; if (cmsLocaleId != null) { @@ -945,8 +1430,8 @@ export class Items { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -958,7 +1443,7 @@ export class Items { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.CollectionItem.parseOrThrow(_response.body, { + return serializers.collections.ItemsGetItemLiveResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -976,15 +1461,7 @@ export class Items { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -1011,7 +1488,11 @@ export class Items { } /** - * Remove a live item from the site. Removing a published item will unpublish the item from the live site and set it to draft. This endpoint does not currently support bulk deletion.

Required scope | `CMS:write` + * Remove a live item from the site. Removing a published item will unpublish the item from the live site and set it to draft. + * + * This endpoint does not currently support bulk deletion. + * + * Required scope | `CMS:write` * * @param {string} collectionId - Unique identifier for a Collection * @param {string} itemId - Unique identifier for an Item @@ -1049,8 +1530,8 @@ export class Items { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -1074,15 +1555,7 @@ export class Items { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -1109,11 +1582,13 @@ export class Items { } /** - * Update a selected live Item in a Collection. The updates for this Item will be published to the live site.

Required scope | `CMS:write` + * Update a selected live Item in a Collection. The updates for this Item will be published to the live site. + * + * Required scope | `CMS:write` * * @param {string} collectionId - Unique identifier for a Collection * @param {string} itemId - Unique identifier for an Item - * @param {Webflow.CollectionItem} request + * @param {Webflow.collections.ItemsUpdateItemLiveRequest} request * @param {Items.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Webflow.BadRequestError} @@ -1140,9 +1615,9 @@ export class Items { public async updateItemLive( collectionId: string, itemId: string, - request: Webflow.CollectionItem, + request: Webflow.collections.ItemsUpdateItemLiveRequest, requestOptions?: Items.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -1153,20 +1628,22 @@ export class Items { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", requestType: "json", - body: serializers.CollectionItem.jsonOrThrow(request, { unrecognizedObjectKeys: "passthrough" }), + body: serializers.collections.ItemsUpdateItemLiveRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.CollectionItem.parseOrThrow(_response.body, { + return serializers.collections.ItemsUpdateItemLiveResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -1184,15 +1661,7 @@ export class Items { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -1219,7 +1688,9 @@ export class Items { } /** - * Publish an item or multiple items.

Required scope | `cms:write` + * Publish an item or multiple items. + * + * Required scope | `cms:write` * * @param {string} collectionId - Unique identifier for a Collection * @param {Webflow.collections.ItemsPublishItemRequest} request @@ -1228,6 +1699,7 @@ export class Items { * @throws {@link Webflow.BadRequestError} * @throws {@link Webflow.UnauthorizedError} * @throws {@link Webflow.NotFoundError} + * @throws {@link Webflow.ConflictError} * @throws {@link Webflow.TooManyRequestsError} * @throws {@link Webflow.InternalServerError} * @@ -1251,8 +1723,8 @@ export class Items { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -1283,16 +1755,10 @@ export class Items { throw new Webflow.UnauthorizedError(_response.error.body); case 404: throw new Webflow.NotFoundError(_response.error.body); + case 409: + throw new Webflow.ConflictError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: diff --git a/src/api/resources/collections/resources/items/client/requests/ItemsCreateItemsRequest.ts b/src/api/resources/collections/resources/items/client/requests/ItemsCreateItemsRequest.ts new file mode 100644 index 00000000..778ed6d1 --- /dev/null +++ b/src/api/resources/collections/resources/items/client/requests/ItemsCreateItemsRequest.ts @@ -0,0 +1,63 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../../index"; + +/** + * @example + * { + * cmsLocaleIds: ["66f6e966c9e1dc700a857ca3", "66f6e966c9e1dc700a857ca4", "66f6e966c9e1dc700a857ca5"], + * isArchived: false, + * isDraft: false, + * fieldData: { + * name: "Don\u2019t Panic", + * slug: "dont-panic" + * } + * } + * + * @example + * { + * cmsLocaleIds: ["66f6e966c9e1dc700a857ca3", "66f6e966c9e1dc700a857ca4"], + * isArchived: false, + * isDraft: false, + * fieldData: [{ + * name: "Don\u2019t Panic", + * slug: "dont-panic" + * }, { + * name: "So Long and Thanks for All the Fish", + * slug: "so-long-and-thanks" + * }] + * } + * + * @example + * { + * cmsLocaleIds: ["66f6e966c9e1dc700a857ca3", "66f6e966c9e1dc700a857ca4", "66f6e966c9e1dc700a857ca5"], + * isArchived: false, + * isDraft: false, + * fieldData: { + * name: "Don\u2019t Panic", + * slug: "dont-panic" + * } + * } + * + * @example + * { + * cmsLocaleIds: ["66f6e966c9e1dc700a857ca3", "66f6e966c9e1dc700a857ca4", "66f6e966c9e1dc700a857ca5"], + * isArchived: false, + * isDraft: false, + * fieldData: { + * name: "Don\u2019t Panic", + * slug: "dont-panic" + * } + * } + */ +export interface ItemsCreateItemsRequest { + /** Array of identifiers for the locales where the item will be created */ + cmsLocaleIds?: string[]; + /** Indicates whether the item is archived. */ + isArchived?: boolean; + /** Indicates whether the item is in draft state. */ + isDraft?: boolean; + fieldData?: Webflow.collections.ItemsCreateItemsRequestFieldData; +} diff --git a/src/api/resources/collections/resources/items/client/requests/ItemsDeleteItemsLiveRequest.ts b/src/api/resources/collections/resources/items/client/requests/ItemsDeleteItemsLiveRequest.ts new file mode 100644 index 00000000..88fa549f --- /dev/null +++ b/src/api/resources/collections/resources/items/client/requests/ItemsDeleteItemsLiveRequest.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../../index"; + +/** + * @example + * {} + */ +export interface ItemsDeleteItemsLiveRequest { + items?: Webflow.collections.ItemsDeleteItemsLiveRequestItemsItem[]; +} diff --git a/src/api/resources/collections/resources/items/client/requests/ItemsDeleteItemsRequest.ts b/src/api/resources/collections/resources/items/client/requests/ItemsDeleteItemsRequest.ts new file mode 100644 index 00000000..39d30414 --- /dev/null +++ b/src/api/resources/collections/resources/items/client/requests/ItemsDeleteItemsRequest.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../../index"; + +/** + * @example + * {} + */ +export interface ItemsDeleteItemsRequest { + items?: Webflow.collections.ItemsDeleteItemsRequestItemsItem[]; +} diff --git a/src/api/resources/collections/resources/items/client/requests/ItemsUpdateItemLiveRequest.ts b/src/api/resources/collections/resources/items/client/requests/ItemsUpdateItemLiveRequest.ts new file mode 100644 index 00000000..f63733ed --- /dev/null +++ b/src/api/resources/collections/resources/items/client/requests/ItemsUpdateItemLiveRequest.ts @@ -0,0 +1,39 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../../index"; + +/** + * @example + * { + * id: "42b720ef280c7a7a3be8cabe", + * cmsLocaleId: "653ad57de882f528b32e810e", + * lastPublished: "2022-11-29T16:22:43.159Z", + * lastUpdated: "2022-11-17T17:19:43.282Z", + * createdOn: "2022-11-17T17:11:57.148Z", + * isArchived: false, + * isDraft: false, + * fieldData: { + * name: "Pan Galactic Gargle Blaster Recipe", + * slug: "pan-galactic-gargle-blaster" + * } + * } + */ +export interface ItemsUpdateItemLiveRequest { + /** Unique identifier for the Item */ + id: string; + /** Identifier for the locale of the CMS item */ + cmsLocaleId?: string; + /** The date the item was last published */ + lastPublished?: string; + /** The date the item was last updated */ + lastUpdated?: string; + /** The date the item was created */ + createdOn?: string; + /** Boolean determining if the Item is set to archived */ + isArchived?: boolean; + /** Boolean determining if the Item is set to draft */ + isDraft?: boolean; + fieldData?: Webflow.collections.ItemsUpdateItemLiveRequestFieldData; +} diff --git a/src/api/resources/collections/resources/items/client/requests/ItemsUpdateItemRequest.ts b/src/api/resources/collections/resources/items/client/requests/ItemsUpdateItemRequest.ts new file mode 100644 index 00000000..49539cca --- /dev/null +++ b/src/api/resources/collections/resources/items/client/requests/ItemsUpdateItemRequest.ts @@ -0,0 +1,39 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../../index"; + +/** + * @example + * { + * id: "42b720ef280c7a7a3be8cabe", + * cmsLocaleId: "653ad57de882f528b32e810e", + * lastPublished: "2022-11-29T16:22:43.159Z", + * lastUpdated: "2022-11-17T17:19:43.282Z", + * createdOn: "2022-11-17T17:11:57.148Z", + * isArchived: false, + * isDraft: false, + * fieldData: { + * name: "Pan Galactic Gargle Blaster Recipe", + * slug: "pan-galactic-gargle-blaster" + * } + * } + */ +export interface ItemsUpdateItemRequest { + /** Unique identifier for the Item */ + id: string; + /** Identifier for the locale of the CMS item */ + cmsLocaleId?: string; + /** The date the item was last published */ + lastPublished?: string; + /** The date the item was last updated */ + lastUpdated?: string; + /** The date the item was created */ + createdOn?: string; + /** Boolean determining if the Item is set to archived */ + isArchived?: boolean; + /** Boolean determining if the Item is set to draft */ + isDraft?: boolean; + fieldData?: Webflow.collections.ItemsUpdateItemRequestFieldData; +} diff --git a/src/api/resources/collections/resources/items/client/requests/ItemsUpdateItemsLiveRequest.ts b/src/api/resources/collections/resources/items/client/requests/ItemsUpdateItemsLiveRequest.ts new file mode 100644 index 00000000..9e0a572e --- /dev/null +++ b/src/api/resources/collections/resources/items/client/requests/ItemsUpdateItemsLiveRequest.ts @@ -0,0 +1,130 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../../index"; + +/** + * @example + * { + * items: [{ + * id: "66f6ed9576ddacf3149d5ea6", + * cmsLocaleId: "66f6e966c9e1dc700a857ca5", + * fieldData: { + * name: "Ne Paniquez Pas", + * slug: "ne-paniquez-pas" + * } + * }, { + * id: "66f6ed9576ddacf3149d5ea6", + * cmsLocaleId: "66f6e966c9e1dc700a857ca4", + * fieldData: { + * name: "No Entrar en P\u00E1nico", + * slug: "no-entrar-en-panico" + * } + * }, { + * id: "66f6ed9576ddacf3149d5eaa", + * cmsLocaleId: "66f6e966c9e1dc700a857ca5", + * fieldData: { + * name: "Au Revoir et Merci pour Tous les Poissons", + * slug: "au-revoir-et-merci" + * } + * }, { + * id: "66f6ed9576ddacf3149d5eaa", + * cmsLocaleId: "66f6e966c9e1dc700a857ca4", + * fieldData: { + * name: "Hasta Luego y Gracias por Todo el Pescado", + * slug: "hasta-luego-y-gracias" + * } + * }] + * } + * + * @example + * { + * items: [{ + * id: "580e64008c9a982ac9b8b754", + * isArchived: false, + * isDraft: false, + * fieldData: { + * name: "Senior Data Analyst", + * slug: "senior-data-analyst" + * } + * }, { + * id: "580e64008c9a982ac9b8b754", + * isArchived: false, + * isDraft: false, + * fieldData: { + * name: "Product Manager", + * slug: "product-manager" + * } + * }] + * } + * + * @example + * { + * items: [{ + * id: "66f6ed9576ddacf3149d5ea6", + * cmsLocaleId: "66f6e966c9e1dc700a857ca5", + * fieldData: { + * name: "Ne Paniquez Pas", + * slug: "ne-paniquez-pas" + * } + * }, { + * id: "66f6ed9576ddacf3149d5ea6", + * cmsLocaleId: "66f6e966c9e1dc700a857ca4", + * fieldData: { + * name: "No Entrar en P\u00E1nico", + * slug: "no-entrar-en-panico" + * } + * }, { + * id: "66f6ed9576ddacf3149d5eaa", + * cmsLocaleId: "66f6e966c9e1dc700a857ca5", + * fieldData: { + * name: "Au Revoir et Merci pour Tous les Poissons", + * slug: "au-revoir-et-merci" + * } + * }, { + * id: "66f6ed9576ddacf3149d5eaa", + * cmsLocaleId: "66f6e966c9e1dc700a857ca4", + * fieldData: { + * name: "Hasta Luego y Gracias por Todo el Pescado", + * slug: "hasta-luego-y-gracias" + * } + * }] + * } + * + * @example + * { + * items: [{ + * id: "66f6ed9576ddacf3149d5ea6", + * cmsLocaleId: "66f6e966c9e1dc700a857ca5", + * fieldData: { + * name: "Ne Paniquez Pas", + * slug: "ne-paniquez-pas" + * } + * }, { + * id: "66f6ed9576ddacf3149d5ea6", + * cmsLocaleId: "66f6e966c9e1dc700a857ca4", + * fieldData: { + * name: "No Entrar en P\u00E1nico", + * slug: "no-entrar-en-panico" + * } + * }, { + * id: "66f6ed9576ddacf3149d5eaa", + * cmsLocaleId: "66f6e966c9e1dc700a857ca5", + * fieldData: { + * name: "Au Revoir et Merci pour Tous les Poissons", + * slug: "au-revoir-et-merci" + * } + * }, { + * id: "66f6ed9576ddacf3149d5eaa", + * cmsLocaleId: "66f6e966c9e1dc700a857ca4", + * fieldData: { + * name: "Hasta Luego y Gracias por Todo el Pescado", + * slug: "hasta-luego-y-gracias" + * } + * }] + * } + */ +export interface ItemsUpdateItemsLiveRequest { + items?: Webflow.collections.ItemsUpdateItemsLiveRequestItemsItem[]; +} diff --git a/src/api/resources/collections/resources/items/client/requests/ItemsUpdateItemsRequest.ts b/src/api/resources/collections/resources/items/client/requests/ItemsUpdateItemsRequest.ts new file mode 100644 index 00000000..9f46439a --- /dev/null +++ b/src/api/resources/collections/resources/items/client/requests/ItemsUpdateItemsRequest.ts @@ -0,0 +1,130 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../../index"; + +/** + * @example + * { + * items: [{ + * id: "66f6ed9576ddacf3149d5ea6", + * cmsLocaleId: "66f6e966c9e1dc700a857ca5", + * fieldData: { + * name: "Ne Paniquez Pas", + * slug: "ne-paniquez-pas" + * } + * }, { + * id: "66f6ed9576ddacf3149d5ea6", + * cmsLocaleId: "66f6e966c9e1dc700a857ca4", + * fieldData: { + * name: "No Entrar en P\u00E1nico", + * slug: "no-entrar-en-panico" + * } + * }, { + * id: "66f6ed9576ddacf3149d5eaa", + * cmsLocaleId: "66f6e966c9e1dc700a857ca5", + * fieldData: { + * name: "Au Revoir et Merci pour Tous les Poissons", + * slug: "au-revoir-et-merci" + * } + * }, { + * id: "66f6ed9576ddacf3149d5eaa", + * cmsLocaleId: "66f6e966c9e1dc700a857ca4", + * fieldData: { + * name: "Hasta Luego y Gracias por Todo el Pescado", + * slug: "hasta-luego-y-gracias" + * } + * }] + * } + * + * @example + * { + * items: [{ + * id: "580e64008c9a982ac9b8b754", + * isArchived: false, + * isDraft: false, + * fieldData: { + * name: "Senior Data Analyst", + * slug: "senior-data-analyst" + * } + * }, { + * id: "580e64008c9a982ac9b8b754", + * isArchived: false, + * isDraft: false, + * fieldData: { + * name: "Product Manager", + * slug: "product-manager" + * } + * }] + * } + * + * @example + * { + * items: [{ + * id: "66f6ed9576ddacf3149d5ea6", + * cmsLocaleId: "66f6e966c9e1dc700a857ca5", + * fieldData: { + * name: "Ne Paniquez Pas", + * slug: "ne-paniquez-pas" + * } + * }, { + * id: "66f6ed9576ddacf3149d5ea6", + * cmsLocaleId: "66f6e966c9e1dc700a857ca4", + * fieldData: { + * name: "No Entrar en P\u00E1nico", + * slug: "no-entrar-en-panico" + * } + * }, { + * id: "66f6ed9576ddacf3149d5eaa", + * cmsLocaleId: "66f6e966c9e1dc700a857ca5", + * fieldData: { + * name: "Au Revoir et Merci pour Tous les Poissons", + * slug: "au-revoir-et-merci" + * } + * }, { + * id: "66f6ed9576ddacf3149d5eaa", + * cmsLocaleId: "66f6e966c9e1dc700a857ca4", + * fieldData: { + * name: "Hasta Luego y Gracias por Todo el Pescado", + * slug: "hasta-luego-y-gracias" + * } + * }] + * } + * + * @example + * { + * items: [{ + * id: "66f6ed9576ddacf3149d5ea6", + * cmsLocaleId: "66f6e966c9e1dc700a857ca5", + * fieldData: { + * name: "Ne Paniquez Pas", + * slug: "ne-paniquez-pas" + * } + * }, { + * id: "66f6ed9576ddacf3149d5ea6", + * cmsLocaleId: "66f6e966c9e1dc700a857ca4", + * fieldData: { + * name: "No Entrar en P\u00E1nico", + * slug: "no-entrar-en-panico" + * } + * }, { + * id: "66f6ed9576ddacf3149d5eaa", + * cmsLocaleId: "66f6e966c9e1dc700a857ca5", + * fieldData: { + * name: "Au Revoir et Merci pour Tous les Poissons", + * slug: "au-revoir-et-merci" + * } + * }, { + * id: "66f6ed9576ddacf3149d5eaa", + * cmsLocaleId: "66f6e966c9e1dc700a857ca4", + * fieldData: { + * name: "Hasta Luego y Gracias por Todo el Pescado", + * slug: "hasta-luego-y-gracias" + * } + * }] + * } + */ +export interface ItemsUpdateItemsRequest { + items?: Webflow.collections.ItemsUpdateItemsRequestItemsItem[]; +} diff --git a/src/api/resources/collections/resources/items/client/requests/index.ts b/src/api/resources/collections/resources/items/client/requests/index.ts index c5e6b062..722760cc 100644 --- a/src/api/resources/collections/resources/items/client/requests/index.ts +++ b/src/api/resources/collections/resources/items/client/requests/index.ts @@ -1,7 +1,14 @@ export { type ItemsListItemsRequest } from "./ItemsListItemsRequest"; +export { type ItemsDeleteItemsRequest } from "./ItemsDeleteItemsRequest"; +export { type ItemsUpdateItemsRequest } from "./ItemsUpdateItemsRequest"; export { type ItemsListItemsLiveRequest } from "./ItemsListItemsLiveRequest"; +export { type ItemsDeleteItemsLiveRequest } from "./ItemsDeleteItemsLiveRequest"; +export { type ItemsUpdateItemsLiveRequest } from "./ItemsUpdateItemsLiveRequest"; +export { type ItemsCreateItemsRequest } from "./ItemsCreateItemsRequest"; export { type ItemsGetItemRequest } from "./ItemsGetItemRequest"; export { type ItemsDeleteItemRequest } from "./ItemsDeleteItemRequest"; +export { type ItemsUpdateItemRequest } from "./ItemsUpdateItemRequest"; export { type ItemsGetItemLiveRequest } from "./ItemsGetItemLiveRequest"; export { type ItemsDeleteItemLiveRequest } from "./ItemsDeleteItemLiveRequest"; +export { type ItemsUpdateItemLiveRequest } from "./ItemsUpdateItemLiveRequest"; export { type ItemsPublishItemRequest } from "./ItemsPublishItemRequest"; diff --git a/src/api/resources/collections/resources/items/types/ItemsCreateItemLiveRequest.ts b/src/api/resources/collections/resources/items/types/ItemsCreateItemLiveRequest.ts new file mode 100644 index 00000000..61180e55 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsCreateItemLiveRequest.ts @@ -0,0 +1,11 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +export type ItemsCreateItemLiveRequest = + /** + * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + * */ + Webflow.collections.ItemsCreateItemLiveRequestCmsLocaleId | Webflow.collections.ItemsCreateItemLiveRequestItems; diff --git a/src/api/resources/collections/resources/items/types/ItemsCreateItemLiveRequestCmsLocaleId.ts b/src/api/resources/collections/resources/items/types/ItemsCreateItemLiveRequestCmsLocaleId.ts new file mode 100644 index 00000000..7df96dd8 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsCreateItemLiveRequestCmsLocaleId.ts @@ -0,0 +1,18 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +/** + * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + */ +export interface ItemsCreateItemLiveRequestCmsLocaleId { + /** Identifier for the locale of the CMS item */ + cmsLocaleId?: string; + /** Boolean determining if the Item is set to archived */ + isArchived?: boolean; + /** Boolean determining if the Item is set to draft */ + isDraft?: boolean; + fieldData?: Webflow.collections.ItemsCreateItemLiveRequestCmsLocaleIdFieldData; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsCreateItemLiveRequestCmsLocaleIdFieldData.ts b/src/api/resources/collections/resources/items/types/ItemsCreateItemLiveRequestCmsLocaleIdFieldData.ts new file mode 100644 index 00000000..eecacc01 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsCreateItemLiveRequestCmsLocaleIdFieldData.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface ItemsCreateItemLiveRequestCmsLocaleIdFieldData { + /** Name of the Item */ + name?: string; + /** URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug. */ + slug?: string; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsCreateItemLiveRequestItems.ts b/src/api/resources/collections/resources/items/types/ItemsCreateItemLiveRequestItems.ts new file mode 100644 index 00000000..b0e264a8 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsCreateItemLiveRequestItems.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +export interface ItemsCreateItemLiveRequestItems { + /** List of collection items to create */ + items?: Webflow.collections.ItemsCreateItemLiveRequestItemsItemsItem[]; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsCreateItemLiveRequestItemsItemsItem.ts b/src/api/resources/collections/resources/items/types/ItemsCreateItemLiveRequestItemsItemsItem.ts new file mode 100644 index 00000000..50a53ae5 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsCreateItemLiveRequestItemsItemsItem.ts @@ -0,0 +1,18 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +/** + * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + */ +export interface ItemsCreateItemLiveRequestItemsItemsItem { + /** Identifier for the locale of the CMS item */ + cmsLocaleId?: string; + /** Boolean determining if the Item is set to archived */ + isArchived?: boolean; + /** Boolean determining if the Item is set to draft */ + isDraft?: boolean; + fieldData?: Webflow.collections.ItemsCreateItemLiveRequestItemsItemsItemFieldData; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsCreateItemLiveRequestItemsItemsItemFieldData.ts b/src/api/resources/collections/resources/items/types/ItemsCreateItemLiveRequestItemsItemsItemFieldData.ts new file mode 100644 index 00000000..08ed6a5a --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsCreateItemLiveRequestItemsItemsItemFieldData.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface ItemsCreateItemLiveRequestItemsItemsItemFieldData { + /** Name of the Item */ + name?: string; + /** URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug. */ + slug?: string; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsCreateItemLiveResponse.ts b/src/api/resources/collections/resources/items/types/ItemsCreateItemLiveResponse.ts new file mode 100644 index 00000000..bd7354be --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsCreateItemLiveResponse.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +/** + * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + */ +export interface ItemsCreateItemLiveResponse { + /** Unique identifier for the Item */ + id: string; + /** Identifier for the locale of the CMS item */ + cmsLocaleId?: string; + /** The date the item was last published */ + lastPublished?: string; + /** The date the item was last updated */ + lastUpdated?: string; + /** The date the item was created */ + createdOn?: string; + /** Boolean determining if the Item is set to archived */ + isArchived?: boolean; + /** Boolean determining if the Item is set to draft */ + isDraft?: boolean; + fieldData?: Webflow.collections.ItemsCreateItemLiveResponseFieldData; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsCreateItemLiveResponseFieldData.ts b/src/api/resources/collections/resources/items/types/ItemsCreateItemLiveResponseFieldData.ts new file mode 100644 index 00000000..db642e24 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsCreateItemLiveResponseFieldData.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface ItemsCreateItemLiveResponseFieldData { + /** Name of the Item */ + name?: string; + /** URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug. */ + slug?: string; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsCreateItemRequest.ts b/src/api/resources/collections/resources/items/types/ItemsCreateItemRequest.ts new file mode 100644 index 00000000..c40a783d --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsCreateItemRequest.ts @@ -0,0 +1,11 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +export type ItemsCreateItemRequest = + /** + * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + * */ + Webflow.collections.ItemsCreateItemRequestCmsLocaleId | Webflow.collections.ItemsCreateItemRequestItems; diff --git a/src/api/resources/collections/resources/items/types/ItemsCreateItemRequestCmsLocaleId.ts b/src/api/resources/collections/resources/items/types/ItemsCreateItemRequestCmsLocaleId.ts new file mode 100644 index 00000000..6f95a1a3 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsCreateItemRequestCmsLocaleId.ts @@ -0,0 +1,18 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +/** + * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + */ +export interface ItemsCreateItemRequestCmsLocaleId { + /** Identifier for the locale of the CMS item */ + cmsLocaleId?: string; + /** Boolean determining if the Item is set to archived */ + isArchived?: boolean; + /** Boolean determining if the Item is set to draft */ + isDraft?: boolean; + fieldData?: Webflow.collections.ItemsCreateItemRequestCmsLocaleIdFieldData; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsCreateItemRequestCmsLocaleIdFieldData.ts b/src/api/resources/collections/resources/items/types/ItemsCreateItemRequestCmsLocaleIdFieldData.ts new file mode 100644 index 00000000..2ac08865 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsCreateItemRequestCmsLocaleIdFieldData.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface ItemsCreateItemRequestCmsLocaleIdFieldData { + /** Name of the Item */ + name?: string; + /** URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug. */ + slug?: string; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsCreateItemRequestItems.ts b/src/api/resources/collections/resources/items/types/ItemsCreateItemRequestItems.ts new file mode 100644 index 00000000..64d08e19 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsCreateItemRequestItems.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +export interface ItemsCreateItemRequestItems { + /** An array of items to create */ + items?: Webflow.collections.ItemsCreateItemRequestItemsItemsItem[]; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsCreateItemRequestItemsItemsItem.ts b/src/api/resources/collections/resources/items/types/ItemsCreateItemRequestItemsItemsItem.ts new file mode 100644 index 00000000..3cdc010e --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsCreateItemRequestItemsItemsItem.ts @@ -0,0 +1,18 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +/** + * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + */ +export interface ItemsCreateItemRequestItemsItemsItem { + /** Identifier for the locale of the CMS item */ + cmsLocaleId?: string; + /** Boolean determining if the Item is set to archived */ + isArchived?: boolean; + /** Boolean determining if the Item is set to draft */ + isDraft?: boolean; + fieldData?: Webflow.collections.ItemsCreateItemRequestItemsItemsItemFieldData; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsCreateItemRequestItemsItemsItemFieldData.ts b/src/api/resources/collections/resources/items/types/ItemsCreateItemRequestItemsItemsItemFieldData.ts new file mode 100644 index 00000000..047465a2 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsCreateItemRequestItemsItemsItemFieldData.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface ItemsCreateItemRequestItemsItemsItemFieldData { + /** Name of the Item */ + name?: string; + /** URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug. */ + slug?: string; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsCreateItemResponse.ts b/src/api/resources/collections/resources/items/types/ItemsCreateItemResponse.ts new file mode 100644 index 00000000..9a9257b9 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsCreateItemResponse.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +/** + * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + */ +export interface ItemsCreateItemResponse { + /** Unique identifier for the Item */ + id: string; + /** Identifier for the locale of the CMS item */ + cmsLocaleId?: string; + /** The date the item was last published */ + lastPublished?: string; + /** The date the item was last updated */ + lastUpdated?: string; + /** The date the item was created */ + createdOn?: string; + /** Boolean determining if the Item is set to archived */ + isArchived?: boolean; + /** Boolean determining if the Item is set to draft */ + isDraft?: boolean; + fieldData?: Webflow.collections.ItemsCreateItemResponseFieldData; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsCreateItemResponseFieldData.ts b/src/api/resources/collections/resources/items/types/ItemsCreateItemResponseFieldData.ts new file mode 100644 index 00000000..a1ff4a49 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsCreateItemResponseFieldData.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface ItemsCreateItemResponseFieldData { + /** Name of the Item */ + name?: string; + /** URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug. */ + slug?: string; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsCreateItemsRequestFieldData.ts b/src/api/resources/collections/resources/items/types/ItemsCreateItemsRequestFieldData.ts new file mode 100644 index 00000000..f0dd0ce5 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsCreateItemsRequestFieldData.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +export type ItemsCreateItemsRequestFieldData = + | Webflow.collections.ItemsCreateItemsRequestFieldDataName + | Webflow.collections.ItemsCreateItemsRequestFieldDataItem[]; diff --git a/src/api/resources/collections/resources/items/types/ItemsCreateItemsRequestFieldDataItem.ts b/src/api/resources/collections/resources/items/types/ItemsCreateItemsRequestFieldDataItem.ts new file mode 100644 index 00000000..e2db1268 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsCreateItemsRequestFieldDataItem.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface ItemsCreateItemsRequestFieldDataItem { + /** The name of the item. */ + name: string; + /** + * URL slug for the item in your site. + * Note: Updating the item slug will break all links referencing the old slug. + */ + slug: string; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsCreateItemsRequestFieldDataName.ts b/src/api/resources/collections/resources/items/types/ItemsCreateItemsRequestFieldDataName.ts new file mode 100644 index 00000000..ed2c51ed --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsCreateItemsRequestFieldDataName.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface ItemsCreateItemsRequestFieldDataName { + /** The name of the item. */ + name: string; + /** + * URL slug for the item in your site. + * Note: Updating the item slug will break all links referencing the old slug. + */ + slug: string; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsCreateItemsResponse.ts b/src/api/resources/collections/resources/items/types/ItemsCreateItemsResponse.ts new file mode 100644 index 00000000..d0367dc1 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsCreateItemsResponse.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +/** + * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + */ +export interface ItemsCreateItemsResponse { + /** Unique identifier for the Item */ + id: string; + /** Array of identifiers for the locales where the item will be created */ + cmsLocaleIds?: string[]; + /** The date the item was last published */ + lastPublished?: string; + /** The date the item was last updated */ + lastUpdated?: string; + /** The date the item was created */ + createdOn?: string; + /** Boolean determining if the Item is set to archived */ + isArchived?: boolean; + /** Boolean determining if the Item is set to draft */ + isDraft?: boolean; + fieldData?: Webflow.collections.ItemsCreateItemsResponseFieldData; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsCreateItemsResponseFieldData.ts b/src/api/resources/collections/resources/items/types/ItemsCreateItemsResponseFieldData.ts new file mode 100644 index 00000000..05336bed --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsCreateItemsResponseFieldData.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface ItemsCreateItemsResponseFieldData { + /** Name of the Item */ + name?: string; + /** URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug. */ + slug?: string; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsDeleteItemsLiveRequestItemsItem.ts b/src/api/resources/collections/resources/items/types/ItemsDeleteItemsLiveRequestItemsItem.ts new file mode 100644 index 00000000..aff9bd08 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsDeleteItemsLiveRequestItemsItem.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface ItemsDeleteItemsLiveRequestItemsItem { + /** Unique identifier for the Item */ + itemId: string; + /** Array of identifiers for the locales where the item will be created */ + cmsLocaleIds?: string[]; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsDeleteItemsRequestItemsItem.ts b/src/api/resources/collections/resources/items/types/ItemsDeleteItemsRequestItemsItem.ts new file mode 100644 index 00000000..f7758491 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsDeleteItemsRequestItemsItem.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface ItemsDeleteItemsRequestItemsItem { + /** Unique identifier for the Item */ + id: string; + /** Array of identifiers for the locales where the item will be created */ + cmsLocaleIds?: string[]; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsGetItemLiveResponse.ts b/src/api/resources/collections/resources/items/types/ItemsGetItemLiveResponse.ts new file mode 100644 index 00000000..89fc2200 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsGetItemLiveResponse.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +/** + * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + */ +export interface ItemsGetItemLiveResponse { + /** Unique identifier for the Item */ + id: string; + /** Identifier for the locale of the CMS item */ + cmsLocaleId?: string; + /** The date the item was last published */ + lastPublished?: string; + /** The date the item was last updated */ + lastUpdated?: string; + /** The date the item was created */ + createdOn?: string; + /** Boolean determining if the Item is set to archived */ + isArchived?: boolean; + /** Boolean determining if the Item is set to draft */ + isDraft?: boolean; + fieldData?: Webflow.collections.ItemsGetItemLiveResponseFieldData; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsGetItemLiveResponseFieldData.ts b/src/api/resources/collections/resources/items/types/ItemsGetItemLiveResponseFieldData.ts new file mode 100644 index 00000000..da144497 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsGetItemLiveResponseFieldData.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface ItemsGetItemLiveResponseFieldData { + /** Name of the Item */ + name?: string; + /** URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug. */ + slug?: string; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsGetItemResponse.ts b/src/api/resources/collections/resources/items/types/ItemsGetItemResponse.ts new file mode 100644 index 00000000..0fd203fc --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsGetItemResponse.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +/** + * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + */ +export interface ItemsGetItemResponse { + /** Unique identifier for the Item */ + id: string; + /** Identifier for the locale of the CMS item */ + cmsLocaleId?: string; + /** The date the item was last published */ + lastPublished?: string; + /** The date the item was last updated */ + lastUpdated?: string; + /** The date the item was created */ + createdOn?: string; + /** Boolean determining if the Item is set to archived */ + isArchived?: boolean; + /** Boolean determining if the Item is set to draft */ + isDraft?: boolean; + fieldData?: Webflow.collections.ItemsGetItemResponseFieldData; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsGetItemResponseFieldData.ts b/src/api/resources/collections/resources/items/types/ItemsGetItemResponseFieldData.ts new file mode 100644 index 00000000..048403fc --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsGetItemResponseFieldData.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface ItemsGetItemResponseFieldData { + /** Name of the Item */ + name?: string; + /** URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug. */ + slug?: string; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsListItemsLiveResponse.ts b/src/api/resources/collections/resources/items/types/ItemsListItemsLiveResponse.ts new file mode 100644 index 00000000..a60762a1 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsListItemsLiveResponse.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +/** + * Results from collection items list + */ +export interface ItemsListItemsLiveResponse { + /** List of Items within the collection */ + items?: Webflow.collections.ItemsListItemsLiveResponseItemsItem[]; + pagination?: Webflow.collections.ItemsListItemsLiveResponsePagination; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsListItemsLiveResponseItemsItem.ts b/src/api/resources/collections/resources/items/types/ItemsListItemsLiveResponseItemsItem.ts new file mode 100644 index 00000000..40a93086 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsListItemsLiveResponseItemsItem.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +/** + * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + */ +export interface ItemsListItemsLiveResponseItemsItem { + /** Unique identifier for the Item */ + id: string; + /** Identifier for the locale of the CMS item */ + cmsLocaleId?: string; + /** The date the item was last published */ + lastPublished?: string; + /** The date the item was last updated */ + lastUpdated?: string; + /** The date the item was created */ + createdOn?: string; + /** Boolean determining if the Item is set to archived */ + isArchived?: boolean; + /** Boolean determining if the Item is set to draft */ + isDraft?: boolean; + fieldData?: Webflow.collections.ItemsListItemsLiveResponseItemsItemFieldData; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsListItemsLiveResponseItemsItemFieldData.ts b/src/api/resources/collections/resources/items/types/ItemsListItemsLiveResponseItemsItemFieldData.ts new file mode 100644 index 00000000..b1d79a7b --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsListItemsLiveResponseItemsItemFieldData.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface ItemsListItemsLiveResponseItemsItemFieldData { + /** Name of the Item */ + name?: string; + /** URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug. */ + slug?: string; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsListItemsLiveResponsePagination.ts b/src/api/resources/collections/resources/items/types/ItemsListItemsLiveResponsePagination.ts new file mode 100644 index 00000000..b45606d4 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsListItemsLiveResponsePagination.ts @@ -0,0 +1,12 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface ItemsListItemsLiveResponsePagination { + /** The limit specified in the request */ + limit?: number; + /** The offset specified for pagination */ + offset?: number; + /** Total number of items in the collection */ + total?: number; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsListItemsResponse.ts b/src/api/resources/collections/resources/items/types/ItemsListItemsResponse.ts new file mode 100644 index 00000000..446e117d --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsListItemsResponse.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +/** + * Results from collection items list + */ +export interface ItemsListItemsResponse { + /** List of Items within the collection */ + items?: Webflow.collections.ItemsListItemsResponseItemsItem[]; + pagination?: Webflow.collections.ItemsListItemsResponsePagination; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsListItemsResponseItemsItem.ts b/src/api/resources/collections/resources/items/types/ItemsListItemsResponseItemsItem.ts new file mode 100644 index 00000000..5ae7a007 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsListItemsResponseItemsItem.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +/** + * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + */ +export interface ItemsListItemsResponseItemsItem { + /** Unique identifier for the Item */ + id: string; + /** Identifier for the locale of the CMS item */ + cmsLocaleId?: string; + /** The date the item was last published */ + lastPublished?: string; + /** The date the item was last updated */ + lastUpdated?: string; + /** The date the item was created */ + createdOn?: string; + /** Boolean determining if the Item is set to archived */ + isArchived?: boolean; + /** Boolean determining if the Item is set to draft */ + isDraft?: boolean; + fieldData?: Webflow.collections.ItemsListItemsResponseItemsItemFieldData; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsListItemsResponseItemsItemFieldData.ts b/src/api/resources/collections/resources/items/types/ItemsListItemsResponseItemsItemFieldData.ts new file mode 100644 index 00000000..0eee2f09 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsListItemsResponseItemsItemFieldData.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface ItemsListItemsResponseItemsItemFieldData { + /** Name of the Item */ + name?: string; + /** URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug. */ + slug?: string; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsListItemsResponsePagination.ts b/src/api/resources/collections/resources/items/types/ItemsListItemsResponsePagination.ts new file mode 100644 index 00000000..e51ab344 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsListItemsResponsePagination.ts @@ -0,0 +1,12 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface ItemsListItemsResponsePagination { + /** The limit specified in the request */ + limit?: number; + /** The offset specified for pagination */ + offset?: number; + /** Total number of items in the collection */ + total?: number; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsUpdateItemLiveRequestFieldData.ts b/src/api/resources/collections/resources/items/types/ItemsUpdateItemLiveRequestFieldData.ts new file mode 100644 index 00000000..877bee34 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsUpdateItemLiveRequestFieldData.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface ItemsUpdateItemLiveRequestFieldData { + /** Name of the Item */ + name?: string; + /** URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug. */ + slug?: string; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsUpdateItemLiveResponse.ts b/src/api/resources/collections/resources/items/types/ItemsUpdateItemLiveResponse.ts new file mode 100644 index 00000000..fe5ffcd6 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsUpdateItemLiveResponse.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +/** + * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + */ +export interface ItemsUpdateItemLiveResponse { + /** Unique identifier for the Item */ + id: string; + /** Identifier for the locale of the CMS item */ + cmsLocaleId?: string; + /** The date the item was last published */ + lastPublished?: string; + /** The date the item was last updated */ + lastUpdated?: string; + /** The date the item was created */ + createdOn?: string; + /** Boolean determining if the Item is set to archived */ + isArchived?: boolean; + /** Boolean determining if the Item is set to draft */ + isDraft?: boolean; + fieldData?: Webflow.collections.ItemsUpdateItemLiveResponseFieldData; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsUpdateItemLiveResponseFieldData.ts b/src/api/resources/collections/resources/items/types/ItemsUpdateItemLiveResponseFieldData.ts new file mode 100644 index 00000000..971a299a --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsUpdateItemLiveResponseFieldData.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface ItemsUpdateItemLiveResponseFieldData { + /** Name of the Item */ + name?: string; + /** URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug. */ + slug?: string; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsUpdateItemRequestFieldData.ts b/src/api/resources/collections/resources/items/types/ItemsUpdateItemRequestFieldData.ts new file mode 100644 index 00000000..b847a2ca --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsUpdateItemRequestFieldData.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface ItemsUpdateItemRequestFieldData { + /** Name of the Item */ + name?: string; + /** URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug. */ + slug?: string; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsUpdateItemResponse.ts b/src/api/resources/collections/resources/items/types/ItemsUpdateItemResponse.ts new file mode 100644 index 00000000..7722e8fe --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsUpdateItemResponse.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +/** + * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + */ +export interface ItemsUpdateItemResponse { + /** Unique identifier for the Item */ + id: string; + /** Identifier for the locale of the CMS item */ + cmsLocaleId?: string; + /** The date the item was last published */ + lastPublished?: string; + /** The date the item was last updated */ + lastUpdated?: string; + /** The date the item was created */ + createdOn?: string; + /** Boolean determining if the Item is set to archived */ + isArchived?: boolean; + /** Boolean determining if the Item is set to draft */ + isDraft?: boolean; + fieldData?: Webflow.collections.ItemsUpdateItemResponseFieldData; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsUpdateItemResponseFieldData.ts b/src/api/resources/collections/resources/items/types/ItemsUpdateItemResponseFieldData.ts new file mode 100644 index 00000000..f1902e42 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsUpdateItemResponseFieldData.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface ItemsUpdateItemResponseFieldData { + /** Name of the Item */ + name?: string; + /** URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug. */ + slug?: string; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsUpdateItemsLiveRequestItemsItem.ts b/src/api/resources/collections/resources/items/types/ItemsUpdateItemsLiveRequestItemsItem.ts new file mode 100644 index 00000000..3986eb99 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsUpdateItemsLiveRequestItemsItem.ts @@ -0,0 +1,20 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +/** + * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + */ +export interface ItemsUpdateItemsLiveRequestItemsItem { + /** Unique identifier for the Item */ + id: string; + /** Identifier for the locale of the CMS item */ + cmsLocaleId?: string; + /** Boolean determining if the Item is set to archived */ + isArchived?: boolean; + /** Boolean determining if the Item is set to draft */ + isDraft?: boolean; + fieldData?: Webflow.collections.ItemsUpdateItemsLiveRequestItemsItemFieldData; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsUpdateItemsLiveRequestItemsItemFieldData.ts b/src/api/resources/collections/resources/items/types/ItemsUpdateItemsLiveRequestItemsItemFieldData.ts new file mode 100644 index 00000000..978ade56 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsUpdateItemsLiveRequestItemsItemFieldData.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface ItemsUpdateItemsLiveRequestItemsItemFieldData { + /** Name of the Item */ + name?: string; + /** URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug. */ + slug?: string; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsUpdateItemsLiveResponse.ts b/src/api/resources/collections/resources/items/types/ItemsUpdateItemsLiveResponse.ts new file mode 100644 index 00000000..37d71c57 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsUpdateItemsLiveResponse.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +/** + * Results from collection items list + */ +export interface ItemsUpdateItemsLiveResponse { + /** List of Items within the collection */ + items?: Webflow.collections.ItemsUpdateItemsLiveResponseItemsItem[]; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsUpdateItemsLiveResponseItemsItem.ts b/src/api/resources/collections/resources/items/types/ItemsUpdateItemsLiveResponseItemsItem.ts new file mode 100644 index 00000000..3edcd6ff --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsUpdateItemsLiveResponseItemsItem.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +/** + * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + */ +export interface ItemsUpdateItemsLiveResponseItemsItem { + /** Unique identifier for the Item */ + id: string; + /** Identifier for the locale of the CMS item */ + cmsLocaleId?: string; + /** The date the item was last published */ + lastPublished?: string; + /** The date the item was last updated */ + lastUpdated?: string; + /** The date the item was created */ + createdOn?: string; + /** Boolean determining if the Item is set to archived */ + isArchived?: boolean; + /** Boolean determining if the Item is set to draft */ + isDraft?: boolean; + fieldData?: Webflow.collections.ItemsUpdateItemsLiveResponseItemsItemFieldData; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsUpdateItemsLiveResponseItemsItemFieldData.ts b/src/api/resources/collections/resources/items/types/ItemsUpdateItemsLiveResponseItemsItemFieldData.ts new file mode 100644 index 00000000..a27b76c1 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsUpdateItemsLiveResponseItemsItemFieldData.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface ItemsUpdateItemsLiveResponseItemsItemFieldData { + /** Name of the Item */ + name?: string; + /** URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug. */ + slug?: string; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsUpdateItemsRequestItemsItem.ts b/src/api/resources/collections/resources/items/types/ItemsUpdateItemsRequestItemsItem.ts new file mode 100644 index 00000000..1910959e --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsUpdateItemsRequestItemsItem.ts @@ -0,0 +1,20 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +/** + * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + */ +export interface ItemsUpdateItemsRequestItemsItem { + /** Unique identifier for the Item */ + id: string; + /** Identifier for the locale of the CMS item */ + cmsLocaleId?: string; + /** Boolean determining if the Item is set to archived */ + isArchived?: boolean; + /** Boolean determining if the Item is set to draft */ + isDraft?: boolean; + fieldData?: Webflow.collections.ItemsUpdateItemsRequestItemsItemFieldData; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsUpdateItemsRequestItemsItemFieldData.ts b/src/api/resources/collections/resources/items/types/ItemsUpdateItemsRequestItemsItemFieldData.ts new file mode 100644 index 00000000..835a6258 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsUpdateItemsRequestItemsItemFieldData.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface ItemsUpdateItemsRequestItemsItemFieldData { + /** Name of the Item */ + name?: string; + /** URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug. */ + slug?: string; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsUpdateItemsResponse.ts b/src/api/resources/collections/resources/items/types/ItemsUpdateItemsResponse.ts new file mode 100644 index 00000000..3238d626 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsUpdateItemsResponse.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +/** + * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + */ +export interface ItemsUpdateItemsResponse { + /** Unique identifier for the Item */ + id: string; + /** Identifier for the locale of the CMS item */ + cmsLocaleId?: string; + /** The date the item was last published */ + lastPublished?: string; + /** The date the item was last updated */ + lastUpdated?: string; + /** The date the item was created */ + createdOn?: string; + /** Boolean determining if the Item is set to archived */ + isArchived?: boolean; + /** Boolean determining if the Item is set to draft */ + isDraft?: boolean; + fieldData?: Webflow.collections.ItemsUpdateItemsResponseFieldData; +} diff --git a/src/api/resources/collections/resources/items/types/ItemsUpdateItemsResponseFieldData.ts b/src/api/resources/collections/resources/items/types/ItemsUpdateItemsResponseFieldData.ts new file mode 100644 index 00000000..bee08bd6 --- /dev/null +++ b/src/api/resources/collections/resources/items/types/ItemsUpdateItemsResponseFieldData.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface ItemsUpdateItemsResponseFieldData { + /** Name of the Item */ + name?: string; + /** URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug. */ + slug?: string; +} diff --git a/src/api/resources/collections/resources/items/types/index.ts b/src/api/resources/collections/resources/items/types/index.ts index dce8a6ed..3c4ac49b 100644 --- a/src/api/resources/collections/resources/items/types/index.ts +++ b/src/api/resources/collections/resources/items/types/index.ts @@ -1,5 +1,55 @@ export * from "./ItemsListItemsRequestSortBy"; export * from "./ItemsListItemsRequestSortOrder"; +export * from "./ItemsListItemsResponseItemsItemFieldData"; +export * from "./ItemsListItemsResponseItemsItem"; +export * from "./ItemsListItemsResponsePagination"; +export * from "./ItemsListItemsResponse"; +export * from "./ItemsCreateItemRequestCmsLocaleIdFieldData"; +export * from "./ItemsCreateItemRequestCmsLocaleId"; +export * from "./ItemsCreateItemRequestItemsItemsItemFieldData"; +export * from "./ItemsCreateItemRequestItemsItemsItem"; +export * from "./ItemsCreateItemRequestItems"; +export * from "./ItemsCreateItemRequest"; +export * from "./ItemsCreateItemResponseFieldData"; +export * from "./ItemsCreateItemResponse"; +export * from "./ItemsDeleteItemsRequestItemsItem"; +export * from "./ItemsUpdateItemsRequestItemsItemFieldData"; +export * from "./ItemsUpdateItemsRequestItemsItem"; +export * from "./ItemsUpdateItemsResponseFieldData"; +export * from "./ItemsUpdateItemsResponse"; export * from "./ItemsListItemsLiveRequestSortBy"; export * from "./ItemsListItemsLiveRequestSortOrder"; +export * from "./ItemsListItemsLiveResponseItemsItemFieldData"; +export * from "./ItemsListItemsLiveResponseItemsItem"; +export * from "./ItemsListItemsLiveResponsePagination"; +export * from "./ItemsListItemsLiveResponse"; +export * from "./ItemsCreateItemLiveRequestCmsLocaleIdFieldData"; +export * from "./ItemsCreateItemLiveRequestCmsLocaleId"; +export * from "./ItemsCreateItemLiveRequestItemsItemsItemFieldData"; +export * from "./ItemsCreateItemLiveRequestItemsItemsItem"; +export * from "./ItemsCreateItemLiveRequestItems"; +export * from "./ItemsCreateItemLiveRequest"; +export * from "./ItemsCreateItemLiveResponseFieldData"; +export * from "./ItemsCreateItemLiveResponse"; +export * from "./ItemsDeleteItemsLiveRequestItemsItem"; +export * from "./ItemsUpdateItemsLiveRequestItemsItemFieldData"; +export * from "./ItemsUpdateItemsLiveRequestItemsItem"; +export * from "./ItemsUpdateItemsLiveResponseItemsItemFieldData"; +export * from "./ItemsUpdateItemsLiveResponseItemsItem"; +export * from "./ItemsUpdateItemsLiveResponse"; +export * from "./ItemsCreateItemsRequestFieldDataName"; +export * from "./ItemsCreateItemsRequestFieldDataItem"; +export * from "./ItemsCreateItemsRequestFieldData"; +export * from "./ItemsCreateItemsResponseFieldData"; +export * from "./ItemsCreateItemsResponse"; +export * from "./ItemsGetItemResponseFieldData"; +export * from "./ItemsGetItemResponse"; +export * from "./ItemsUpdateItemRequestFieldData"; +export * from "./ItemsUpdateItemResponseFieldData"; +export * from "./ItemsUpdateItemResponse"; +export * from "./ItemsGetItemLiveResponseFieldData"; +export * from "./ItemsGetItemLiveResponse"; +export * from "./ItemsUpdateItemLiveRequestFieldData"; +export * from "./ItemsUpdateItemLiveResponseFieldData"; +export * from "./ItemsUpdateItemLiveResponse"; export * from "./ItemsPublishItemResponse"; diff --git a/src/api/resources/collections/types/CollectionsCreateResponse.ts b/src/api/resources/collections/types/CollectionsCreateResponse.ts new file mode 100644 index 00000000..497cbb22 --- /dev/null +++ b/src/api/resources/collections/types/CollectionsCreateResponse.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * A collection object + */ +export interface CollectionsCreateResponse { + /** Unique identifier for a Collection */ + id: string; + /** Name given to the Collection */ + displayName?: string; + /** The name of one Item in Collection (e.g. ”Blog Post” if the Collection is called “Blog Posts”) */ + singularName?: string; + /** Slug of Collection in Site URL structure */ + slug?: string; + /** The date the collection was created */ + createdOn?: Date; + /** The date the collection was last updated */ + lastUpdated?: Date; + /** The list of fields in the Collection */ + fields: Webflow.CollectionsCreateResponseFieldsItem[]; +} diff --git a/src/api/resources/collections/types/CollectionsCreateResponseFieldsItem.ts b/src/api/resources/collections/types/CollectionsCreateResponseFieldsItem.ts new file mode 100644 index 00000000..38e521da --- /dev/null +++ b/src/api/resources/collections/types/CollectionsCreateResponseFieldsItem.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The details of a field in a collection + */ +export interface CollectionsCreateResponseFieldsItem { + /** Unique identifier for a Field */ + id: string; + /** define whether a field is required in a collection */ + isRequired: boolean; + /** Define whether the field is editable */ + isEditable?: boolean; + /** Choose these appropriate field type for your collection data */ + type: Webflow.CollectionsCreateResponseFieldsItemType; + /** Slug of Field in Site URL structure. Slugs should be all lowercase with no spaces. Any spaces will be converted to "-." */ + slug?: string; + /** The name of a field */ + displayName: string; + /** Additional text to help anyone filling out this field */ + helpText?: string; +} diff --git a/src/api/resources/collections/types/CollectionsCreateResponseFieldsItemType.ts b/src/api/resources/collections/types/CollectionsCreateResponseFieldsItemType.ts new file mode 100644 index 00000000..7f1e223e --- /dev/null +++ b/src/api/resources/collections/types/CollectionsCreateResponseFieldsItemType.ts @@ -0,0 +1,37 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Choose these appropriate field type for your collection data + */ +export type CollectionsCreateResponseFieldsItemType = + | "PlainText" + | "RichText" + | "Image" + | "MultiImage" + | "Video" + | "Link" + | "Email" + | "Phone" + | "Number" + | "DateTime" + | "Switch" + | "Color" + | "ExtFileRef"; + +export const CollectionsCreateResponseFieldsItemType = { + PlainText: "PlainText", + RichText: "RichText", + Image: "Image", + MultiImage: "MultiImage", + Video: "Video", + Link: "Link", + Email: "Email", + Phone: "Phone", + Number: "Number", + DateTime: "DateTime", + Switch: "Switch", + Color: "Color", + ExtFileRef: "ExtFileRef", +} as const; diff --git a/src/api/resources/collections/types/CollectionsGetResponse.ts b/src/api/resources/collections/types/CollectionsGetResponse.ts new file mode 100644 index 00000000..d3efbfae --- /dev/null +++ b/src/api/resources/collections/types/CollectionsGetResponse.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * A collection object + */ +export interface CollectionsGetResponse { + /** Unique identifier for a Collection */ + id: string; + /** Name given to the Collection */ + displayName?: string; + /** The name of one Item in Collection (e.g. ”Blog Post” if the Collection is called “Blog Posts”) */ + singularName?: string; + /** Slug of Collection in Site URL structure */ + slug?: string; + /** The date the collection was created */ + createdOn?: Date; + /** The date the collection was last updated */ + lastUpdated?: Date; + /** The list of fields in the Collection */ + fields: Webflow.CollectionsGetResponseFieldsItem[]; +} diff --git a/src/api/resources/collections/types/CollectionsGetResponseFieldsItem.ts b/src/api/resources/collections/types/CollectionsGetResponseFieldsItem.ts new file mode 100644 index 00000000..92001705 --- /dev/null +++ b/src/api/resources/collections/types/CollectionsGetResponseFieldsItem.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The details of a field in a collection + */ +export interface CollectionsGetResponseFieldsItem { + /** Unique identifier for a Field */ + id: string; + /** define whether a field is required in a collection */ + isRequired: boolean; + /** Define whether the field is editable */ + isEditable?: boolean; + /** Choose these appropriate field type for your collection data */ + type: Webflow.CollectionsGetResponseFieldsItemType; + /** Slug of Field in Site URL structure. Slugs should be all lowercase with no spaces. Any spaces will be converted to "-." */ + slug?: string; + /** The name of a field */ + displayName: string; + /** Additional text to help anyone filling out this field */ + helpText?: string; +} diff --git a/src/api/resources/collections/types/CollectionsGetResponseFieldsItemType.ts b/src/api/resources/collections/types/CollectionsGetResponseFieldsItemType.ts new file mode 100644 index 00000000..17600a02 --- /dev/null +++ b/src/api/resources/collections/types/CollectionsGetResponseFieldsItemType.ts @@ -0,0 +1,37 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Choose these appropriate field type for your collection data + */ +export type CollectionsGetResponseFieldsItemType = + | "PlainText" + | "RichText" + | "Image" + | "MultiImage" + | "Video" + | "Link" + | "Email" + | "Phone" + | "Number" + | "DateTime" + | "Switch" + | "Color" + | "ExtFileRef"; + +export const CollectionsGetResponseFieldsItemType = { + PlainText: "PlainText", + RichText: "RichText", + Image: "Image", + MultiImage: "MultiImage", + Video: "Video", + Link: "Link", + Email: "Email", + Phone: "Phone", + Number: "Number", + DateTime: "DateTime", + Switch: "Switch", + Color: "Color", + ExtFileRef: "ExtFileRef", +} as const; diff --git a/src/api/resources/collections/types/CollectionsListResponse.ts b/src/api/resources/collections/types/CollectionsListResponse.ts new file mode 100644 index 00000000..122f930e --- /dev/null +++ b/src/api/resources/collections/types/CollectionsListResponse.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface CollectionsListResponse { + /** An array of Collections */ + collections?: Webflow.CollectionsListResponseCollectionsItem[]; +} diff --git a/src/api/resources/collections/types/CollectionsListResponseCollectionsItem.ts b/src/api/resources/collections/types/CollectionsListResponseCollectionsItem.ts new file mode 100644 index 00000000..2b7affb0 --- /dev/null +++ b/src/api/resources/collections/types/CollectionsListResponseCollectionsItem.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * A collection object + */ +export interface CollectionsListResponseCollectionsItem { + /** Unique identifier for a Collection */ + id: string; + /** Name given to the Collection */ + displayName?: string; + /** The name of one Item in Collection (e.g. ”Blog Post” if the Collection is called “Blog Posts”) */ + singularName?: string; + /** Slug of Collection in Site URL structure */ + slug?: string; + /** The date the collection was created */ + createdOn?: Date; + /** The date the collection was last updated */ + lastUpdated?: Date; +} diff --git a/src/api/resources/collections/types/index.ts b/src/api/resources/collections/types/index.ts new file mode 100644 index 00000000..c47d4156 --- /dev/null +++ b/src/api/resources/collections/types/index.ts @@ -0,0 +1,8 @@ +export * from "./CollectionsListResponseCollectionsItem"; +export * from "./CollectionsListResponse"; +export * from "./CollectionsCreateResponseFieldsItemType"; +export * from "./CollectionsCreateResponseFieldsItem"; +export * from "./CollectionsCreateResponse"; +export * from "./CollectionsGetResponseFieldsItemType"; +export * from "./CollectionsGetResponseFieldsItem"; +export * from "./CollectionsGetResponse"; diff --git a/src/api/resources/ecommerce/client/Client.ts b/src/api/resources/ecommerce/client/Client.ts index 4707f716..9d0a8c10 100644 --- a/src/api/resources/ecommerce/client/Client.ts +++ b/src/api/resources/ecommerce/client/Client.ts @@ -50,7 +50,7 @@ export class Ecommerce { public async getSettings( siteId: string, requestOptions?: Ecommerce.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -61,8 +61,8 @@ export class Ecommerce { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -73,7 +73,7 @@ export class Ecommerce { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.EcommerceSettings.parseOrThrow(_response.body, { + return serializers.EcommerceGetSettingsResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -95,15 +95,7 @@ export class Ecommerce { case 409: throw new Webflow.ConflictError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: diff --git a/src/api/resources/ecommerce/index.ts b/src/api/resources/ecommerce/index.ts index 5ec76921..c9240f83 100644 --- a/src/api/resources/ecommerce/index.ts +++ b/src/api/resources/ecommerce/index.ts @@ -1 +1,2 @@ +export * from "./types"; export * from "./client"; diff --git a/src/api/resources/ecommerce/types/EcommerceGetSettingsResponse.ts b/src/api/resources/ecommerce/types/EcommerceGetSettingsResponse.ts new file mode 100644 index 00000000..2014ee34 --- /dev/null +++ b/src/api/resources/ecommerce/types/EcommerceGetSettingsResponse.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Ecommerce settings for a Webflow Site + */ +export interface EcommerceGetSettingsResponse { + /** The identifier of the Site */ + siteId?: string; + /** Date that the Site was created on */ + createdOn?: Date; + /** The three-letter ISO currency code for the Site */ + defaultCurrency?: string; +} diff --git a/src/api/resources/ecommerce/types/index.ts b/src/api/resources/ecommerce/types/index.ts new file mode 100644 index 00000000..032539c9 --- /dev/null +++ b/src/api/resources/ecommerce/types/index.ts @@ -0,0 +1 @@ +export * from "./EcommerceGetSettingsResponse"; diff --git a/src/api/resources/forms/client/Client.ts b/src/api/resources/forms/client/Client.ts index 00094696..180ad26d 100644 --- a/src/api/resources/forms/client/Client.ts +++ b/src/api/resources/forms/client/Client.ts @@ -29,7 +29,9 @@ export class Forms { constructor(protected readonly _options: Forms.Options) {} /** - * List forms for a given site

Required scope | `forms:read` + * List forms for a given site. + * + * Required scope | `forms:read` * * @param {string} siteId - Unique identifier for a Site * @param {Webflow.FormsListRequest} request @@ -50,7 +52,7 @@ export class Forms { siteId: string, request: Webflow.FormsListRequest = {}, requestOptions?: Forms.RequestOptions - ): Promise { + ): Promise { const { limit, offset } = request; const _queryParams: Record = {}; if (limit != null) { @@ -71,8 +73,8 @@ export class Forms { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -84,7 +86,7 @@ export class Forms { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.FormList.parseOrThrow(_response.body, { + return serializers.FormsListResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -106,15 +108,7 @@ export class Forms { case 409: throw new Webflow.ConflictError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -141,7 +135,9 @@ export class Forms { } /** - * Get information about a given form

Required scope | `forms:read` + * Get information about a given form. + * + * Required scope | `forms:read` * * @param {string} formId - Unique identifier for a Form * @param {Forms.RequestOptions} requestOptions - Request-specific configuration. @@ -156,7 +152,7 @@ export class Forms { * @example * await client.forms.get("580e63e98c9a982ac9b8b741") */ - public async get(formId: string, requestOptions?: Forms.RequestOptions): Promise { + public async get(formId: string, requestOptions?: Forms.RequestOptions): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -167,8 +163,8 @@ export class Forms { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -179,7 +175,7 @@ export class Forms { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.Form.parseOrThrow(_response.body, { + return serializers.FormsGetResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -199,15 +195,7 @@ export class Forms { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -234,7 +222,9 @@ export class Forms { } /** - * List form submissions for a given form

Required scope | `forms:read` + * List form submissions for a given form + * + * Required scope | `forms:read` * * @param {string} formId - Unique identifier for a Form * @param {Webflow.FormsListSubmissionsRequest} request @@ -254,7 +244,7 @@ export class Forms { formId: string, request: Webflow.FormsListSubmissionsRequest = {}, requestOptions?: Forms.RequestOptions - ): Promise { + ): Promise { const { offset, limit } = request; const _queryParams: Record = {}; if (offset != null) { @@ -275,8 +265,8 @@ export class Forms { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -288,7 +278,7 @@ export class Forms { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.FormSubmissionList.parseOrThrow(_response.body, { + return serializers.FormsListSubmissionsResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -308,15 +298,7 @@ export class Forms { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -343,7 +325,9 @@ export class Forms { } /** - * Get information about a given form submission

Required scope | `forms:read` + * Get information about a given form submissio. + * + * Required scope | `forms:read` * * @param {string} formSubmissionId - Unique identifier for a Form Submission * @param {Forms.RequestOptions} requestOptions - Request-specific configuration. @@ -361,7 +345,7 @@ export class Forms { public async getSubmission( formSubmissionId: string, requestOptions?: Forms.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -372,8 +356,8 @@ export class Forms { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -384,7 +368,7 @@ export class Forms { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.FormSubmission.parseOrThrow(_response.body, { + return serializers.FormsGetSubmissionResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -404,15 +388,7 @@ export class Forms { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -439,7 +415,9 @@ export class Forms { } /** - * Update hidden fields on a form submission

Required scope | `forms:write` + * Update hidden fields on a form submission + * + * Required scope | `forms:write` * * @param {string} formSubmissionId - Unique identifier for a Form Submission * @param {Webflow.FormsUpdateSubmissionRequest} request @@ -460,7 +438,7 @@ export class Forms { formSubmissionId: string, request: Webflow.FormsUpdateSubmissionRequest = {}, requestOptions?: Forms.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -471,8 +449,8 @@ export class Forms { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -484,7 +462,7 @@ export class Forms { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.FormSubmission.parseOrThrow(_response.body, { + return serializers.FormsUpdateSubmissionResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -506,15 +484,7 @@ export class Forms { case 409: throw new Webflow.ConflictError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: diff --git a/src/api/resources/forms/index.ts b/src/api/resources/forms/index.ts index 5ec76921..c9240f83 100644 --- a/src/api/resources/forms/index.ts +++ b/src/api/resources/forms/index.ts @@ -1 +1,2 @@ +export * from "./types"; export * from "./client"; diff --git a/src/api/resources/forms/types/FormSubmissionPayload.ts b/src/api/resources/forms/types/FormSubmissionPayload.ts new file mode 100644 index 00000000..2161afae --- /dev/null +++ b/src/api/resources/forms/types/FormSubmissionPayload.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The Webhook payload for when a form is submitted + */ +export interface FormSubmissionPayload { + /** The type of event that triggered the request */ + triggerType?: string; + /** The payload of data sent from Webflow */ + payload?: Webflow.FormSubmissionPayloadPayload; +} diff --git a/src/api/resources/forms/types/FormSubmissionPayloadPayload.ts b/src/api/resources/forms/types/FormSubmissionPayloadPayload.ts new file mode 100644 index 00000000..683ec33f --- /dev/null +++ b/src/api/resources/forms/types/FormSubmissionPayloadPayload.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The payload of data sent from Webflow + */ +export interface FormSubmissionPayloadPayload { + /** The name of the form */ + name?: string; + /** The ID of the site that the form was submitted from */ + siteId?: string; + /** The data submitted in the form */ + data?: Record; + /** A list of fields from the submitted form */ + schema?: unknown[]; + /** The timestamp the form was submitted */ + submittedAt?: string; + /** the ID of the event */ + id?: string; + /** The ID of the form submission */ + formId?: string; + /** The uniqueID of the Form element */ + formElementId?: string; +} diff --git a/src/api/resources/forms/types/FormsGetResponse.ts b/src/api/resources/forms/types/FormsGetResponse.ts new file mode 100644 index 00000000..84bf7344 --- /dev/null +++ b/src/api/resources/forms/types/FormsGetResponse.ts @@ -0,0 +1,35 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * A form and its corresponding metadata + */ +export interface FormsGetResponse { + /** The Form name displayed on the site */ + displayName?: string; + /** Date that the Form was created on */ + createdOn?: Date; + /** Date that the Form was last updated on */ + lastUpdated?: Date; + /** A collection of form field objects */ + fields?: Record; + /** Settings for form responses */ + responseSettings?: Webflow.FormsGetResponseResponseSettings; + /** The unique ID for the Form */ + id?: string; + /** The unique ID of the Site the Form belongs to */ + siteId?: string; + /** The unique ID corresponding to the site's Domain name */ + siteDomainId?: string; + /** The unique ID for the Page on which the Form is placed */ + pageId?: string; + /** The user-visible name of the Page where the Form is placed */ + pageName?: string; + /** The unique ID of the Form element */ + formElementId?: string; + /** The unique ID of the Workspace the Site belongs to */ + workspaceId?: string; +} diff --git a/src/api/resources/forms/types/FormsGetResponseFieldsValue.ts b/src/api/resources/forms/types/FormsGetResponseFieldsValue.ts new file mode 100644 index 00000000..8b9ea385 --- /dev/null +++ b/src/api/resources/forms/types/FormsGetResponseFieldsValue.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * An object containing field info for a specific fieldID. + */ +export interface FormsGetResponseFieldsValue { + /** The field name displayed on the site */ + displayName?: string; + /** The field type */ + type?: Webflow.FormsGetResponseFieldsValueType; + /** The placeholder text for the field */ + placeholder?: string; + /** Whether the field is visible to the user */ + userVisible?: boolean; +} diff --git a/src/api/resources/forms/types/FormsGetResponseFieldsValueType.ts b/src/api/resources/forms/types/FormsGetResponseFieldsValueType.ts new file mode 100644 index 00000000..e3a50824 --- /dev/null +++ b/src/api/resources/forms/types/FormsGetResponseFieldsValueType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The field type + */ +export type FormsGetResponseFieldsValueType = "Plain" | "Email" | "Password" | "Phone" | "Number"; + +export const FormsGetResponseFieldsValueType = { + Plain: "Plain", + Email: "Email", + Password: "Password", + Phone: "Phone", + Number: "Number", +} as const; diff --git a/src/api/resources/forms/types/FormsGetResponseResponseSettings.ts b/src/api/resources/forms/types/FormsGetResponseResponseSettings.ts new file mode 100644 index 00000000..4cf2b472 --- /dev/null +++ b/src/api/resources/forms/types/FormsGetResponseResponseSettings.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Settings for form responses + */ +export interface FormsGetResponseResponseSettings { + /** The url or path to redirect the user to after form submission */ + redirectUrl?: string; + /** The HTTP request method to use for the redirectUrl (eg. POST or GET) */ + redirectMethod?: string; + /** The action to take after form submission */ + redirectAction?: string; + /** Whether to send an email confirmation to the user */ + sendEmailConfirmation?: boolean; +} diff --git a/src/api/resources/forms/types/FormsGetSubmissionResponse.ts b/src/api/resources/forms/types/FormsGetSubmissionResponse.ts new file mode 100644 index 00000000..93d93a2d --- /dev/null +++ b/src/api/resources/forms/types/FormsGetSubmissionResponse.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * A form submission + */ +export interface FormsGetSubmissionResponse { + /** The unique ID of the Form submission */ + id?: string; + /** The Form name displayed on the site */ + displayName?: string; + /** The unique ID of the Site the Form belongs to */ + siteId?: string; + /** The unique ID of the Workspace the Site belongs to */ + workspaceId?: string; + /** Date that the Form was submitted on */ + dateSubmitted?: Date; + /** The data submitted in the Form */ + formResponse?: Record; +} diff --git a/src/api/resources/forms/types/FormsListResponse.ts b/src/api/resources/forms/types/FormsListResponse.ts new file mode 100644 index 00000000..d2a7541a --- /dev/null +++ b/src/api/resources/forms/types/FormsListResponse.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * A list of forms + */ +export interface FormsListResponse { + forms?: Webflow.FormsListResponseFormsItem[]; + /** Pagination object */ + pagination?: Webflow.FormsListResponsePagination; +} diff --git a/src/api/resources/forms/types/FormsListResponseFormsItem.ts b/src/api/resources/forms/types/FormsListResponseFormsItem.ts new file mode 100644 index 00000000..52b51bef --- /dev/null +++ b/src/api/resources/forms/types/FormsListResponseFormsItem.ts @@ -0,0 +1,35 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * A Webflow form + */ +export interface FormsListResponseFormsItem { + /** The Form name displayed on the site */ + displayName?: string; + /** Date that the Form was created on */ + createdOn?: Date; + /** Date that the Form was last updated on */ + lastUpdated?: Date; + /** A collection of form field objects */ + fields?: Record; + /** Settings for form responses */ + responseSettings?: Webflow.FormsListResponseFormsItemResponseSettings; + /** The unique ID for the Form */ + id?: string; + /** The unique ID of the Site the Form belongs to */ + siteId?: string; + /** The unique ID corresponding to the site's Domain name */ + siteDomainId?: string; + /** The unique ID for the Page on which the Form is placed */ + pageId?: string; + /** The user-visible name of the Page where the Form is placed */ + pageName?: string; + /** The unique ID of the Form element */ + formElementId?: string; + /** The unique ID of the Workspace the Site belongs to */ + workspaceId?: string; +} diff --git a/src/api/resources/forms/types/FormsListResponseFormsItemFieldsValue.ts b/src/api/resources/forms/types/FormsListResponseFormsItemFieldsValue.ts new file mode 100644 index 00000000..db3ccfb5 --- /dev/null +++ b/src/api/resources/forms/types/FormsListResponseFormsItemFieldsValue.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * An object containing field info for a specific fieldID. + */ +export interface FormsListResponseFormsItemFieldsValue { + /** The field name displayed on the site */ + displayName?: string; + /** The field type */ + type?: Webflow.FormsListResponseFormsItemFieldsValueType; + /** The placeholder text for the field */ + placeholder?: string; + /** Whether the field is visible to the user */ + userVisible?: boolean; +} diff --git a/src/api/resources/forms/types/FormsListResponseFormsItemFieldsValueType.ts b/src/api/resources/forms/types/FormsListResponseFormsItemFieldsValueType.ts new file mode 100644 index 00000000..928cfea7 --- /dev/null +++ b/src/api/resources/forms/types/FormsListResponseFormsItemFieldsValueType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The field type + */ +export type FormsListResponseFormsItemFieldsValueType = "Plain" | "Email" | "Password" | "Phone" | "Number"; + +export const FormsListResponseFormsItemFieldsValueType = { + Plain: "Plain", + Email: "Email", + Password: "Password", + Phone: "Phone", + Number: "Number", +} as const; diff --git a/src/api/resources/forms/types/FormsListResponseFormsItemResponseSettings.ts b/src/api/resources/forms/types/FormsListResponseFormsItemResponseSettings.ts new file mode 100644 index 00000000..82b39ab4 --- /dev/null +++ b/src/api/resources/forms/types/FormsListResponseFormsItemResponseSettings.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Settings for form responses + */ +export interface FormsListResponseFormsItemResponseSettings { + /** The url or path to redirect the user to after form submission */ + redirectUrl?: string; + /** The HTTP request method to use for the redirectUrl (eg. POST or GET) */ + redirectMethod?: string; + /** The action to take after form submission */ + redirectAction?: string; + /** Whether to send an email confirmation to the user */ + sendEmailConfirmation?: boolean; +} diff --git a/src/api/resources/forms/types/FormsListResponsePagination.ts b/src/api/resources/forms/types/FormsListResponsePagination.ts new file mode 100644 index 00000000..00b65fa7 --- /dev/null +++ b/src/api/resources/forms/types/FormsListResponsePagination.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Pagination object + */ +export interface FormsListResponsePagination { + /** The limit used for pagination */ + limit?: number; + /** The offset used for pagination */ + offset?: number; + /** The total number of records */ + total?: number; +} diff --git a/src/api/resources/forms/types/FormsListSubmissionsResponse.ts b/src/api/resources/forms/types/FormsListSubmissionsResponse.ts new file mode 100644 index 00000000..6cb56082 --- /dev/null +++ b/src/api/resources/forms/types/FormsListSubmissionsResponse.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * A list of form submissions + */ +export interface FormsListSubmissionsResponse { + formSubmissions?: Webflow.FormsListSubmissionsResponseFormSubmissionsItem[]; + /** Pagination object */ + pagination?: Webflow.FormsListSubmissionsResponsePagination; +} diff --git a/src/api/resources/forms/types/FormsListSubmissionsResponseFormSubmissionsItem.ts b/src/api/resources/forms/types/FormsListSubmissionsResponseFormSubmissionsItem.ts new file mode 100644 index 00000000..06a81a88 --- /dev/null +++ b/src/api/resources/forms/types/FormsListSubmissionsResponseFormSubmissionsItem.ts @@ -0,0 +1,18 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface FormsListSubmissionsResponseFormSubmissionsItem { + /** The unique ID of the Form submission */ + id?: string; + /** The Form name displayed on the site */ + displayName?: string; + /** The unique ID of the Site the Form belongs to */ + siteId?: string; + /** The unique ID of the Workspace the Site belongs to */ + workspaceId?: string; + /** Date that the Form was submitted on */ + dateSubmitted?: Date; + /** The data submitted in the Form */ + formResponse?: Record; +} diff --git a/src/api/resources/forms/types/FormsListSubmissionsResponsePagination.ts b/src/api/resources/forms/types/FormsListSubmissionsResponsePagination.ts new file mode 100644 index 00000000..47d2cfa7 --- /dev/null +++ b/src/api/resources/forms/types/FormsListSubmissionsResponsePagination.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Pagination object + */ +export interface FormsListSubmissionsResponsePagination { + /** The limit used for pagination */ + limit?: number; + /** The offset used for pagination */ + offset?: number; + /** The total number of records */ + total?: number; +} diff --git a/src/api/resources/forms/types/FormsUpdateSubmissionResponse.ts b/src/api/resources/forms/types/FormsUpdateSubmissionResponse.ts new file mode 100644 index 00000000..ec5c3972 --- /dev/null +++ b/src/api/resources/forms/types/FormsUpdateSubmissionResponse.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * A form submission + */ +export interface FormsUpdateSubmissionResponse { + /** The unique ID of the Form submission */ + id?: string; + /** The Form name displayed on the site */ + displayName?: string; + /** The unique ID of the Site the Form belongs to */ + siteId?: string; + /** The unique ID of the Workspace the Site belongs to */ + workspaceId?: string; + /** Date that the Form was submitted on */ + dateSubmitted?: Date; + /** The data submitted in the Form */ + formResponse?: Record; +} diff --git a/src/api/resources/forms/types/index.ts b/src/api/resources/forms/types/index.ts new file mode 100644 index 00000000..1d362aef --- /dev/null +++ b/src/api/resources/forms/types/index.ts @@ -0,0 +1,17 @@ +export * from "./FormsListResponseFormsItemFieldsValueType"; +export * from "./FormsListResponseFormsItemFieldsValue"; +export * from "./FormsListResponseFormsItemResponseSettings"; +export * from "./FormsListResponseFormsItem"; +export * from "./FormsListResponsePagination"; +export * from "./FormsListResponse"; +export * from "./FormsGetResponseFieldsValueType"; +export * from "./FormsGetResponseFieldsValue"; +export * from "./FormsGetResponseResponseSettings"; +export * from "./FormsGetResponse"; +export * from "./FormsListSubmissionsResponseFormSubmissionsItem"; +export * from "./FormsListSubmissionsResponsePagination"; +export * from "./FormsListSubmissionsResponse"; +export * from "./FormsGetSubmissionResponse"; +export * from "./FormsUpdateSubmissionResponse"; +export * from "./FormSubmissionPayloadPayload"; +export * from "./FormSubmissionPayload"; diff --git a/src/api/resources/index.ts b/src/api/resources/index.ts index 45832f7c..c3da3abb 100644 --- a/src/api/resources/index.ts +++ b/src/api/resources/index.ts @@ -1,7 +1,19 @@ +export * as token from "./token"; +export * from "./token/types"; export * as sites from "./sites"; export * from "./sites/types"; +export * as collections from "./collections"; +export * from "./collections/types"; export * as pages from "./pages"; export * from "./pages/types"; +export * as scripts from "./scripts"; +export * from "./scripts/types"; +export * as assets from "./assets"; +export * from "./assets/types"; +export * as webhooks from "./webhooks"; +export * from "./webhooks/types"; +export * as forms from "./forms"; +export * from "./forms/types"; export * as users from "./users"; export * from "./users/types"; export * as accessGroups from "./accessGroups"; @@ -12,18 +24,16 @@ export * as orders from "./orders"; export * from "./orders/types"; export * as inventory from "./inventory"; export * from "./inventory/types"; -export * as collections from "./collections"; -export * as token from "./token"; -export * as scripts from "./scripts"; -export * as assets from "./assets"; -export * as webhooks from "./webhooks"; -export * as forms from "./forms"; export * as ecommerce from "./ecommerce"; +export * from "./ecommerce/types"; +export * as items from "./items"; +export * from "./items/types"; export * from "./sites/client/requests"; export * from "./collections/client/requests"; export * from "./pages/client/requests"; export * from "./scripts/client/requests"; export * from "./assets/client/requests"; +export * from "./webhooks/client/requests"; export * from "./forms/client/requests"; export * from "./users/client/requests"; export * from "./accessGroups/client/requests"; diff --git a/src/api/resources/inventory/client/Client.ts b/src/api/resources/inventory/client/Client.ts index 4731edbf..a623c914 100644 --- a/src/api/resources/inventory/client/Client.ts +++ b/src/api/resources/inventory/client/Client.ts @@ -52,7 +52,7 @@ export class Inventory { collectionId: string, itemId: string, requestOptions?: Inventory.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -63,8 +63,8 @@ export class Inventory { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -75,7 +75,7 @@ export class Inventory { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.InventoryItem.parseOrThrow(_response.body, { + return serializers.InventoryListResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -97,15 +97,7 @@ export class Inventory { case 409: throw new Webflow.ConflictError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -132,7 +124,12 @@ export class Inventory { } /** - * Updates the current inventory levels for a particular SKU item. Updates may be given in one or two methods, absolutely or incrementally. Absolute updates are done by setting `quantity` directly. Incremental updates are by specifying the inventory delta in `updateQuantity` which is then added to the `quantity` stored on the server. + * Updates the current inventory levels for a particular SKU item. + * + * Updates may be given in one or two methods, absolutely or incrementally. + * + * - Absolute updates are done by setting `quantity` directly. + * - Incremental updates are by specifying the inventory delta in `updateQuantity` which is then added to the `quantity` stored on the server. * * Required scope | `ecommerce:write` * @@ -159,7 +156,7 @@ export class Inventory { itemId: string, request: Webflow.InventoryUpdateRequest, requestOptions?: Inventory.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -170,8 +167,8 @@ export class Inventory { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -183,7 +180,7 @@ export class Inventory { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.InventoryItem.parseOrThrow(_response.body, { + return serializers.InventoryUpdateResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -205,15 +202,7 @@ export class Inventory { case 409: throw new Webflow.ConflictError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: diff --git a/src/api/resources/inventory/types/EcommInventoryChangedPayload.ts b/src/api/resources/inventory/types/EcommInventoryChangedPayload.ts new file mode 100644 index 00000000..e65f6fb3 --- /dev/null +++ b/src/api/resources/inventory/types/EcommInventoryChangedPayload.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The availabile inventory for an item + */ +export interface EcommInventoryChangedPayload { + /** Unique identifier for a SKU item */ + id?: string; + /** Total quantity of items remaining in inventory (if inventoryType is finite) */ + quantity?: number; + /** infinite or finite */ + inventoryType?: Webflow.EcommInventoryChangedPayloadInventoryType; +} diff --git a/src/api/resources/inventory/types/EcommInventoryChangedPayloadInventoryType.ts b/src/api/resources/inventory/types/EcommInventoryChangedPayloadInventoryType.ts new file mode 100644 index 00000000..f41f7af8 --- /dev/null +++ b/src/api/resources/inventory/types/EcommInventoryChangedPayloadInventoryType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * infinite or finite + */ +export type EcommInventoryChangedPayloadInventoryType = "infinite" | "finite"; + +export const EcommInventoryChangedPayloadInventoryType = { + Infinite: "infinite", + Finite: "finite", +} as const; diff --git a/src/api/resources/inventory/types/InventoryListResponse.ts b/src/api/resources/inventory/types/InventoryListResponse.ts new file mode 100644 index 00000000..5e394bb3 --- /dev/null +++ b/src/api/resources/inventory/types/InventoryListResponse.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The availabile inventory for an item + */ +export interface InventoryListResponse { + /** Unique identifier for a SKU item */ + id?: string; + /** Total quantity of items remaining in inventory (if inventoryType is finite) */ + quantity?: number; + /** infinite or finite */ + inventoryType?: Webflow.InventoryListResponseInventoryType; +} diff --git a/src/api/resources/inventory/types/InventoryListResponseInventoryType.ts b/src/api/resources/inventory/types/InventoryListResponseInventoryType.ts new file mode 100644 index 00000000..a89ac18b --- /dev/null +++ b/src/api/resources/inventory/types/InventoryListResponseInventoryType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * infinite or finite + */ +export type InventoryListResponseInventoryType = "infinite" | "finite"; + +export const InventoryListResponseInventoryType = { + Infinite: "infinite", + Finite: "finite", +} as const; diff --git a/src/api/resources/inventory/types/InventoryUpdateResponse.ts b/src/api/resources/inventory/types/InventoryUpdateResponse.ts new file mode 100644 index 00000000..a90cb117 --- /dev/null +++ b/src/api/resources/inventory/types/InventoryUpdateResponse.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The availabile inventory for an item + */ +export interface InventoryUpdateResponse { + /** Unique identifier for a SKU item */ + id?: string; + /** Total quantity of items remaining in inventory (if inventoryType is finite) */ + quantity?: number; + /** infinite or finite */ + inventoryType?: Webflow.InventoryUpdateResponseInventoryType; +} diff --git a/src/api/resources/inventory/types/InventoryUpdateResponseInventoryType.ts b/src/api/resources/inventory/types/InventoryUpdateResponseInventoryType.ts new file mode 100644 index 00000000..b90705d7 --- /dev/null +++ b/src/api/resources/inventory/types/InventoryUpdateResponseInventoryType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * infinite or finite + */ +export type InventoryUpdateResponseInventoryType = "infinite" | "finite"; + +export const InventoryUpdateResponseInventoryType = { + Infinite: "infinite", + Finite: "finite", +} as const; diff --git a/src/api/resources/inventory/types/index.ts b/src/api/resources/inventory/types/index.ts index 2e2a1559..169da475 100644 --- a/src/api/resources/inventory/types/index.ts +++ b/src/api/resources/inventory/types/index.ts @@ -1 +1,7 @@ +export * from "./InventoryListResponseInventoryType"; +export * from "./InventoryListResponse"; export * from "./InventoryUpdateRequestInventoryType"; +export * from "./InventoryUpdateResponseInventoryType"; +export * from "./InventoryUpdateResponse"; +export * from "./EcommInventoryChangedPayloadInventoryType"; +export * from "./EcommInventoryChangedPayload"; diff --git a/src/api/resources/items/index.ts b/src/api/resources/items/index.ts new file mode 100644 index 00000000..eea524d6 --- /dev/null +++ b/src/api/resources/items/index.ts @@ -0,0 +1 @@ +export * from "./types"; diff --git a/src/api/resources/items/types/CollectionItemChangedPayload.ts b/src/api/resources/items/types/CollectionItemChangedPayload.ts new file mode 100644 index 00000000..44f715a4 --- /dev/null +++ b/src/api/resources/items/types/CollectionItemChangedPayload.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + */ +export interface CollectionItemChangedPayload { + /** Unique identifier for the Item */ + id: string; + /** Identifier for the locale of the CMS item */ + cmsLocaleId?: string; + /** The date the item was last published */ + lastPublished?: string; + /** The date the item was last updated */ + lastUpdated?: string; + /** The date the item was created */ + createdOn?: string; + /** Boolean determining if the Item is set to archived */ + isArchived?: boolean; + /** Boolean determining if the Item is set to draft */ + isDraft?: boolean; + fieldData?: Webflow.CollectionItemChangedPayloadFieldData; +} diff --git a/src/api/resources/items/types/CollectionItemChangedPayloadFieldData.ts b/src/api/resources/items/types/CollectionItemChangedPayloadFieldData.ts new file mode 100644 index 00000000..145db9a5 --- /dev/null +++ b/src/api/resources/items/types/CollectionItemChangedPayloadFieldData.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface CollectionItemChangedPayloadFieldData { + /** Name of the Item */ + name?: string; + /** URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug. */ + slug?: string; +} diff --git a/src/api/resources/items/types/CollectionItemCreatedPayload.ts b/src/api/resources/items/types/CollectionItemCreatedPayload.ts new file mode 100644 index 00000000..ce74d754 --- /dev/null +++ b/src/api/resources/items/types/CollectionItemCreatedPayload.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + */ +export interface CollectionItemCreatedPayload { + /** Unique identifier for the Item */ + id: string; + /** Identifier for the locale of the CMS item */ + cmsLocaleId?: string; + /** The date the item was last published */ + lastPublished?: string; + /** The date the item was last updated */ + lastUpdated?: string; + /** The date the item was created */ + createdOn?: string; + /** Boolean determining if the Item is set to archived */ + isArchived?: boolean; + /** Boolean determining if the Item is set to draft */ + isDraft?: boolean; + fieldData?: Webflow.CollectionItemCreatedPayloadFieldData; +} diff --git a/src/api/resources/items/types/CollectionItemCreatedPayloadFieldData.ts b/src/api/resources/items/types/CollectionItemCreatedPayloadFieldData.ts new file mode 100644 index 00000000..3df698b4 --- /dev/null +++ b/src/api/resources/items/types/CollectionItemCreatedPayloadFieldData.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface CollectionItemCreatedPayloadFieldData { + /** Name of the Item */ + name?: string; + /** URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug. */ + slug?: string; +} diff --git a/src/api/resources/items/types/CollectionItemDeletedPayload.ts b/src/api/resources/items/types/CollectionItemDeletedPayload.ts new file mode 100644 index 00000000..b6a903d1 --- /dev/null +++ b/src/api/resources/items/types/CollectionItemDeletedPayload.ts @@ -0,0 +1,12 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface CollectionItemDeletedPayload { + /** The type of event that triggered the request */ + triggerType?: string; + /** The payload of data sent from Webflow */ + payload?: Webflow.CollectionItemDeletedPayloadPayload; +} diff --git a/src/api/resources/items/types/CollectionItemDeletedPayloadPayload.ts b/src/api/resources/items/types/CollectionItemDeletedPayloadPayload.ts new file mode 100644 index 00000000..ea7e8a6a --- /dev/null +++ b/src/api/resources/items/types/CollectionItemDeletedPayloadPayload.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The payload of data sent from Webflow + */ +export interface CollectionItemDeletedPayloadPayload { + /** The ID of the collection item that was deleted */ + id?: string; + /** The ID of the site */ + siteId?: string; + /** The ID of the workspace */ + workspaceId?: string; + /** The ID of the collection */ + collectionId?: string; +} diff --git a/src/api/resources/items/types/CollectionItemUnpublishedPayload.ts b/src/api/resources/items/types/CollectionItemUnpublishedPayload.ts new file mode 100644 index 00000000..19aa55f8 --- /dev/null +++ b/src/api/resources/items/types/CollectionItemUnpublishedPayload.ts @@ -0,0 +1,12 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface CollectionItemUnpublishedPayload { + /** The type of event that triggered the request */ + triggerType?: string; + /** The payload of data sent from Webflow */ + payload?: Webflow.CollectionItemUnpublishedPayloadPayload; +} diff --git a/src/api/resources/items/types/CollectionItemUnpublishedPayloadPayload.ts b/src/api/resources/items/types/CollectionItemUnpublishedPayloadPayload.ts new file mode 100644 index 00000000..0a8f4a52 --- /dev/null +++ b/src/api/resources/items/types/CollectionItemUnpublishedPayloadPayload.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The payload of data sent from Webflow + */ +export interface CollectionItemUnpublishedPayloadPayload { + /** The ID of the collection item that was deleted */ + id?: string; + /** The ID of the site */ + siteId?: string; + /** The ID of the workspace */ + workspaceId?: string; + /** The ID of the collection */ + collectionId?: string; +} diff --git a/src/api/resources/items/types/index.ts b/src/api/resources/items/types/index.ts new file mode 100644 index 00000000..bfe1daae --- /dev/null +++ b/src/api/resources/items/types/index.ts @@ -0,0 +1,8 @@ +export * from "./CollectionItemCreatedPayloadFieldData"; +export * from "./CollectionItemCreatedPayload"; +export * from "./CollectionItemChangedPayloadFieldData"; +export * from "./CollectionItemChangedPayload"; +export * from "./CollectionItemDeletedPayloadPayload"; +export * from "./CollectionItemDeletedPayload"; +export * from "./CollectionItemUnpublishedPayloadPayload"; +export * from "./CollectionItemUnpublishedPayload"; diff --git a/src/api/resources/orders/client/Client.ts b/src/api/resources/orders/client/Client.ts index fb466ec3..ea5948fd 100644 --- a/src/api/resources/orders/client/Client.ts +++ b/src/api/resources/orders/client/Client.ts @@ -52,7 +52,7 @@ export class Orders { siteId: string, request: Webflow.OrdersListRequest = {}, requestOptions?: Orders.RequestOptions - ): Promise { + ): Promise { const { status, offset, limit } = request; const _queryParams: Record = {}; if (status != null) { @@ -77,8 +77,8 @@ export class Orders { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -90,7 +90,7 @@ export class Orders { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.OrderList.parseOrThrow(_response.body, { + return serializers.OrdersListResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -112,15 +112,7 @@ export class Orders { case 409: throw new Webflow.ConflictError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -147,7 +139,8 @@ export class Orders { } /** - * Retrieve a single product by its id. All of its SKUs will also be retrieved. + * Retrieve a single product by its ID. All of its SKUs will also be + * retrieved. * * Required scope | `ecommerce:read` * @@ -166,7 +159,11 @@ export class Orders { * @example * await client.orders.get("580e63e98c9a982ac9b8b741", "5e8518516e147040726cc415") */ - public async get(siteId: string, orderId: string, requestOptions?: Orders.RequestOptions): Promise { + public async get( + siteId: string, + orderId: string, + requestOptions?: Orders.RequestOptions + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -177,8 +174,8 @@ export class Orders { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -189,7 +186,7 @@ export class Orders { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.Order.parseOrThrow(_response.body, { + return serializers.OrdersGetResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -211,15 +208,7 @@ export class Orders { case 409: throw new Webflow.ConflictError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -246,7 +235,9 @@ export class Orders { } /** - * This API lets you update the fields, `comment`, `shippingProvider`, and/or `shippingTracking` for a given order. All three fields can be updated simultaneously or independently. + * This API lets you update the fields, `comment`, `shippingProvider`, + * and/or `shippingTracking` for a given order. All three fields can be + * updated simultaneously or independently. * * Required scope | `ecommerce:write` * @@ -271,7 +262,7 @@ export class Orders { orderId: string, request: Webflow.OrdersUpdateRequest = {}, requestOptions?: Orders.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -282,8 +273,8 @@ export class Orders { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -295,7 +286,7 @@ export class Orders { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.Order.parseOrThrow(_response.body, { + return serializers.OrdersUpdateResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -317,15 +308,7 @@ export class Orders { case 409: throw new Webflow.ConflictError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -377,7 +360,7 @@ export class Orders { orderId: string, request: Webflow.OrdersUpdateFulfillRequest = {}, requestOptions?: Orders.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -388,8 +371,8 @@ export class Orders { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -401,7 +384,7 @@ export class Orders { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.Order.parseOrThrow(_response.body, { + return serializers.OrdersUpdateFulfillResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -423,15 +406,7 @@ export class Orders { case 409: throw new Webflow.ConflictError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -481,7 +456,7 @@ export class Orders { siteId: string, orderId: string, requestOptions?: Orders.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -492,8 +467,8 @@ export class Orders { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -504,7 +479,7 @@ export class Orders { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.Order.parseOrThrow(_response.body, { + return serializers.OrdersUpdateUnfulfillResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -526,15 +501,7 @@ export class Orders { case 409: throw new Webflow.ConflictError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -587,7 +554,7 @@ export class Orders { orderId: string, request: Webflow.OrdersRefundRequest = {}, requestOptions?: Orders.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -598,8 +565,8 @@ export class Orders { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -611,7 +578,7 @@ export class Orders { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.Order.parseOrThrow(_response.body, { + return serializers.OrdersRefundResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -633,15 +600,7 @@ export class Orders { case 409: throw new Webflow.ConflictError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: diff --git a/src/api/resources/orders/types/EcommNewOrderPayload.ts b/src/api/resources/orders/types/EcommNewOrderPayload.ts new file mode 100644 index 00000000..cf7cec47 --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayload.ts @@ -0,0 +1,75 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface EcommNewOrderPayload { + /** + * The order ID. Will usually be 6 hex characters, but can also be 9 + * hex characters if the site has a very large number of Orders. + * Randomly assigned. + */ + orderId?: string; + /** The status of the Order */ + status?: Webflow.EcommNewOrderPayloadStatus; + /** A comment string for this Order, which is editable by API user (not used by Webflow). */ + comment?: string; + /** A comment that the customer left when making their Order */ + orderComment?: string; + /** The ISO8601 timestamp that an Order was placed. */ + acceptedOn?: Date; + /** When an Order is marked as 'fulfilled', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. */ + fulfilledOn?: Date; + /** When an Order is marked as 'refunded', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. */ + refundedOn?: Date; + /** When an Order is marked as 'disputed', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. */ + disputedOn?: Date; + /** If an Order has been disputed by the customer, this key will be set to the ISO8601 timestamp of the last update received. If the Order is not disputed, the key will be null. */ + disputeUpdatedOn?: Date; + /** If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status). */ + disputeLastStatus?: Webflow.EcommNewOrderPayloadDisputeLastStatus; + /** The total paid by the customer */ + customerPaid?: Webflow.EcommNewOrderPayloadCustomerPaid; + /** The net amount after application fees */ + netAmount?: Webflow.EcommNewOrderPayloadNetAmount; + /** The application fee assessed by the platform */ + applicationFee?: Webflow.EcommNewOrderPayloadApplicationFee; + /** All addresses provided by the customer during the ordering flow. */ + allAddresses?: Webflow.EcommNewOrderPayloadAllAddressesItem[]; + /** The shipping address */ + shippingAddress?: Webflow.EcommNewOrderPayloadShippingAddress; + /** The billing address */ + billingAddress?: Webflow.EcommNewOrderPayloadBillingAddress; + /** A string editable by the API user to note the shipping provider used (not used by Webflow). */ + shippingProvider?: string; + /** A string editable by the API user to note the shipping tracking number for the order (not used by Webflow). */ + shippingTracking?: string; + shippingTrackingUrl?: string; + /** An object with the keys `fullName` and `email`. */ + customerInfo?: Webflow.EcommNewOrderPayloadCustomerInfo; + /** An array of all things that the Customer purchased. */ + purchasedItems?: Webflow.EcommNewOrderPayloadPurchasedItemsItem[]; + /** The sum of all 'count' fields in 'purchasedItems'. */ + purchasedItemsCount?: number; + /** An object with various Stripe IDs, useful for linking into the stripe dashboard. */ + stripeDetails?: Webflow.EcommNewOrderPayloadStripeDetails; + /** Details on the card used to fulfill this order, if this order was finalized with Stripe. */ + stripeCard?: Webflow.EcommNewOrderPayloadStripeCard; + paypalDetails?: Webflow.EcommNewOrderPayloadPaypalDetails; + /** An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value. */ + customData?: Record[]; + metadata?: Webflow.EcommNewOrderPayloadMetadata; + /** A boolean indicating whether the customer has been deleted from the site. */ + isCustomerDeleted?: boolean; + /** A boolean indicating whether the order contains one or more purchased items that require shipping. */ + isShippingRequired?: boolean; + /** A boolean indicating whether the order contains one or more purchased items that are downloadable. */ + hasDownloads?: boolean; + /** A string indicating the payment processor used for this order. */ + paymentProcessor?: string; + /** An object describing various pricing totals */ + totals?: Webflow.EcommNewOrderPayloadTotals; + /** An array of downloadable file objects. */ + downloadFiles?: Webflow.EcommNewOrderPayloadDownloadFilesItem[]; +} diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadAllAddressesItem.ts b/src/api/resources/orders/types/EcommNewOrderPayloadAllAddressesItem.ts new file mode 100644 index 00000000..9c01b756 --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadAllAddressesItem.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * A customer address + */ +export interface EcommNewOrderPayloadAllAddressesItem { + /** The type of the order address (billing or shipping) */ + type?: Webflow.EcommNewOrderPayloadAllAddressesItemType; + /** Represents a Japan-only address format. This field will only appear on orders placed from Japan. */ + japanType?: Webflow.EcommNewOrderPayloadAllAddressesItemJapanType; + /** Display name on the address */ + addressee?: string; + /** The first line of the address */ + line1?: string; + /** The second line of the address */ + line2?: string; + /** The city of the address. */ + city?: string; + /** The state or province of the address */ + state?: string; + /** The country of the address */ + country?: string; + /** The postal code of the address */ + postalCode?: string; +} diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadAllAddressesItemJapanType.ts b/src/api/resources/orders/types/EcommNewOrderPayloadAllAddressesItemJapanType.ts new file mode 100644 index 00000000..fcd491b5 --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadAllAddressesItemJapanType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Represents a Japan-only address format. This field will only appear on orders placed from Japan. + */ +export type EcommNewOrderPayloadAllAddressesItemJapanType = "kana" | "kanji"; + +export const EcommNewOrderPayloadAllAddressesItemJapanType = { + Kana: "kana", + Kanji: "kanji", +} as const; diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadAllAddressesItemType.ts b/src/api/resources/orders/types/EcommNewOrderPayloadAllAddressesItemType.ts new file mode 100644 index 00000000..70726b9a --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadAllAddressesItemType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of the order address (billing or shipping) + */ +export type EcommNewOrderPayloadAllAddressesItemType = "shipping" | "billing"; + +export const EcommNewOrderPayloadAllAddressesItemType = { + Shipping: "shipping", + Billing: "billing", +} as const; diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadApplicationFee.ts b/src/api/resources/orders/types/EcommNewOrderPayloadApplicationFee.ts new file mode 100644 index 00000000..e9e9bd3a --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadApplicationFee.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The application fee assessed by the platform + */ +export interface EcommNewOrderPayloadApplicationFee { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadBillingAddress.ts b/src/api/resources/orders/types/EcommNewOrderPayloadBillingAddress.ts new file mode 100644 index 00000000..11ea8c97 --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadBillingAddress.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The billing address + */ +export interface EcommNewOrderPayloadBillingAddress { + /** The type of the order address (billing or shipping) */ + type?: Webflow.EcommNewOrderPayloadBillingAddressType; + /** Represents a Japan-only address format. This field will only appear on orders placed from Japan. */ + japanType?: Webflow.EcommNewOrderPayloadBillingAddressJapanType; + /** Display name on the address */ + addressee?: string; + /** The first line of the address */ + line1?: string; + /** The second line of the address */ + line2?: string; + /** The city of the address. */ + city?: string; + /** The state or province of the address */ + state?: string; + /** The country of the address */ + country?: string; + /** The postal code of the address */ + postalCode?: string; +} diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadBillingAddressJapanType.ts b/src/api/resources/orders/types/EcommNewOrderPayloadBillingAddressJapanType.ts new file mode 100644 index 00000000..6ff7eee0 --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadBillingAddressJapanType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Represents a Japan-only address format. This field will only appear on orders placed from Japan. + */ +export type EcommNewOrderPayloadBillingAddressJapanType = "kana" | "kanji"; + +export const EcommNewOrderPayloadBillingAddressJapanType = { + Kana: "kana", + Kanji: "kanji", +} as const; diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadBillingAddressType.ts b/src/api/resources/orders/types/EcommNewOrderPayloadBillingAddressType.ts new file mode 100644 index 00000000..bfa1b09b --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadBillingAddressType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of the order address (billing or shipping) + */ +export type EcommNewOrderPayloadBillingAddressType = "shipping" | "billing"; + +export const EcommNewOrderPayloadBillingAddressType = { + Shipping: "shipping", + Billing: "billing", +} as const; diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadCustomerInfo.ts b/src/api/resources/orders/types/EcommNewOrderPayloadCustomerInfo.ts new file mode 100644 index 00000000..b43dc27c --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadCustomerInfo.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * An object with the keys `fullName` and `email`. + */ +export interface EcommNewOrderPayloadCustomerInfo { + /** The full name of the Customer */ + fullName?: string; + /** The Customer's email address */ + email?: string; +} diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadCustomerPaid.ts b/src/api/resources/orders/types/EcommNewOrderPayloadCustomerPaid.ts new file mode 100644 index 00000000..5a22888f --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadCustomerPaid.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The total paid by the customer + */ +export interface EcommNewOrderPayloadCustomerPaid { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadDisputeLastStatus.ts b/src/api/resources/orders/types/EcommNewOrderPayloadDisputeLastStatus.ts new file mode 100644 index 00000000..922d0720 --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadDisputeLastStatus.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status). + */ +export type EcommNewOrderPayloadDisputeLastStatus = + | "warning_needs_response" + | "warning_under_review" + | "warning_closed" + | "needs_response" + | "under_review" + | "charge_refunded" + | "won" + | "lost"; + +export const EcommNewOrderPayloadDisputeLastStatus = { + WarningNeedsResponse: "warning_needs_response", + WarningUnderReview: "warning_under_review", + WarningClosed: "warning_closed", + NeedsResponse: "needs_response", + UnderReview: "under_review", + ChargeRefunded: "charge_refunded", + Won: "won", + Lost: "lost", +} as const; diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadDownloadFilesItem.ts b/src/api/resources/orders/types/EcommNewOrderPayloadDownloadFilesItem.ts new file mode 100644 index 00000000..a32826bc --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadDownloadFilesItem.ts @@ -0,0 +1,12 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface EcommNewOrderPayloadDownloadFilesItem { + /** The unique identifier for the downloadable file */ + id?: string; + /** The user-facing name for the downloadable file */ + name?: string; + /** The hosted location for the downloadable file */ + url?: string; +} diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadMetadata.ts b/src/api/resources/orders/types/EcommNewOrderPayloadMetadata.ts new file mode 100644 index 00000000..90543a59 --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadMetadata.ts @@ -0,0 +1,7 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface EcommNewOrderPayloadMetadata { + isBuyNow?: boolean; +} diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadNetAmount.ts b/src/api/resources/orders/types/EcommNewOrderPayloadNetAmount.ts new file mode 100644 index 00000000..c4f201fb --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadNetAmount.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The net amount after application fees + */ +export interface EcommNewOrderPayloadNetAmount { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadPaypalDetails.ts b/src/api/resources/orders/types/EcommNewOrderPayloadPaypalDetails.ts new file mode 100644 index 00000000..726fd763 --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadPaypalDetails.ts @@ -0,0 +1,18 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface EcommNewOrderPayloadPaypalDetails { + /** PayPal order identifier */ + orderId?: string; + /** PayPal payer identifier */ + payerId?: string; + /** PayPal capture identifier */ + captureId?: string; + /** PayPal refund identifier */ + refundId?: string; + /** PayPal-issued reason for the refund */ + refundReason?: string; + /** PayPal dispute identifier */ + disputeId?: string; +} diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItem.ts b/src/api/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItem.ts new file mode 100644 index 00000000..fe47cf7d --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItem.ts @@ -0,0 +1,40 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * An Item that was purchased + */ +export interface EcommNewOrderPayloadPurchasedItemsItem { + /** Number of Item purchased. */ + count?: number; + /** The total for the row */ + rowTotal?: Webflow.EcommNewOrderPayloadPurchasedItemsItemRowTotal; + /** The unique identifier for the Product */ + productId?: string; + /** User-facing name of the Product */ + productName?: string; + /** Slug for the Product */ + productSlug?: string; + /** Identifier for the Product Variant (SKU) */ + variantId?: string; + /** User-facing name of the Product Variant (SKU) */ + variantName?: string; + /** Slug for the Product Variant (SKU) */ + variantSlug?: string; + /** The user-defined custom SKU of the Product Variant (SKU) */ + variantSku?: string; + variantImage?: Webflow.EcommNewOrderPayloadPurchasedItemsItemVariantImage; + /** The price corresponding to the variant */ + variantPrice?: Webflow.EcommNewOrderPayloadPurchasedItemsItemVariantPrice; + /** The physical weight of the variant if provided, or null */ + weight?: number; + /** The physical width of the variant if provided, or null */ + width?: number; + /** The physical height of the variant if provided, or null */ + height?: number; + /** The physical length of the variant if provided, or null */ + length?: number; +} diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItemRowTotal.ts b/src/api/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItemRowTotal.ts new file mode 100644 index 00000000..7184feb1 --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItemRowTotal.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The total for the row + */ +export interface EcommNewOrderPayloadPurchasedItemsItemRowTotal { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItemVariantImage.ts b/src/api/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItemVariantImage.ts new file mode 100644 index 00000000..333a51be --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItemVariantImage.ts @@ -0,0 +1,11 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface EcommNewOrderPayloadPurchasedItemsItemVariantImage { + /** The hosted location for the Variant's image */ + url?: string; + file?: Webflow.EcommNewOrderPayloadPurchasedItemsItemVariantImageFile; +} diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItemVariantImageFile.ts b/src/api/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItemVariantImageFile.ts new file mode 100644 index 00000000..7baa3135 --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItemVariantImageFile.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface EcommNewOrderPayloadPurchasedItemsItemVariantImageFile { + /** The image size in bytes */ + size?: number; + /** the original name of the image */ + originalFileName?: string; + /** The creation timestamp of the image */ + createdOn?: Date; + /** The MIME type of the image */ + contentType?: string; + /** The image width in pixels */ + width?: number; + /** The image height in pixels */ + height?: number; + /** Variants of the supplied image */ + variants?: Webflow.EcommNewOrderPayloadPurchasedItemsItemVariantImageFileVariantsItem[]; +} diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItemVariantImageFileVariantsItem.ts b/src/api/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItemVariantImageFileVariantsItem.ts new file mode 100644 index 00000000..69dd55fd --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItemVariantImageFileVariantsItem.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface EcommNewOrderPayloadPurchasedItemsItemVariantImageFileVariantsItem { + /** The hosted location for the Variant's image */ + url?: string; + originalFileName?: string; + /** The image size in bytes */ + size?: number; + /** The image width in pixels */ + width?: number; + /** The image height in pixels */ + height?: number; +} diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItemVariantPrice.ts b/src/api/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItemVariantPrice.ts new file mode 100644 index 00000000..f575d802 --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItemVariantPrice.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The price corresponding to the variant + */ +export interface EcommNewOrderPayloadPurchasedItemsItemVariantPrice { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadShippingAddress.ts b/src/api/resources/orders/types/EcommNewOrderPayloadShippingAddress.ts new file mode 100644 index 00000000..32a203a7 --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadShippingAddress.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The shipping address + */ +export interface EcommNewOrderPayloadShippingAddress { + /** The type of the order address (billing or shipping) */ + type?: Webflow.EcommNewOrderPayloadShippingAddressType; + /** Represents a Japan-only address format. This field will only appear on orders placed from Japan. */ + japanType?: Webflow.EcommNewOrderPayloadShippingAddressJapanType; + /** Display name on the address */ + addressee?: string; + /** The first line of the address */ + line1?: string; + /** The second line of the address */ + line2?: string; + /** The city of the address. */ + city?: string; + /** The state or province of the address */ + state?: string; + /** The country of the address */ + country?: string; + /** The postal code of the address */ + postalCode?: string; +} diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadShippingAddressJapanType.ts b/src/api/resources/orders/types/EcommNewOrderPayloadShippingAddressJapanType.ts new file mode 100644 index 00000000..95d6772e --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadShippingAddressJapanType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Represents a Japan-only address format. This field will only appear on orders placed from Japan. + */ +export type EcommNewOrderPayloadShippingAddressJapanType = "kana" | "kanji"; + +export const EcommNewOrderPayloadShippingAddressJapanType = { + Kana: "kana", + Kanji: "kanji", +} as const; diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadShippingAddressType.ts b/src/api/resources/orders/types/EcommNewOrderPayloadShippingAddressType.ts new file mode 100644 index 00000000..248ecde7 --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadShippingAddressType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of the order address (billing or shipping) + */ +export type EcommNewOrderPayloadShippingAddressType = "shipping" | "billing"; + +export const EcommNewOrderPayloadShippingAddressType = { + Shipping: "shipping", + Billing: "billing", +} as const; diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadStatus.ts b/src/api/resources/orders/types/EcommNewOrderPayloadStatus.ts new file mode 100644 index 00000000..07818178 --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadStatus.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The status of the Order + */ +export type EcommNewOrderPayloadStatus = + | "pending" + | "unfulfilled" + | "fulfilled" + | "disputed" + | "dispute-lost" + | "refunded"; + +export const EcommNewOrderPayloadStatus = { + Pending: "pending", + Unfulfilled: "unfulfilled", + Fulfilled: "fulfilled", + Disputed: "disputed", + DisputeLost: "dispute-lost", + Refunded: "refunded", +} as const; diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadStripeCard.ts b/src/api/resources/orders/types/EcommNewOrderPayloadStripeCard.ts new file mode 100644 index 00000000..a05ae58a --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadStripeCard.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Details on the card used to fulfill this order, if this order was finalized with Stripe. + */ +export interface EcommNewOrderPayloadStripeCard { + /** The last 4 digits on the card as a string */ + last4?: string; + /** The card's brand (ie. credit card network) */ + brand?: Webflow.EcommNewOrderPayloadStripeCardBrand; + /** The name on the card. */ + ownerName?: string; + /** The card's expiration date. */ + expires?: Webflow.EcommNewOrderPayloadStripeCardExpires; +} diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadStripeCardBrand.ts b/src/api/resources/orders/types/EcommNewOrderPayloadStripeCardBrand.ts new file mode 100644 index 00000000..cb2dc18f --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadStripeCardBrand.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The card's brand (ie. credit card network) + */ +export type EcommNewOrderPayloadStripeCardBrand = + | "Visa" + | "American Express" + | "MasterCard" + | "Discover" + | "JCB" + | "Diners Club" + | "Unknown"; + +export const EcommNewOrderPayloadStripeCardBrand = { + Visa: "Visa", + AmericanExpress: "American Express", + MasterCard: "MasterCard", + Discover: "Discover", + Jcb: "JCB", + DinersClub: "Diners Club", + Unknown: "Unknown", +} as const; diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadStripeCardExpires.ts b/src/api/resources/orders/types/EcommNewOrderPayloadStripeCardExpires.ts new file mode 100644 index 00000000..f15a4173 --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadStripeCardExpires.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The card's expiration date. + */ +export interface EcommNewOrderPayloadStripeCardExpires { + /** Year that the card expires */ + year?: number; + /** Month that the card expires */ + month?: number; +} diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadStripeDetails.ts b/src/api/resources/orders/types/EcommNewOrderPayloadStripeDetails.ts new file mode 100644 index 00000000..656496b3 --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadStripeDetails.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * An object with various Stripe IDs, useful for linking into the stripe dashboard. + */ +export interface EcommNewOrderPayloadStripeDetails { + /** Stripe-generated identifier for the Subscription */ + subscriptionId?: string; + /** Stripe-generated identifier for the PaymentMethod used */ + paymentMethod?: string; + /** Stripe-generated identifier for the PaymentIntent, or null */ + paymentIntentId?: string; + /** Stripe-generated customer identifier, or null */ + customerId?: string; + /** Stripe-generated charge identifier, or null */ + chargeId?: string; + /** Stripe-generated dispute identifier, or null */ + disputeId?: string; + /** Stripe-generated refund identifier, or null */ + refundId?: string; + /** Stripe-generated refund reason, or null */ + refundReason?: string; +} diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadTotals.ts b/src/api/resources/orders/types/EcommNewOrderPayloadTotals.ts new file mode 100644 index 00000000..faf33ec2 --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadTotals.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * An object describing various pricing totals + */ +export interface EcommNewOrderPayloadTotals { + /** The subtotal price */ + subtotal?: Webflow.EcommNewOrderPayloadTotalsSubtotal; + /** An array of extra items, includes discounts, shipping, and taxes. */ + extras?: Webflow.EcommNewOrderPayloadTotalsExtrasItem[]; + /** The total price */ + total?: Webflow.EcommNewOrderPayloadTotalsTotal; +} diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadTotalsExtrasItem.ts b/src/api/resources/orders/types/EcommNewOrderPayloadTotalsExtrasItem.ts new file mode 100644 index 00000000..324f2059 --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadTotalsExtrasItem.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Extra order items, includes discounts, shipping, and taxes. + */ +export interface EcommNewOrderPayloadTotalsExtrasItem { + /** The type of extra item this is. */ + type?: Webflow.EcommNewOrderPayloadTotalsExtrasItemType; + /** A human-readable (but English) name for this extra charge. */ + name?: string; + /** A human-readable (but English) description of this extra charge. */ + description?: string; + /** The price for the item */ + price?: Webflow.EcommNewOrderPayloadTotalsExtrasItemPrice; +} diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadTotalsExtrasItemPrice.ts b/src/api/resources/orders/types/EcommNewOrderPayloadTotalsExtrasItemPrice.ts new file mode 100644 index 00000000..d5d24fde --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadTotalsExtrasItemPrice.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The price for the item + */ +export interface EcommNewOrderPayloadTotalsExtrasItemPrice { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadTotalsExtrasItemType.ts b/src/api/resources/orders/types/EcommNewOrderPayloadTotalsExtrasItemType.ts new file mode 100644 index 00000000..4e036c51 --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadTotalsExtrasItemType.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of extra item this is. + */ +export type EcommNewOrderPayloadTotalsExtrasItemType = "discount" | "discount-shipping" | "shipping" | "tax"; + +export const EcommNewOrderPayloadTotalsExtrasItemType = { + Discount: "discount", + DiscountShipping: "discount-shipping", + Shipping: "shipping", + Tax: "tax", +} as const; diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadTotalsSubtotal.ts b/src/api/resources/orders/types/EcommNewOrderPayloadTotalsSubtotal.ts new file mode 100644 index 00000000..fb7839d3 --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadTotalsSubtotal.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The subtotal price + */ +export interface EcommNewOrderPayloadTotalsSubtotal { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/EcommNewOrderPayloadTotalsTotal.ts b/src/api/resources/orders/types/EcommNewOrderPayloadTotalsTotal.ts new file mode 100644 index 00000000..730869df --- /dev/null +++ b/src/api/resources/orders/types/EcommNewOrderPayloadTotalsTotal.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The total price + */ +export interface EcommNewOrderPayloadTotalsTotal { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/EcommOrderChangedPayload.ts b/src/api/resources/orders/types/EcommOrderChangedPayload.ts new file mode 100644 index 00000000..1c9b2bf1 --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayload.ts @@ -0,0 +1,75 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface EcommOrderChangedPayload { + /** + * The order ID. Will usually be 6 hex characters, but can also be 9 + * hex characters if the site has a very large number of Orders. + * Randomly assigned. + */ + orderId?: string; + /** The status of the Order */ + status?: Webflow.EcommOrderChangedPayloadStatus; + /** A comment string for this Order, which is editable by API user (not used by Webflow). */ + comment?: string; + /** A comment that the customer left when making their Order */ + orderComment?: string; + /** The ISO8601 timestamp that an Order was placed. */ + acceptedOn?: Date; + /** When an Order is marked as 'fulfilled', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. */ + fulfilledOn?: Date; + /** When an Order is marked as 'refunded', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. */ + refundedOn?: Date; + /** When an Order is marked as 'disputed', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. */ + disputedOn?: Date; + /** If an Order has been disputed by the customer, this key will be set to the ISO8601 timestamp of the last update received. If the Order is not disputed, the key will be null. */ + disputeUpdatedOn?: Date; + /** If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status). */ + disputeLastStatus?: Webflow.EcommOrderChangedPayloadDisputeLastStatus; + /** The total paid by the customer */ + customerPaid?: Webflow.EcommOrderChangedPayloadCustomerPaid; + /** The net amount after application fees */ + netAmount?: Webflow.EcommOrderChangedPayloadNetAmount; + /** The application fee assessed by the platform */ + applicationFee?: Webflow.EcommOrderChangedPayloadApplicationFee; + /** All addresses provided by the customer during the ordering flow. */ + allAddresses?: Webflow.EcommOrderChangedPayloadAllAddressesItem[]; + /** The shipping address */ + shippingAddress?: Webflow.EcommOrderChangedPayloadShippingAddress; + /** The billing address */ + billingAddress?: Webflow.EcommOrderChangedPayloadBillingAddress; + /** A string editable by the API user to note the shipping provider used (not used by Webflow). */ + shippingProvider?: string; + /** A string editable by the API user to note the shipping tracking number for the order (not used by Webflow). */ + shippingTracking?: string; + shippingTrackingUrl?: string; + /** An object with the keys `fullName` and `email`. */ + customerInfo?: Webflow.EcommOrderChangedPayloadCustomerInfo; + /** An array of all things that the Customer purchased. */ + purchasedItems?: Webflow.EcommOrderChangedPayloadPurchasedItemsItem[]; + /** The sum of all 'count' fields in 'purchasedItems'. */ + purchasedItemsCount?: number; + /** An object with various Stripe IDs, useful for linking into the stripe dashboard. */ + stripeDetails?: Webflow.EcommOrderChangedPayloadStripeDetails; + /** Details on the card used to fulfill this order, if this order was finalized with Stripe. */ + stripeCard?: Webflow.EcommOrderChangedPayloadStripeCard; + paypalDetails?: Webflow.EcommOrderChangedPayloadPaypalDetails; + /** An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value. */ + customData?: Record[]; + metadata?: Webflow.EcommOrderChangedPayloadMetadata; + /** A boolean indicating whether the customer has been deleted from the site. */ + isCustomerDeleted?: boolean; + /** A boolean indicating whether the order contains one or more purchased items that require shipping. */ + isShippingRequired?: boolean; + /** A boolean indicating whether the order contains one or more purchased items that are downloadable. */ + hasDownloads?: boolean; + /** A string indicating the payment processor used for this order. */ + paymentProcessor?: string; + /** An object describing various pricing totals */ + totals?: Webflow.EcommOrderChangedPayloadTotals; + /** An array of downloadable file objects. */ + downloadFiles?: Webflow.EcommOrderChangedPayloadDownloadFilesItem[]; +} diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadAllAddressesItem.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadAllAddressesItem.ts new file mode 100644 index 00000000..317ae959 --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadAllAddressesItem.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * A customer address + */ +export interface EcommOrderChangedPayloadAllAddressesItem { + /** The type of the order address (billing or shipping) */ + type?: Webflow.EcommOrderChangedPayloadAllAddressesItemType; + /** Represents a Japan-only address format. This field will only appear on orders placed from Japan. */ + japanType?: Webflow.EcommOrderChangedPayloadAllAddressesItemJapanType; + /** Display name on the address */ + addressee?: string; + /** The first line of the address */ + line1?: string; + /** The second line of the address */ + line2?: string; + /** The city of the address. */ + city?: string; + /** The state or province of the address */ + state?: string; + /** The country of the address */ + country?: string; + /** The postal code of the address */ + postalCode?: string; +} diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadAllAddressesItemJapanType.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadAllAddressesItemJapanType.ts new file mode 100644 index 00000000..2645ca93 --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadAllAddressesItemJapanType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Represents a Japan-only address format. This field will only appear on orders placed from Japan. + */ +export type EcommOrderChangedPayloadAllAddressesItemJapanType = "kana" | "kanji"; + +export const EcommOrderChangedPayloadAllAddressesItemJapanType = { + Kana: "kana", + Kanji: "kanji", +} as const; diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadAllAddressesItemType.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadAllAddressesItemType.ts new file mode 100644 index 00000000..22dc6baf --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadAllAddressesItemType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of the order address (billing or shipping) + */ +export type EcommOrderChangedPayloadAllAddressesItemType = "shipping" | "billing"; + +export const EcommOrderChangedPayloadAllAddressesItemType = { + Shipping: "shipping", + Billing: "billing", +} as const; diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadApplicationFee.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadApplicationFee.ts new file mode 100644 index 00000000..fe4c36c1 --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadApplicationFee.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The application fee assessed by the platform + */ +export interface EcommOrderChangedPayloadApplicationFee { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadBillingAddress.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadBillingAddress.ts new file mode 100644 index 00000000..b83cc194 --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadBillingAddress.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The billing address + */ +export interface EcommOrderChangedPayloadBillingAddress { + /** The type of the order address (billing or shipping) */ + type?: Webflow.EcommOrderChangedPayloadBillingAddressType; + /** Represents a Japan-only address format. This field will only appear on orders placed from Japan. */ + japanType?: Webflow.EcommOrderChangedPayloadBillingAddressJapanType; + /** Display name on the address */ + addressee?: string; + /** The first line of the address */ + line1?: string; + /** The second line of the address */ + line2?: string; + /** The city of the address. */ + city?: string; + /** The state or province of the address */ + state?: string; + /** The country of the address */ + country?: string; + /** The postal code of the address */ + postalCode?: string; +} diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadBillingAddressJapanType.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadBillingAddressJapanType.ts new file mode 100644 index 00000000..792b3cc9 --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadBillingAddressJapanType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Represents a Japan-only address format. This field will only appear on orders placed from Japan. + */ +export type EcommOrderChangedPayloadBillingAddressJapanType = "kana" | "kanji"; + +export const EcommOrderChangedPayloadBillingAddressJapanType = { + Kana: "kana", + Kanji: "kanji", +} as const; diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadBillingAddressType.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadBillingAddressType.ts new file mode 100644 index 00000000..0c5b7b08 --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadBillingAddressType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of the order address (billing or shipping) + */ +export type EcommOrderChangedPayloadBillingAddressType = "shipping" | "billing"; + +export const EcommOrderChangedPayloadBillingAddressType = { + Shipping: "shipping", + Billing: "billing", +} as const; diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadCustomerInfo.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadCustomerInfo.ts new file mode 100644 index 00000000..14d9b361 --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadCustomerInfo.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * An object with the keys `fullName` and `email`. + */ +export interface EcommOrderChangedPayloadCustomerInfo { + /** The full name of the Customer */ + fullName?: string; + /** The Customer's email address */ + email?: string; +} diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadCustomerPaid.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadCustomerPaid.ts new file mode 100644 index 00000000..eb377a5b --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadCustomerPaid.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The total paid by the customer + */ +export interface EcommOrderChangedPayloadCustomerPaid { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadDisputeLastStatus.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadDisputeLastStatus.ts new file mode 100644 index 00000000..982e53cd --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadDisputeLastStatus.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status). + */ +export type EcommOrderChangedPayloadDisputeLastStatus = + | "warning_needs_response" + | "warning_under_review" + | "warning_closed" + | "needs_response" + | "under_review" + | "charge_refunded" + | "won" + | "lost"; + +export const EcommOrderChangedPayloadDisputeLastStatus = { + WarningNeedsResponse: "warning_needs_response", + WarningUnderReview: "warning_under_review", + WarningClosed: "warning_closed", + NeedsResponse: "needs_response", + UnderReview: "under_review", + ChargeRefunded: "charge_refunded", + Won: "won", + Lost: "lost", +} as const; diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadDownloadFilesItem.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadDownloadFilesItem.ts new file mode 100644 index 00000000..1cceb092 --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadDownloadFilesItem.ts @@ -0,0 +1,12 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface EcommOrderChangedPayloadDownloadFilesItem { + /** The unique identifier for the downloadable file */ + id?: string; + /** The user-facing name for the downloadable file */ + name?: string; + /** The hosted location for the downloadable file */ + url?: string; +} diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadMetadata.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadMetadata.ts new file mode 100644 index 00000000..5d53dbf7 --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadMetadata.ts @@ -0,0 +1,7 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface EcommOrderChangedPayloadMetadata { + isBuyNow?: boolean; +} diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadNetAmount.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadNetAmount.ts new file mode 100644 index 00000000..6727dc7f --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadNetAmount.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The net amount after application fees + */ +export interface EcommOrderChangedPayloadNetAmount { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadPaypalDetails.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadPaypalDetails.ts new file mode 100644 index 00000000..99680cd0 --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadPaypalDetails.ts @@ -0,0 +1,18 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface EcommOrderChangedPayloadPaypalDetails { + /** PayPal order identifier */ + orderId?: string; + /** PayPal payer identifier */ + payerId?: string; + /** PayPal capture identifier */ + captureId?: string; + /** PayPal refund identifier */ + refundId?: string; + /** PayPal-issued reason for the refund */ + refundReason?: string; + /** PayPal dispute identifier */ + disputeId?: string; +} diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItem.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItem.ts new file mode 100644 index 00000000..9cfc5cd5 --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItem.ts @@ -0,0 +1,40 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * An Item that was purchased + */ +export interface EcommOrderChangedPayloadPurchasedItemsItem { + /** Number of Item purchased. */ + count?: number; + /** The total for the row */ + rowTotal?: Webflow.EcommOrderChangedPayloadPurchasedItemsItemRowTotal; + /** The unique identifier for the Product */ + productId?: string; + /** User-facing name of the Product */ + productName?: string; + /** Slug for the Product */ + productSlug?: string; + /** Identifier for the Product Variant (SKU) */ + variantId?: string; + /** User-facing name of the Product Variant (SKU) */ + variantName?: string; + /** Slug for the Product Variant (SKU) */ + variantSlug?: string; + /** The user-defined custom SKU of the Product Variant (SKU) */ + variantSku?: string; + variantImage?: Webflow.EcommOrderChangedPayloadPurchasedItemsItemVariantImage; + /** The price corresponding to the variant */ + variantPrice?: Webflow.EcommOrderChangedPayloadPurchasedItemsItemVariantPrice; + /** The physical weight of the variant if provided, or null */ + weight?: number; + /** The physical width of the variant if provided, or null */ + width?: number; + /** The physical height of the variant if provided, or null */ + height?: number; + /** The physical length of the variant if provided, or null */ + length?: number; +} diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItemRowTotal.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItemRowTotal.ts new file mode 100644 index 00000000..bc22a1e6 --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItemRowTotal.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The total for the row + */ +export interface EcommOrderChangedPayloadPurchasedItemsItemRowTotal { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItemVariantImage.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItemVariantImage.ts new file mode 100644 index 00000000..f33fd2ad --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItemVariantImage.ts @@ -0,0 +1,11 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface EcommOrderChangedPayloadPurchasedItemsItemVariantImage { + /** The hosted location for the Variant's image */ + url?: string; + file?: Webflow.EcommOrderChangedPayloadPurchasedItemsItemVariantImageFile; +} diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItemVariantImageFile.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItemVariantImageFile.ts new file mode 100644 index 00000000..9d97b922 --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItemVariantImageFile.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface EcommOrderChangedPayloadPurchasedItemsItemVariantImageFile { + /** The image size in bytes */ + size?: number; + /** the original name of the image */ + originalFileName?: string; + /** The creation timestamp of the image */ + createdOn?: Date; + /** The MIME type of the image */ + contentType?: string; + /** The image width in pixels */ + width?: number; + /** The image height in pixels */ + height?: number; + /** Variants of the supplied image */ + variants?: Webflow.EcommOrderChangedPayloadPurchasedItemsItemVariantImageFileVariantsItem[]; +} diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItemVariantImageFileVariantsItem.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItemVariantImageFileVariantsItem.ts new file mode 100644 index 00000000..66027ff8 --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItemVariantImageFileVariantsItem.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface EcommOrderChangedPayloadPurchasedItemsItemVariantImageFileVariantsItem { + /** The hosted location for the Variant's image */ + url?: string; + originalFileName?: string; + /** The image size in bytes */ + size?: number; + /** The image width in pixels */ + width?: number; + /** The image height in pixels */ + height?: number; +} diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItemVariantPrice.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItemVariantPrice.ts new file mode 100644 index 00000000..13901a91 --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItemVariantPrice.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The price corresponding to the variant + */ +export interface EcommOrderChangedPayloadPurchasedItemsItemVariantPrice { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadShippingAddress.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadShippingAddress.ts new file mode 100644 index 00000000..c5c4c43d --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadShippingAddress.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The shipping address + */ +export interface EcommOrderChangedPayloadShippingAddress { + /** The type of the order address (billing or shipping) */ + type?: Webflow.EcommOrderChangedPayloadShippingAddressType; + /** Represents a Japan-only address format. This field will only appear on orders placed from Japan. */ + japanType?: Webflow.EcommOrderChangedPayloadShippingAddressJapanType; + /** Display name on the address */ + addressee?: string; + /** The first line of the address */ + line1?: string; + /** The second line of the address */ + line2?: string; + /** The city of the address. */ + city?: string; + /** The state or province of the address */ + state?: string; + /** The country of the address */ + country?: string; + /** The postal code of the address */ + postalCode?: string; +} diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadShippingAddressJapanType.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadShippingAddressJapanType.ts new file mode 100644 index 00000000..30950556 --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadShippingAddressJapanType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Represents a Japan-only address format. This field will only appear on orders placed from Japan. + */ +export type EcommOrderChangedPayloadShippingAddressJapanType = "kana" | "kanji"; + +export const EcommOrderChangedPayloadShippingAddressJapanType = { + Kana: "kana", + Kanji: "kanji", +} as const; diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadShippingAddressType.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadShippingAddressType.ts new file mode 100644 index 00000000..946d1edc --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadShippingAddressType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of the order address (billing or shipping) + */ +export type EcommOrderChangedPayloadShippingAddressType = "shipping" | "billing"; + +export const EcommOrderChangedPayloadShippingAddressType = { + Shipping: "shipping", + Billing: "billing", +} as const; diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadStatus.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadStatus.ts new file mode 100644 index 00000000..93ba884c --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadStatus.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The status of the Order + */ +export type EcommOrderChangedPayloadStatus = + | "pending" + | "unfulfilled" + | "fulfilled" + | "disputed" + | "dispute-lost" + | "refunded"; + +export const EcommOrderChangedPayloadStatus = { + Pending: "pending", + Unfulfilled: "unfulfilled", + Fulfilled: "fulfilled", + Disputed: "disputed", + DisputeLost: "dispute-lost", + Refunded: "refunded", +} as const; diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadStripeCard.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadStripeCard.ts new file mode 100644 index 00000000..4f8f62e3 --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadStripeCard.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Details on the card used to fulfill this order, if this order was finalized with Stripe. + */ +export interface EcommOrderChangedPayloadStripeCard { + /** The last 4 digits on the card as a string */ + last4?: string; + /** The card's brand (ie. credit card network) */ + brand?: Webflow.EcommOrderChangedPayloadStripeCardBrand; + /** The name on the card. */ + ownerName?: string; + /** The card's expiration date. */ + expires?: Webflow.EcommOrderChangedPayloadStripeCardExpires; +} diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadStripeCardBrand.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadStripeCardBrand.ts new file mode 100644 index 00000000..f9a0e5c2 --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadStripeCardBrand.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The card's brand (ie. credit card network) + */ +export type EcommOrderChangedPayloadStripeCardBrand = + | "Visa" + | "American Express" + | "MasterCard" + | "Discover" + | "JCB" + | "Diners Club" + | "Unknown"; + +export const EcommOrderChangedPayloadStripeCardBrand = { + Visa: "Visa", + AmericanExpress: "American Express", + MasterCard: "MasterCard", + Discover: "Discover", + Jcb: "JCB", + DinersClub: "Diners Club", + Unknown: "Unknown", +} as const; diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadStripeCardExpires.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadStripeCardExpires.ts new file mode 100644 index 00000000..fc8c470d --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadStripeCardExpires.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The card's expiration date. + */ +export interface EcommOrderChangedPayloadStripeCardExpires { + /** Year that the card expires */ + year?: number; + /** Month that the card expires */ + month?: number; +} diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadStripeDetails.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadStripeDetails.ts new file mode 100644 index 00000000..4e2cf479 --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadStripeDetails.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * An object with various Stripe IDs, useful for linking into the stripe dashboard. + */ +export interface EcommOrderChangedPayloadStripeDetails { + /** Stripe-generated identifier for the Subscription */ + subscriptionId?: string; + /** Stripe-generated identifier for the PaymentMethod used */ + paymentMethod?: string; + /** Stripe-generated identifier for the PaymentIntent, or null */ + paymentIntentId?: string; + /** Stripe-generated customer identifier, or null */ + customerId?: string; + /** Stripe-generated charge identifier, or null */ + chargeId?: string; + /** Stripe-generated dispute identifier, or null */ + disputeId?: string; + /** Stripe-generated refund identifier, or null */ + refundId?: string; + /** Stripe-generated refund reason, or null */ + refundReason?: string; +} diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadTotals.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadTotals.ts new file mode 100644 index 00000000..5d860617 --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadTotals.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * An object describing various pricing totals + */ +export interface EcommOrderChangedPayloadTotals { + /** The subtotal price */ + subtotal?: Webflow.EcommOrderChangedPayloadTotalsSubtotal; + /** An array of extra items, includes discounts, shipping, and taxes. */ + extras?: Webflow.EcommOrderChangedPayloadTotalsExtrasItem[]; + /** The total price */ + total?: Webflow.EcommOrderChangedPayloadTotalsTotal; +} diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadTotalsExtrasItem.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadTotalsExtrasItem.ts new file mode 100644 index 00000000..f5957044 --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadTotalsExtrasItem.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Extra order items, includes discounts, shipping, and taxes. + */ +export interface EcommOrderChangedPayloadTotalsExtrasItem { + /** The type of extra item this is. */ + type?: Webflow.EcommOrderChangedPayloadTotalsExtrasItemType; + /** A human-readable (but English) name for this extra charge. */ + name?: string; + /** A human-readable (but English) description of this extra charge. */ + description?: string; + /** The price for the item */ + price?: Webflow.EcommOrderChangedPayloadTotalsExtrasItemPrice; +} diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadTotalsExtrasItemPrice.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadTotalsExtrasItemPrice.ts new file mode 100644 index 00000000..e3c88503 --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadTotalsExtrasItemPrice.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The price for the item + */ +export interface EcommOrderChangedPayloadTotalsExtrasItemPrice { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadTotalsExtrasItemType.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadTotalsExtrasItemType.ts new file mode 100644 index 00000000..656daab9 --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadTotalsExtrasItemType.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of extra item this is. + */ +export type EcommOrderChangedPayloadTotalsExtrasItemType = "discount" | "discount-shipping" | "shipping" | "tax"; + +export const EcommOrderChangedPayloadTotalsExtrasItemType = { + Discount: "discount", + DiscountShipping: "discount-shipping", + Shipping: "shipping", + Tax: "tax", +} as const; diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadTotalsSubtotal.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadTotalsSubtotal.ts new file mode 100644 index 00000000..0f41d578 --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadTotalsSubtotal.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The subtotal price + */ +export interface EcommOrderChangedPayloadTotalsSubtotal { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/EcommOrderChangedPayloadTotalsTotal.ts b/src/api/resources/orders/types/EcommOrderChangedPayloadTotalsTotal.ts new file mode 100644 index 00000000..c89e90aa --- /dev/null +++ b/src/api/resources/orders/types/EcommOrderChangedPayloadTotalsTotal.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The total price + */ +export interface EcommOrderChangedPayloadTotalsTotal { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersGetResponse.ts b/src/api/resources/orders/types/OrdersGetResponse.ts new file mode 100644 index 00000000..65d0d5b9 --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponse.ts @@ -0,0 +1,75 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface OrdersGetResponse { + /** + * The order ID. Will usually be 6 hex characters, but can also be 9 + * hex characters if the site has a very large number of Orders. + * Randomly assigned. + */ + orderId?: string; + /** The status of the Order */ + status?: Webflow.OrdersGetResponseStatus; + /** A comment string for this Order, which is editable by API user (not used by Webflow). */ + comment?: string; + /** A comment that the customer left when making their Order */ + orderComment?: string; + /** The ISO8601 timestamp that an Order was placed. */ + acceptedOn?: Date; + /** When an Order is marked as 'fulfilled', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. */ + fulfilledOn?: Date; + /** When an Order is marked as 'refunded', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. */ + refundedOn?: Date; + /** When an Order is marked as 'disputed', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. */ + disputedOn?: Date; + /** If an Order has been disputed by the customer, this key will be set to the ISO8601 timestamp of the last update received. If the Order is not disputed, the key will be null. */ + disputeUpdatedOn?: Date; + /** If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status). */ + disputeLastStatus?: Webflow.OrdersGetResponseDisputeLastStatus; + /** The total paid by the customer */ + customerPaid?: Webflow.OrdersGetResponseCustomerPaid; + /** The net amount after application fees */ + netAmount?: Webflow.OrdersGetResponseNetAmount; + /** The application fee assessed by the platform */ + applicationFee?: Webflow.OrdersGetResponseApplicationFee; + /** All addresses provided by the customer during the ordering flow. */ + allAddresses?: Webflow.OrdersGetResponseAllAddressesItem[]; + /** The shipping address */ + shippingAddress?: Webflow.OrdersGetResponseShippingAddress; + /** The billing address */ + billingAddress?: Webflow.OrdersGetResponseBillingAddress; + /** A string editable by the API user to note the shipping provider used (not used by Webflow). */ + shippingProvider?: string; + /** A string editable by the API user to note the shipping tracking number for the order (not used by Webflow). */ + shippingTracking?: string; + shippingTrackingUrl?: string; + /** An object with the keys `fullName` and `email`. */ + customerInfo?: Webflow.OrdersGetResponseCustomerInfo; + /** An array of all things that the Customer purchased. */ + purchasedItems?: Webflow.OrdersGetResponsePurchasedItemsItem[]; + /** The sum of all 'count' fields in 'purchasedItems'. */ + purchasedItemsCount?: number; + /** An object with various Stripe IDs, useful for linking into the stripe dashboard. */ + stripeDetails?: Webflow.OrdersGetResponseStripeDetails; + /** Details on the card used to fulfill this order, if this order was finalized with Stripe. */ + stripeCard?: Webflow.OrdersGetResponseStripeCard; + paypalDetails?: Webflow.OrdersGetResponsePaypalDetails; + /** An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value. */ + customData?: Record[]; + metadata?: Webflow.OrdersGetResponseMetadata; + /** A boolean indicating whether the customer has been deleted from the site. */ + isCustomerDeleted?: boolean; + /** A boolean indicating whether the order contains one or more purchased items that require shipping. */ + isShippingRequired?: boolean; + /** A boolean indicating whether the order contains one or more purchased items that are downloadable. */ + hasDownloads?: boolean; + /** A string indicating the payment processor used for this order. */ + paymentProcessor?: string; + /** An object describing various pricing totals */ + totals?: Webflow.OrdersGetResponseTotals; + /** An array of downloadable file objects. */ + downloadFiles?: Webflow.OrdersGetResponseDownloadFilesItem[]; +} diff --git a/src/api/resources/orders/types/OrdersGetResponseAllAddressesItem.ts b/src/api/resources/orders/types/OrdersGetResponseAllAddressesItem.ts new file mode 100644 index 00000000..0b47870c --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponseAllAddressesItem.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * A customer address + */ +export interface OrdersGetResponseAllAddressesItem { + /** The type of the order address (billing or shipping) */ + type?: Webflow.OrdersGetResponseAllAddressesItemType; + /** Represents a Japan-only address format. This field will only appear on orders placed from Japan. */ + japanType?: Webflow.OrdersGetResponseAllAddressesItemJapanType; + /** Display name on the address */ + addressee?: string; + /** The first line of the address */ + line1?: string; + /** The second line of the address */ + line2?: string; + /** The city of the address. */ + city?: string; + /** The state or province of the address */ + state?: string; + /** The country of the address */ + country?: string; + /** The postal code of the address */ + postalCode?: string; +} diff --git a/src/api/resources/orders/types/OrdersGetResponseAllAddressesItemJapanType.ts b/src/api/resources/orders/types/OrdersGetResponseAllAddressesItemJapanType.ts new file mode 100644 index 00000000..215761a3 --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponseAllAddressesItemJapanType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Represents a Japan-only address format. This field will only appear on orders placed from Japan. + */ +export type OrdersGetResponseAllAddressesItemJapanType = "kana" | "kanji"; + +export const OrdersGetResponseAllAddressesItemJapanType = { + Kana: "kana", + Kanji: "kanji", +} as const; diff --git a/src/api/resources/orders/types/OrdersGetResponseAllAddressesItemType.ts b/src/api/resources/orders/types/OrdersGetResponseAllAddressesItemType.ts new file mode 100644 index 00000000..f4f8fe97 --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponseAllAddressesItemType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of the order address (billing or shipping) + */ +export type OrdersGetResponseAllAddressesItemType = "shipping" | "billing"; + +export const OrdersGetResponseAllAddressesItemType = { + Shipping: "shipping", + Billing: "billing", +} as const; diff --git a/src/api/resources/orders/types/OrdersGetResponseApplicationFee.ts b/src/api/resources/orders/types/OrdersGetResponseApplicationFee.ts new file mode 100644 index 00000000..95a007a6 --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponseApplicationFee.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The application fee assessed by the platform + */ +export interface OrdersGetResponseApplicationFee { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersGetResponseBillingAddress.ts b/src/api/resources/orders/types/OrdersGetResponseBillingAddress.ts new file mode 100644 index 00000000..cc71dd50 --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponseBillingAddress.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The billing address + */ +export interface OrdersGetResponseBillingAddress { + /** The type of the order address (billing or shipping) */ + type?: Webflow.OrdersGetResponseBillingAddressType; + /** Represents a Japan-only address format. This field will only appear on orders placed from Japan. */ + japanType?: Webflow.OrdersGetResponseBillingAddressJapanType; + /** Display name on the address */ + addressee?: string; + /** The first line of the address */ + line1?: string; + /** The second line of the address */ + line2?: string; + /** The city of the address. */ + city?: string; + /** The state or province of the address */ + state?: string; + /** The country of the address */ + country?: string; + /** The postal code of the address */ + postalCode?: string; +} diff --git a/src/api/resources/orders/types/OrdersGetResponseBillingAddressJapanType.ts b/src/api/resources/orders/types/OrdersGetResponseBillingAddressJapanType.ts new file mode 100644 index 00000000..8d000e1a --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponseBillingAddressJapanType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Represents a Japan-only address format. This field will only appear on orders placed from Japan. + */ +export type OrdersGetResponseBillingAddressJapanType = "kana" | "kanji"; + +export const OrdersGetResponseBillingAddressJapanType = { + Kana: "kana", + Kanji: "kanji", +} as const; diff --git a/src/api/resources/orders/types/OrdersGetResponseBillingAddressType.ts b/src/api/resources/orders/types/OrdersGetResponseBillingAddressType.ts new file mode 100644 index 00000000..890f3e6f --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponseBillingAddressType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of the order address (billing or shipping) + */ +export type OrdersGetResponseBillingAddressType = "shipping" | "billing"; + +export const OrdersGetResponseBillingAddressType = { + Shipping: "shipping", + Billing: "billing", +} as const; diff --git a/src/api/resources/orders/types/OrdersGetResponseCustomerInfo.ts b/src/api/resources/orders/types/OrdersGetResponseCustomerInfo.ts new file mode 100644 index 00000000..51ad4bbc --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponseCustomerInfo.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * An object with the keys `fullName` and `email`. + */ +export interface OrdersGetResponseCustomerInfo { + /** The full name of the Customer */ + fullName?: string; + /** The Customer's email address */ + email?: string; +} diff --git a/src/api/resources/orders/types/OrdersGetResponseCustomerPaid.ts b/src/api/resources/orders/types/OrdersGetResponseCustomerPaid.ts new file mode 100644 index 00000000..c7af1e0f --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponseCustomerPaid.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The total paid by the customer + */ +export interface OrdersGetResponseCustomerPaid { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersGetResponseDisputeLastStatus.ts b/src/api/resources/orders/types/OrdersGetResponseDisputeLastStatus.ts new file mode 100644 index 00000000..4cb56fa8 --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponseDisputeLastStatus.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status). + */ +export type OrdersGetResponseDisputeLastStatus = + | "warning_needs_response" + | "warning_under_review" + | "warning_closed" + | "needs_response" + | "under_review" + | "charge_refunded" + | "won" + | "lost"; + +export const OrdersGetResponseDisputeLastStatus = { + WarningNeedsResponse: "warning_needs_response", + WarningUnderReview: "warning_under_review", + WarningClosed: "warning_closed", + NeedsResponse: "needs_response", + UnderReview: "under_review", + ChargeRefunded: "charge_refunded", + Won: "won", + Lost: "lost", +} as const; diff --git a/src/api/resources/orders/types/OrdersGetResponseDownloadFilesItem.ts b/src/api/resources/orders/types/OrdersGetResponseDownloadFilesItem.ts new file mode 100644 index 00000000..cbfcfb37 --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponseDownloadFilesItem.ts @@ -0,0 +1,12 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface OrdersGetResponseDownloadFilesItem { + /** The unique identifier for the downloadable file */ + id?: string; + /** The user-facing name for the downloadable file */ + name?: string; + /** The hosted location for the downloadable file */ + url?: string; +} diff --git a/src/api/resources/orders/types/OrdersGetResponseMetadata.ts b/src/api/resources/orders/types/OrdersGetResponseMetadata.ts new file mode 100644 index 00000000..03344677 --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponseMetadata.ts @@ -0,0 +1,7 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface OrdersGetResponseMetadata { + isBuyNow?: boolean; +} diff --git a/src/api/resources/orders/types/OrdersGetResponseNetAmount.ts b/src/api/resources/orders/types/OrdersGetResponseNetAmount.ts new file mode 100644 index 00000000..fecadf25 --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponseNetAmount.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The net amount after application fees + */ +export interface OrdersGetResponseNetAmount { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersGetResponsePaypalDetails.ts b/src/api/resources/orders/types/OrdersGetResponsePaypalDetails.ts new file mode 100644 index 00000000..9ba8f9fb --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponsePaypalDetails.ts @@ -0,0 +1,18 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface OrdersGetResponsePaypalDetails { + /** PayPal order identifier */ + orderId?: string; + /** PayPal payer identifier */ + payerId?: string; + /** PayPal capture identifier */ + captureId?: string; + /** PayPal refund identifier */ + refundId?: string; + /** PayPal-issued reason for the refund */ + refundReason?: string; + /** PayPal dispute identifier */ + disputeId?: string; +} diff --git a/src/api/resources/orders/types/OrdersGetResponsePurchasedItemsItem.ts b/src/api/resources/orders/types/OrdersGetResponsePurchasedItemsItem.ts new file mode 100644 index 00000000..6cd35f62 --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponsePurchasedItemsItem.ts @@ -0,0 +1,40 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * An Item that was purchased + */ +export interface OrdersGetResponsePurchasedItemsItem { + /** Number of Item purchased. */ + count?: number; + /** The total for the row */ + rowTotal?: Webflow.OrdersGetResponsePurchasedItemsItemRowTotal; + /** The unique identifier for the Product */ + productId?: string; + /** User-facing name of the Product */ + productName?: string; + /** Slug for the Product */ + productSlug?: string; + /** Identifier for the Product Variant (SKU) */ + variantId?: string; + /** User-facing name of the Product Variant (SKU) */ + variantName?: string; + /** Slug for the Product Variant (SKU) */ + variantSlug?: string; + /** The user-defined custom SKU of the Product Variant (SKU) */ + variantSku?: string; + variantImage?: Webflow.OrdersGetResponsePurchasedItemsItemVariantImage; + /** The price corresponding to the variant */ + variantPrice?: Webflow.OrdersGetResponsePurchasedItemsItemVariantPrice; + /** The physical weight of the variant if provided, or null */ + weight?: number; + /** The physical width of the variant if provided, or null */ + width?: number; + /** The physical height of the variant if provided, or null */ + height?: number; + /** The physical length of the variant if provided, or null */ + length?: number; +} diff --git a/src/api/resources/orders/types/OrdersGetResponsePurchasedItemsItemRowTotal.ts b/src/api/resources/orders/types/OrdersGetResponsePurchasedItemsItemRowTotal.ts new file mode 100644 index 00000000..2dd91ab0 --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponsePurchasedItemsItemRowTotal.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The total for the row + */ +export interface OrdersGetResponsePurchasedItemsItemRowTotal { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersGetResponsePurchasedItemsItemVariantImage.ts b/src/api/resources/orders/types/OrdersGetResponsePurchasedItemsItemVariantImage.ts new file mode 100644 index 00000000..054f1c4b --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponsePurchasedItemsItemVariantImage.ts @@ -0,0 +1,11 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface OrdersGetResponsePurchasedItemsItemVariantImage { + /** The hosted location for the Variant's image */ + url?: string; + file?: Webflow.OrdersGetResponsePurchasedItemsItemVariantImageFile; +} diff --git a/src/api/resources/orders/types/OrdersGetResponsePurchasedItemsItemVariantImageFile.ts b/src/api/resources/orders/types/OrdersGetResponsePurchasedItemsItemVariantImageFile.ts new file mode 100644 index 00000000..976a2e90 --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponsePurchasedItemsItemVariantImageFile.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface OrdersGetResponsePurchasedItemsItemVariantImageFile { + /** The image size in bytes */ + size?: number; + /** the original name of the image */ + originalFileName?: string; + /** The creation timestamp of the image */ + createdOn?: Date; + /** The MIME type of the image */ + contentType?: string; + /** The image width in pixels */ + width?: number; + /** The image height in pixels */ + height?: number; + /** Variants of the supplied image */ + variants?: Webflow.OrdersGetResponsePurchasedItemsItemVariantImageFileVariantsItem[]; +} diff --git a/src/api/resources/orders/types/OrdersGetResponsePurchasedItemsItemVariantImageFileVariantsItem.ts b/src/api/resources/orders/types/OrdersGetResponsePurchasedItemsItemVariantImageFileVariantsItem.ts new file mode 100644 index 00000000..6458b752 --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponsePurchasedItemsItemVariantImageFileVariantsItem.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface OrdersGetResponsePurchasedItemsItemVariantImageFileVariantsItem { + /** The hosted location for the Variant's image */ + url?: string; + originalFileName?: string; + /** The image size in bytes */ + size?: number; + /** The image width in pixels */ + width?: number; + /** The image height in pixels */ + height?: number; +} diff --git a/src/api/resources/orders/types/OrdersGetResponsePurchasedItemsItemVariantPrice.ts b/src/api/resources/orders/types/OrdersGetResponsePurchasedItemsItemVariantPrice.ts new file mode 100644 index 00000000..1f58d349 --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponsePurchasedItemsItemVariantPrice.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The price corresponding to the variant + */ +export interface OrdersGetResponsePurchasedItemsItemVariantPrice { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersGetResponseShippingAddress.ts b/src/api/resources/orders/types/OrdersGetResponseShippingAddress.ts new file mode 100644 index 00000000..d935ec8a --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponseShippingAddress.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The shipping address + */ +export interface OrdersGetResponseShippingAddress { + /** The type of the order address (billing or shipping) */ + type?: Webflow.OrdersGetResponseShippingAddressType; + /** Represents a Japan-only address format. This field will only appear on orders placed from Japan. */ + japanType?: Webflow.OrdersGetResponseShippingAddressJapanType; + /** Display name on the address */ + addressee?: string; + /** The first line of the address */ + line1?: string; + /** The second line of the address */ + line2?: string; + /** The city of the address. */ + city?: string; + /** The state or province of the address */ + state?: string; + /** The country of the address */ + country?: string; + /** The postal code of the address */ + postalCode?: string; +} diff --git a/src/api/resources/orders/types/OrdersGetResponseShippingAddressJapanType.ts b/src/api/resources/orders/types/OrdersGetResponseShippingAddressJapanType.ts new file mode 100644 index 00000000..492e4923 --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponseShippingAddressJapanType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Represents a Japan-only address format. This field will only appear on orders placed from Japan. + */ +export type OrdersGetResponseShippingAddressJapanType = "kana" | "kanji"; + +export const OrdersGetResponseShippingAddressJapanType = { + Kana: "kana", + Kanji: "kanji", +} as const; diff --git a/src/api/resources/orders/types/OrdersGetResponseShippingAddressType.ts b/src/api/resources/orders/types/OrdersGetResponseShippingAddressType.ts new file mode 100644 index 00000000..c1692885 --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponseShippingAddressType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of the order address (billing or shipping) + */ +export type OrdersGetResponseShippingAddressType = "shipping" | "billing"; + +export const OrdersGetResponseShippingAddressType = { + Shipping: "shipping", + Billing: "billing", +} as const; diff --git a/src/api/resources/orders/types/OrdersGetResponseStatus.ts b/src/api/resources/orders/types/OrdersGetResponseStatus.ts new file mode 100644 index 00000000..3c7d2c6c --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponseStatus.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The status of the Order + */ +export type OrdersGetResponseStatus = + | "pending" + | "unfulfilled" + | "fulfilled" + | "disputed" + | "dispute-lost" + | "refunded"; + +export const OrdersGetResponseStatus = { + Pending: "pending", + Unfulfilled: "unfulfilled", + Fulfilled: "fulfilled", + Disputed: "disputed", + DisputeLost: "dispute-lost", + Refunded: "refunded", +} as const; diff --git a/src/api/resources/orders/types/OrdersGetResponseStripeCard.ts b/src/api/resources/orders/types/OrdersGetResponseStripeCard.ts new file mode 100644 index 00000000..60b41c33 --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponseStripeCard.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Details on the card used to fulfill this order, if this order was finalized with Stripe. + */ +export interface OrdersGetResponseStripeCard { + /** The last 4 digits on the card as a string */ + last4?: string; + /** The card's brand (ie. credit card network) */ + brand?: Webflow.OrdersGetResponseStripeCardBrand; + /** The name on the card. */ + ownerName?: string; + /** The card's expiration date. */ + expires?: Webflow.OrdersGetResponseStripeCardExpires; +} diff --git a/src/api/resources/orders/types/OrdersGetResponseStripeCardBrand.ts b/src/api/resources/orders/types/OrdersGetResponseStripeCardBrand.ts new file mode 100644 index 00000000..3b6c689b --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponseStripeCardBrand.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The card's brand (ie. credit card network) + */ +export type OrdersGetResponseStripeCardBrand = + | "Visa" + | "American Express" + | "MasterCard" + | "Discover" + | "JCB" + | "Diners Club" + | "Unknown"; + +export const OrdersGetResponseStripeCardBrand = { + Visa: "Visa", + AmericanExpress: "American Express", + MasterCard: "MasterCard", + Discover: "Discover", + Jcb: "JCB", + DinersClub: "Diners Club", + Unknown: "Unknown", +} as const; diff --git a/src/api/resources/orders/types/OrdersGetResponseStripeCardExpires.ts b/src/api/resources/orders/types/OrdersGetResponseStripeCardExpires.ts new file mode 100644 index 00000000..d0110a58 --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponseStripeCardExpires.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The card's expiration date. + */ +export interface OrdersGetResponseStripeCardExpires { + /** Year that the card expires */ + year?: number; + /** Month that the card expires */ + month?: number; +} diff --git a/src/api/resources/orders/types/OrdersGetResponseStripeDetails.ts b/src/api/resources/orders/types/OrdersGetResponseStripeDetails.ts new file mode 100644 index 00000000..7bce91c2 --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponseStripeDetails.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * An object with various Stripe IDs, useful for linking into the stripe dashboard. + */ +export interface OrdersGetResponseStripeDetails { + /** Stripe-generated identifier for the Subscription */ + subscriptionId?: string; + /** Stripe-generated identifier for the PaymentMethod used */ + paymentMethod?: string; + /** Stripe-generated identifier for the PaymentIntent, or null */ + paymentIntentId?: string; + /** Stripe-generated customer identifier, or null */ + customerId?: string; + /** Stripe-generated charge identifier, or null */ + chargeId?: string; + /** Stripe-generated dispute identifier, or null */ + disputeId?: string; + /** Stripe-generated refund identifier, or null */ + refundId?: string; + /** Stripe-generated refund reason, or null */ + refundReason?: string; +} diff --git a/src/api/resources/orders/types/OrdersGetResponseTotals.ts b/src/api/resources/orders/types/OrdersGetResponseTotals.ts new file mode 100644 index 00000000..df4650e8 --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponseTotals.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * An object describing various pricing totals + */ +export interface OrdersGetResponseTotals { + /** The subtotal price */ + subtotal?: Webflow.OrdersGetResponseTotalsSubtotal; + /** An array of extra items, includes discounts, shipping, and taxes. */ + extras?: Webflow.OrdersGetResponseTotalsExtrasItem[]; + /** The total price */ + total?: Webflow.OrdersGetResponseTotalsTotal; +} diff --git a/src/api/resources/orders/types/OrdersGetResponseTotalsExtrasItem.ts b/src/api/resources/orders/types/OrdersGetResponseTotalsExtrasItem.ts new file mode 100644 index 00000000..ed17e83e --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponseTotalsExtrasItem.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Extra order items, includes discounts, shipping, and taxes. + */ +export interface OrdersGetResponseTotalsExtrasItem { + /** The type of extra item this is. */ + type?: Webflow.OrdersGetResponseTotalsExtrasItemType; + /** A human-readable (but English) name for this extra charge. */ + name?: string; + /** A human-readable (but English) description of this extra charge. */ + description?: string; + /** The price for the item */ + price?: Webflow.OrdersGetResponseTotalsExtrasItemPrice; +} diff --git a/src/api/resources/orders/types/OrdersGetResponseTotalsExtrasItemPrice.ts b/src/api/resources/orders/types/OrdersGetResponseTotalsExtrasItemPrice.ts new file mode 100644 index 00000000..f4f4142f --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponseTotalsExtrasItemPrice.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The price for the item + */ +export interface OrdersGetResponseTotalsExtrasItemPrice { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersGetResponseTotalsExtrasItemType.ts b/src/api/resources/orders/types/OrdersGetResponseTotalsExtrasItemType.ts new file mode 100644 index 00000000..cce4ace0 --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponseTotalsExtrasItemType.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of extra item this is. + */ +export type OrdersGetResponseTotalsExtrasItemType = "discount" | "discount-shipping" | "shipping" | "tax"; + +export const OrdersGetResponseTotalsExtrasItemType = { + Discount: "discount", + DiscountShipping: "discount-shipping", + Shipping: "shipping", + Tax: "tax", +} as const; diff --git a/src/api/resources/orders/types/OrdersGetResponseTotalsSubtotal.ts b/src/api/resources/orders/types/OrdersGetResponseTotalsSubtotal.ts new file mode 100644 index 00000000..eb9d458a --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponseTotalsSubtotal.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The subtotal price + */ +export interface OrdersGetResponseTotalsSubtotal { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersGetResponseTotalsTotal.ts b/src/api/resources/orders/types/OrdersGetResponseTotalsTotal.ts new file mode 100644 index 00000000..16733e26 --- /dev/null +++ b/src/api/resources/orders/types/OrdersGetResponseTotalsTotal.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The total price + */ +export interface OrdersGetResponseTotalsTotal { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersListResponse.ts b/src/api/resources/orders/types/OrdersListResponse.ts new file mode 100644 index 00000000..e2da634a --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponse.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Results from order list + */ +export interface OrdersListResponse { + /** List of orders */ + orders?: Webflow.OrdersListResponseOrdersItem[]; + /** Pagination object */ + pagination?: Webflow.OrdersListResponsePagination; +} diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItem.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItem.ts new file mode 100644 index 00000000..755a7179 --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItem.ts @@ -0,0 +1,75 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface OrdersListResponseOrdersItem { + /** + * The order ID. Will usually be 6 hex characters, but can also be 9 + * hex characters if the site has a very large number of Orders. + * Randomly assigned. + */ + orderId?: string; + /** The status of the Order */ + status?: Webflow.OrdersListResponseOrdersItemStatus; + /** A comment string for this Order, which is editable by API user (not used by Webflow). */ + comment?: string; + /** A comment that the customer left when making their Order */ + orderComment?: string; + /** The ISO8601 timestamp that an Order was placed. */ + acceptedOn?: Date; + /** When an Order is marked as 'fulfilled', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. */ + fulfilledOn?: Date; + /** When an Order is marked as 'refunded', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. */ + refundedOn?: Date; + /** When an Order is marked as 'disputed', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. */ + disputedOn?: Date; + /** If an Order has been disputed by the customer, this key will be set to the ISO8601 timestamp of the last update received. If the Order is not disputed, the key will be null. */ + disputeUpdatedOn?: Date; + /** If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status). */ + disputeLastStatus?: Webflow.OrdersListResponseOrdersItemDisputeLastStatus; + /** The total paid by the customer */ + customerPaid?: Webflow.OrdersListResponseOrdersItemCustomerPaid; + /** The net amount after application fees */ + netAmount?: Webflow.OrdersListResponseOrdersItemNetAmount; + /** The application fee assessed by the platform */ + applicationFee?: Webflow.OrdersListResponseOrdersItemApplicationFee; + /** All addresses provided by the customer during the ordering flow. */ + allAddresses?: Webflow.OrdersListResponseOrdersItemAllAddressesItem[]; + /** The shipping address */ + shippingAddress?: Webflow.OrdersListResponseOrdersItemShippingAddress; + /** The billing address */ + billingAddress?: Webflow.OrdersListResponseOrdersItemBillingAddress; + /** A string editable by the API user to note the shipping provider used (not used by Webflow). */ + shippingProvider?: string; + /** A string editable by the API user to note the shipping tracking number for the order (not used by Webflow). */ + shippingTracking?: string; + shippingTrackingUrl?: string; + /** An object with the keys `fullName` and `email`. */ + customerInfo?: Webflow.OrdersListResponseOrdersItemCustomerInfo; + /** An array of all things that the Customer purchased. */ + purchasedItems?: Webflow.OrdersListResponseOrdersItemPurchasedItemsItem[]; + /** The sum of all 'count' fields in 'purchasedItems'. */ + purchasedItemsCount?: number; + /** An object with various Stripe IDs, useful for linking into the stripe dashboard. */ + stripeDetails?: Webflow.OrdersListResponseOrdersItemStripeDetails; + /** Details on the card used to fulfill this order, if this order was finalized with Stripe. */ + stripeCard?: Webflow.OrdersListResponseOrdersItemStripeCard; + paypalDetails?: Webflow.OrdersListResponseOrdersItemPaypalDetails; + /** An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value. */ + customData?: Record[]; + metadata?: Webflow.OrdersListResponseOrdersItemMetadata; + /** A boolean indicating whether the customer has been deleted from the site. */ + isCustomerDeleted?: boolean; + /** A boolean indicating whether the order contains one or more purchased items that require shipping. */ + isShippingRequired?: boolean; + /** A boolean indicating whether the order contains one or more purchased items that are downloadable. */ + hasDownloads?: boolean; + /** A string indicating the payment processor used for this order. */ + paymentProcessor?: string; + /** An object describing various pricing totals */ + totals?: Webflow.OrdersListResponseOrdersItemTotals; + /** An array of downloadable file objects. */ + downloadFiles?: Webflow.OrdersListResponseOrdersItemDownloadFilesItem[]; +} diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemAllAddressesItem.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemAllAddressesItem.ts new file mode 100644 index 00000000..f53a15f8 --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemAllAddressesItem.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * A customer address + */ +export interface OrdersListResponseOrdersItemAllAddressesItem { + /** The type of the order address (billing or shipping) */ + type?: Webflow.OrdersListResponseOrdersItemAllAddressesItemType; + /** Represents a Japan-only address format. This field will only appear on orders placed from Japan. */ + japanType?: Webflow.OrdersListResponseOrdersItemAllAddressesItemJapanType; + /** Display name on the address */ + addressee?: string; + /** The first line of the address */ + line1?: string; + /** The second line of the address */ + line2?: string; + /** The city of the address. */ + city?: string; + /** The state or province of the address */ + state?: string; + /** The country of the address */ + country?: string; + /** The postal code of the address */ + postalCode?: string; +} diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemAllAddressesItemJapanType.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemAllAddressesItemJapanType.ts new file mode 100644 index 00000000..3f616995 --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemAllAddressesItemJapanType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Represents a Japan-only address format. This field will only appear on orders placed from Japan. + */ +export type OrdersListResponseOrdersItemAllAddressesItemJapanType = "kana" | "kanji"; + +export const OrdersListResponseOrdersItemAllAddressesItemJapanType = { + Kana: "kana", + Kanji: "kanji", +} as const; diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemAllAddressesItemType.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemAllAddressesItemType.ts new file mode 100644 index 00000000..f09a4c16 --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemAllAddressesItemType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of the order address (billing or shipping) + */ +export type OrdersListResponseOrdersItemAllAddressesItemType = "shipping" | "billing"; + +export const OrdersListResponseOrdersItemAllAddressesItemType = { + Shipping: "shipping", + Billing: "billing", +} as const; diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemApplicationFee.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemApplicationFee.ts new file mode 100644 index 00000000..50e27911 --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemApplicationFee.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The application fee assessed by the platform + */ +export interface OrdersListResponseOrdersItemApplicationFee { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemBillingAddress.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemBillingAddress.ts new file mode 100644 index 00000000..4ad9ff59 --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemBillingAddress.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The billing address + */ +export interface OrdersListResponseOrdersItemBillingAddress { + /** The type of the order address (billing or shipping) */ + type?: Webflow.OrdersListResponseOrdersItemBillingAddressType; + /** Represents a Japan-only address format. This field will only appear on orders placed from Japan. */ + japanType?: Webflow.OrdersListResponseOrdersItemBillingAddressJapanType; + /** Display name on the address */ + addressee?: string; + /** The first line of the address */ + line1?: string; + /** The second line of the address */ + line2?: string; + /** The city of the address. */ + city?: string; + /** The state or province of the address */ + state?: string; + /** The country of the address */ + country?: string; + /** The postal code of the address */ + postalCode?: string; +} diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemBillingAddressJapanType.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemBillingAddressJapanType.ts new file mode 100644 index 00000000..2da9008b --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemBillingAddressJapanType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Represents a Japan-only address format. This field will only appear on orders placed from Japan. + */ +export type OrdersListResponseOrdersItemBillingAddressJapanType = "kana" | "kanji"; + +export const OrdersListResponseOrdersItemBillingAddressJapanType = { + Kana: "kana", + Kanji: "kanji", +} as const; diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemBillingAddressType.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemBillingAddressType.ts new file mode 100644 index 00000000..631472a0 --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemBillingAddressType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of the order address (billing or shipping) + */ +export type OrdersListResponseOrdersItemBillingAddressType = "shipping" | "billing"; + +export const OrdersListResponseOrdersItemBillingAddressType = { + Shipping: "shipping", + Billing: "billing", +} as const; diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemCustomerInfo.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemCustomerInfo.ts new file mode 100644 index 00000000..b0e86255 --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemCustomerInfo.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * An object with the keys `fullName` and `email`. + */ +export interface OrdersListResponseOrdersItemCustomerInfo { + /** The full name of the Customer */ + fullName?: string; + /** The Customer's email address */ + email?: string; +} diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemCustomerPaid.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemCustomerPaid.ts new file mode 100644 index 00000000..fc96cb2b --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemCustomerPaid.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The total paid by the customer + */ +export interface OrdersListResponseOrdersItemCustomerPaid { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemDisputeLastStatus.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemDisputeLastStatus.ts new file mode 100644 index 00000000..0b177f7a --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemDisputeLastStatus.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status). + */ +export type OrdersListResponseOrdersItemDisputeLastStatus = + | "warning_needs_response" + | "warning_under_review" + | "warning_closed" + | "needs_response" + | "under_review" + | "charge_refunded" + | "won" + | "lost"; + +export const OrdersListResponseOrdersItemDisputeLastStatus = { + WarningNeedsResponse: "warning_needs_response", + WarningUnderReview: "warning_under_review", + WarningClosed: "warning_closed", + NeedsResponse: "needs_response", + UnderReview: "under_review", + ChargeRefunded: "charge_refunded", + Won: "won", + Lost: "lost", +} as const; diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemDownloadFilesItem.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemDownloadFilesItem.ts new file mode 100644 index 00000000..a3250120 --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemDownloadFilesItem.ts @@ -0,0 +1,12 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface OrdersListResponseOrdersItemDownloadFilesItem { + /** The unique identifier for the downloadable file */ + id?: string; + /** The user-facing name for the downloadable file */ + name?: string; + /** The hosted location for the downloadable file */ + url?: string; +} diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemMetadata.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemMetadata.ts new file mode 100644 index 00000000..18a5d9f7 --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemMetadata.ts @@ -0,0 +1,7 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface OrdersListResponseOrdersItemMetadata { + isBuyNow?: boolean; +} diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemNetAmount.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemNetAmount.ts new file mode 100644 index 00000000..a65c3967 --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemNetAmount.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The net amount after application fees + */ +export interface OrdersListResponseOrdersItemNetAmount { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemPaypalDetails.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemPaypalDetails.ts new file mode 100644 index 00000000..bf36a7ed --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemPaypalDetails.ts @@ -0,0 +1,18 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface OrdersListResponseOrdersItemPaypalDetails { + /** PayPal order identifier */ + orderId?: string; + /** PayPal payer identifier */ + payerId?: string; + /** PayPal capture identifier */ + captureId?: string; + /** PayPal refund identifier */ + refundId?: string; + /** PayPal-issued reason for the refund */ + refundReason?: string; + /** PayPal dispute identifier */ + disputeId?: string; +} diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItem.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItem.ts new file mode 100644 index 00000000..c355bb52 --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItem.ts @@ -0,0 +1,40 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * An Item that was purchased + */ +export interface OrdersListResponseOrdersItemPurchasedItemsItem { + /** Number of Item purchased. */ + count?: number; + /** The total for the row */ + rowTotal?: Webflow.OrdersListResponseOrdersItemPurchasedItemsItemRowTotal; + /** The unique identifier for the Product */ + productId?: string; + /** User-facing name of the Product */ + productName?: string; + /** Slug for the Product */ + productSlug?: string; + /** Identifier for the Product Variant (SKU) */ + variantId?: string; + /** User-facing name of the Product Variant (SKU) */ + variantName?: string; + /** Slug for the Product Variant (SKU) */ + variantSlug?: string; + /** The user-defined custom SKU of the Product Variant (SKU) */ + variantSku?: string; + variantImage?: Webflow.OrdersListResponseOrdersItemPurchasedItemsItemVariantImage; + /** The price corresponding to the variant */ + variantPrice?: Webflow.OrdersListResponseOrdersItemPurchasedItemsItemVariantPrice; + /** The physical weight of the variant if provided, or null */ + weight?: number; + /** The physical width of the variant if provided, or null */ + width?: number; + /** The physical height of the variant if provided, or null */ + height?: number; + /** The physical length of the variant if provided, or null */ + length?: number; +} diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItemRowTotal.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItemRowTotal.ts new file mode 100644 index 00000000..1381bff0 --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItemRowTotal.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The total for the row + */ +export interface OrdersListResponseOrdersItemPurchasedItemsItemRowTotal { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItemVariantImage.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItemVariantImage.ts new file mode 100644 index 00000000..2d39c489 --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItemVariantImage.ts @@ -0,0 +1,11 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface OrdersListResponseOrdersItemPurchasedItemsItemVariantImage { + /** The hosted location for the Variant's image */ + url?: string; + file?: Webflow.OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFile; +} diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFile.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFile.ts new file mode 100644 index 00000000..b8b7ac47 --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFile.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFile { + /** The image size in bytes */ + size?: number; + /** the original name of the image */ + originalFileName?: string; + /** The creation timestamp of the image */ + createdOn?: Date; + /** The MIME type of the image */ + contentType?: string; + /** The image width in pixels */ + width?: number; + /** The image height in pixels */ + height?: number; + /** Variants of the supplied image */ + variants?: Webflow.OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFileVariantsItem[]; +} diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFileVariantsItem.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFileVariantsItem.ts new file mode 100644 index 00000000..1c610078 --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFileVariantsItem.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFileVariantsItem { + /** The hosted location for the Variant's image */ + url?: string; + originalFileName?: string; + /** The image size in bytes */ + size?: number; + /** The image width in pixels */ + width?: number; + /** The image height in pixels */ + height?: number; +} diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItemVariantPrice.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItemVariantPrice.ts new file mode 100644 index 00000000..5e00547a --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItemVariantPrice.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The price corresponding to the variant + */ +export interface OrdersListResponseOrdersItemPurchasedItemsItemVariantPrice { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemShippingAddress.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemShippingAddress.ts new file mode 100644 index 00000000..26211cf9 --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemShippingAddress.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The shipping address + */ +export interface OrdersListResponseOrdersItemShippingAddress { + /** The type of the order address (billing or shipping) */ + type?: Webflow.OrdersListResponseOrdersItemShippingAddressType; + /** Represents a Japan-only address format. This field will only appear on orders placed from Japan. */ + japanType?: Webflow.OrdersListResponseOrdersItemShippingAddressJapanType; + /** Display name on the address */ + addressee?: string; + /** The first line of the address */ + line1?: string; + /** The second line of the address */ + line2?: string; + /** The city of the address. */ + city?: string; + /** The state or province of the address */ + state?: string; + /** The country of the address */ + country?: string; + /** The postal code of the address */ + postalCode?: string; +} diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemShippingAddressJapanType.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemShippingAddressJapanType.ts new file mode 100644 index 00000000..694bbb24 --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemShippingAddressJapanType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Represents a Japan-only address format. This field will only appear on orders placed from Japan. + */ +export type OrdersListResponseOrdersItemShippingAddressJapanType = "kana" | "kanji"; + +export const OrdersListResponseOrdersItemShippingAddressJapanType = { + Kana: "kana", + Kanji: "kanji", +} as const; diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemShippingAddressType.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemShippingAddressType.ts new file mode 100644 index 00000000..c34fbbd3 --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemShippingAddressType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of the order address (billing or shipping) + */ +export type OrdersListResponseOrdersItemShippingAddressType = "shipping" | "billing"; + +export const OrdersListResponseOrdersItemShippingAddressType = { + Shipping: "shipping", + Billing: "billing", +} as const; diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemStatus.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemStatus.ts new file mode 100644 index 00000000..be9f7919 --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemStatus.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The status of the Order + */ +export type OrdersListResponseOrdersItemStatus = + | "pending" + | "unfulfilled" + | "fulfilled" + | "disputed" + | "dispute-lost" + | "refunded"; + +export const OrdersListResponseOrdersItemStatus = { + Pending: "pending", + Unfulfilled: "unfulfilled", + Fulfilled: "fulfilled", + Disputed: "disputed", + DisputeLost: "dispute-lost", + Refunded: "refunded", +} as const; diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemStripeCard.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemStripeCard.ts new file mode 100644 index 00000000..f8f2cc7e --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemStripeCard.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Details on the card used to fulfill this order, if this order was finalized with Stripe. + */ +export interface OrdersListResponseOrdersItemStripeCard { + /** The last 4 digits on the card as a string */ + last4?: string; + /** The card's brand (ie. credit card network) */ + brand?: Webflow.OrdersListResponseOrdersItemStripeCardBrand; + /** The name on the card. */ + ownerName?: string; + /** The card's expiration date. */ + expires?: Webflow.OrdersListResponseOrdersItemStripeCardExpires; +} diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemStripeCardBrand.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemStripeCardBrand.ts new file mode 100644 index 00000000..0af9db9a --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemStripeCardBrand.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The card's brand (ie. credit card network) + */ +export type OrdersListResponseOrdersItemStripeCardBrand = + | "Visa" + | "American Express" + | "MasterCard" + | "Discover" + | "JCB" + | "Diners Club" + | "Unknown"; + +export const OrdersListResponseOrdersItemStripeCardBrand = { + Visa: "Visa", + AmericanExpress: "American Express", + MasterCard: "MasterCard", + Discover: "Discover", + Jcb: "JCB", + DinersClub: "Diners Club", + Unknown: "Unknown", +} as const; diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemStripeCardExpires.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemStripeCardExpires.ts new file mode 100644 index 00000000..a687c2ab --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemStripeCardExpires.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The card's expiration date. + */ +export interface OrdersListResponseOrdersItemStripeCardExpires { + /** Year that the card expires */ + year?: number; + /** Month that the card expires */ + month?: number; +} diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemStripeDetails.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemStripeDetails.ts new file mode 100644 index 00000000..c0ca50ff --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemStripeDetails.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * An object with various Stripe IDs, useful for linking into the stripe dashboard. + */ +export interface OrdersListResponseOrdersItemStripeDetails { + /** Stripe-generated identifier for the Subscription */ + subscriptionId?: string; + /** Stripe-generated identifier for the PaymentMethod used */ + paymentMethod?: string; + /** Stripe-generated identifier for the PaymentIntent, or null */ + paymentIntentId?: string; + /** Stripe-generated customer identifier, or null */ + customerId?: string; + /** Stripe-generated charge identifier, or null */ + chargeId?: string; + /** Stripe-generated dispute identifier, or null */ + disputeId?: string; + /** Stripe-generated refund identifier, or null */ + refundId?: string; + /** Stripe-generated refund reason, or null */ + refundReason?: string; +} diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemTotals.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemTotals.ts new file mode 100644 index 00000000..e5a9dfa1 --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemTotals.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * An object describing various pricing totals + */ +export interface OrdersListResponseOrdersItemTotals { + /** The subtotal price */ + subtotal?: Webflow.OrdersListResponseOrdersItemTotalsSubtotal; + /** An array of extra items, includes discounts, shipping, and taxes. */ + extras?: Webflow.OrdersListResponseOrdersItemTotalsExtrasItem[]; + /** The total price */ + total?: Webflow.OrdersListResponseOrdersItemTotalsTotal; +} diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemTotalsExtrasItem.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemTotalsExtrasItem.ts new file mode 100644 index 00000000..4753c32a --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemTotalsExtrasItem.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Extra order items, includes discounts, shipping, and taxes. + */ +export interface OrdersListResponseOrdersItemTotalsExtrasItem { + /** The type of extra item this is. */ + type?: Webflow.OrdersListResponseOrdersItemTotalsExtrasItemType; + /** A human-readable (but English) name for this extra charge. */ + name?: string; + /** A human-readable (but English) description of this extra charge. */ + description?: string; + /** The price for the item */ + price?: Webflow.OrdersListResponseOrdersItemTotalsExtrasItemPrice; +} diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemTotalsExtrasItemPrice.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemTotalsExtrasItemPrice.ts new file mode 100644 index 00000000..8283c6d3 --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemTotalsExtrasItemPrice.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The price for the item + */ +export interface OrdersListResponseOrdersItemTotalsExtrasItemPrice { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemTotalsExtrasItemType.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemTotalsExtrasItemType.ts new file mode 100644 index 00000000..0d4d20fa --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemTotalsExtrasItemType.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of extra item this is. + */ +export type OrdersListResponseOrdersItemTotalsExtrasItemType = "discount" | "discount-shipping" | "shipping" | "tax"; + +export const OrdersListResponseOrdersItemTotalsExtrasItemType = { + Discount: "discount", + DiscountShipping: "discount-shipping", + Shipping: "shipping", + Tax: "tax", +} as const; diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemTotalsSubtotal.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemTotalsSubtotal.ts new file mode 100644 index 00000000..3bd42cc5 --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemTotalsSubtotal.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The subtotal price + */ +export interface OrdersListResponseOrdersItemTotalsSubtotal { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersListResponseOrdersItemTotalsTotal.ts b/src/api/resources/orders/types/OrdersListResponseOrdersItemTotalsTotal.ts new file mode 100644 index 00000000..cc0f1815 --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponseOrdersItemTotalsTotal.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The total price + */ +export interface OrdersListResponseOrdersItemTotalsTotal { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersListResponsePagination.ts b/src/api/resources/orders/types/OrdersListResponsePagination.ts new file mode 100644 index 00000000..ae5ac931 --- /dev/null +++ b/src/api/resources/orders/types/OrdersListResponsePagination.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Pagination object + */ +export interface OrdersListResponsePagination { + /** The limit used for pagination */ + limit?: number; + /** The offset used for pagination */ + offset?: number; + /** The total number of records */ + total?: number; +} diff --git a/src/api/resources/orders/types/OrdersRefundResponse.ts b/src/api/resources/orders/types/OrdersRefundResponse.ts new file mode 100644 index 00000000..821f038e --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponse.ts @@ -0,0 +1,75 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface OrdersRefundResponse { + /** + * The order ID. Will usually be 6 hex characters, but can also be 9 + * hex characters if the site has a very large number of Orders. + * Randomly assigned. + */ + orderId?: string; + /** The status of the Order */ + status?: Webflow.OrdersRefundResponseStatus; + /** A comment string for this Order, which is editable by API user (not used by Webflow). */ + comment?: string; + /** A comment that the customer left when making their Order */ + orderComment?: string; + /** The ISO8601 timestamp that an Order was placed. */ + acceptedOn?: Date; + /** When an Order is marked as 'fulfilled', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. */ + fulfilledOn?: Date; + /** When an Order is marked as 'refunded', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. */ + refundedOn?: Date; + /** When an Order is marked as 'disputed', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. */ + disputedOn?: Date; + /** If an Order has been disputed by the customer, this key will be set to the ISO8601 timestamp of the last update received. If the Order is not disputed, the key will be null. */ + disputeUpdatedOn?: Date; + /** If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status). */ + disputeLastStatus?: Webflow.OrdersRefundResponseDisputeLastStatus; + /** The total paid by the customer */ + customerPaid?: Webflow.OrdersRefundResponseCustomerPaid; + /** The net amount after application fees */ + netAmount?: Webflow.OrdersRefundResponseNetAmount; + /** The application fee assessed by the platform */ + applicationFee?: Webflow.OrdersRefundResponseApplicationFee; + /** All addresses provided by the customer during the ordering flow. */ + allAddresses?: Webflow.OrdersRefundResponseAllAddressesItem[]; + /** The shipping address */ + shippingAddress?: Webflow.OrdersRefundResponseShippingAddress; + /** The billing address */ + billingAddress?: Webflow.OrdersRefundResponseBillingAddress; + /** A string editable by the API user to note the shipping provider used (not used by Webflow). */ + shippingProvider?: string; + /** A string editable by the API user to note the shipping tracking number for the order (not used by Webflow). */ + shippingTracking?: string; + shippingTrackingUrl?: string; + /** An object with the keys `fullName` and `email`. */ + customerInfo?: Webflow.OrdersRefundResponseCustomerInfo; + /** An array of all things that the Customer purchased. */ + purchasedItems?: Webflow.OrdersRefundResponsePurchasedItemsItem[]; + /** The sum of all 'count' fields in 'purchasedItems'. */ + purchasedItemsCount?: number; + /** An object with various Stripe IDs, useful for linking into the stripe dashboard. */ + stripeDetails?: Webflow.OrdersRefundResponseStripeDetails; + /** Details on the card used to fulfill this order, if this order was finalized with Stripe. */ + stripeCard?: Webflow.OrdersRefundResponseStripeCard; + paypalDetails?: Webflow.OrdersRefundResponsePaypalDetails; + /** An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value. */ + customData?: Record[]; + metadata?: Webflow.OrdersRefundResponseMetadata; + /** A boolean indicating whether the customer has been deleted from the site. */ + isCustomerDeleted?: boolean; + /** A boolean indicating whether the order contains one or more purchased items that require shipping. */ + isShippingRequired?: boolean; + /** A boolean indicating whether the order contains one or more purchased items that are downloadable. */ + hasDownloads?: boolean; + /** A string indicating the payment processor used for this order. */ + paymentProcessor?: string; + /** An object describing various pricing totals */ + totals?: Webflow.OrdersRefundResponseTotals; + /** An array of downloadable file objects. */ + downloadFiles?: Webflow.OrdersRefundResponseDownloadFilesItem[]; +} diff --git a/src/api/resources/orders/types/OrdersRefundResponseAllAddressesItem.ts b/src/api/resources/orders/types/OrdersRefundResponseAllAddressesItem.ts new file mode 100644 index 00000000..7327e928 --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponseAllAddressesItem.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * A customer address + */ +export interface OrdersRefundResponseAllAddressesItem { + /** The type of the order address (billing or shipping) */ + type?: Webflow.OrdersRefundResponseAllAddressesItemType; + /** Represents a Japan-only address format. This field will only appear on orders placed from Japan. */ + japanType?: Webflow.OrdersRefundResponseAllAddressesItemJapanType; + /** Display name on the address */ + addressee?: string; + /** The first line of the address */ + line1?: string; + /** The second line of the address */ + line2?: string; + /** The city of the address. */ + city?: string; + /** The state or province of the address */ + state?: string; + /** The country of the address */ + country?: string; + /** The postal code of the address */ + postalCode?: string; +} diff --git a/src/api/resources/orders/types/OrdersRefundResponseAllAddressesItemJapanType.ts b/src/api/resources/orders/types/OrdersRefundResponseAllAddressesItemJapanType.ts new file mode 100644 index 00000000..eacd8f68 --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponseAllAddressesItemJapanType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Represents a Japan-only address format. This field will only appear on orders placed from Japan. + */ +export type OrdersRefundResponseAllAddressesItemJapanType = "kana" | "kanji"; + +export const OrdersRefundResponseAllAddressesItemJapanType = { + Kana: "kana", + Kanji: "kanji", +} as const; diff --git a/src/api/resources/orders/types/OrdersRefundResponseAllAddressesItemType.ts b/src/api/resources/orders/types/OrdersRefundResponseAllAddressesItemType.ts new file mode 100644 index 00000000..443be98d --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponseAllAddressesItemType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of the order address (billing or shipping) + */ +export type OrdersRefundResponseAllAddressesItemType = "shipping" | "billing"; + +export const OrdersRefundResponseAllAddressesItemType = { + Shipping: "shipping", + Billing: "billing", +} as const; diff --git a/src/api/resources/orders/types/OrdersRefundResponseApplicationFee.ts b/src/api/resources/orders/types/OrdersRefundResponseApplicationFee.ts new file mode 100644 index 00000000..c8c6fa8f --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponseApplicationFee.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The application fee assessed by the platform + */ +export interface OrdersRefundResponseApplicationFee { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersRefundResponseBillingAddress.ts b/src/api/resources/orders/types/OrdersRefundResponseBillingAddress.ts new file mode 100644 index 00000000..2f551849 --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponseBillingAddress.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The billing address + */ +export interface OrdersRefundResponseBillingAddress { + /** The type of the order address (billing or shipping) */ + type?: Webflow.OrdersRefundResponseBillingAddressType; + /** Represents a Japan-only address format. This field will only appear on orders placed from Japan. */ + japanType?: Webflow.OrdersRefundResponseBillingAddressJapanType; + /** Display name on the address */ + addressee?: string; + /** The first line of the address */ + line1?: string; + /** The second line of the address */ + line2?: string; + /** The city of the address. */ + city?: string; + /** The state or province of the address */ + state?: string; + /** The country of the address */ + country?: string; + /** The postal code of the address */ + postalCode?: string; +} diff --git a/src/api/resources/orders/types/OrdersRefundResponseBillingAddressJapanType.ts b/src/api/resources/orders/types/OrdersRefundResponseBillingAddressJapanType.ts new file mode 100644 index 00000000..3c4c0d05 --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponseBillingAddressJapanType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Represents a Japan-only address format. This field will only appear on orders placed from Japan. + */ +export type OrdersRefundResponseBillingAddressJapanType = "kana" | "kanji"; + +export const OrdersRefundResponseBillingAddressJapanType = { + Kana: "kana", + Kanji: "kanji", +} as const; diff --git a/src/api/resources/orders/types/OrdersRefundResponseBillingAddressType.ts b/src/api/resources/orders/types/OrdersRefundResponseBillingAddressType.ts new file mode 100644 index 00000000..c6f1c451 --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponseBillingAddressType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of the order address (billing or shipping) + */ +export type OrdersRefundResponseBillingAddressType = "shipping" | "billing"; + +export const OrdersRefundResponseBillingAddressType = { + Shipping: "shipping", + Billing: "billing", +} as const; diff --git a/src/api/resources/orders/types/OrdersRefundResponseCustomerInfo.ts b/src/api/resources/orders/types/OrdersRefundResponseCustomerInfo.ts new file mode 100644 index 00000000..24a79bbb --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponseCustomerInfo.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * An object with the keys `fullName` and `email`. + */ +export interface OrdersRefundResponseCustomerInfo { + /** The full name of the Customer */ + fullName?: string; + /** The Customer's email address */ + email?: string; +} diff --git a/src/api/resources/orders/types/OrdersRefundResponseCustomerPaid.ts b/src/api/resources/orders/types/OrdersRefundResponseCustomerPaid.ts new file mode 100644 index 00000000..f8d1b00b --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponseCustomerPaid.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The total paid by the customer + */ +export interface OrdersRefundResponseCustomerPaid { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersRefundResponseDisputeLastStatus.ts b/src/api/resources/orders/types/OrdersRefundResponseDisputeLastStatus.ts new file mode 100644 index 00000000..d3c51f1a --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponseDisputeLastStatus.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status). + */ +export type OrdersRefundResponseDisputeLastStatus = + | "warning_needs_response" + | "warning_under_review" + | "warning_closed" + | "needs_response" + | "under_review" + | "charge_refunded" + | "won" + | "lost"; + +export const OrdersRefundResponseDisputeLastStatus = { + WarningNeedsResponse: "warning_needs_response", + WarningUnderReview: "warning_under_review", + WarningClosed: "warning_closed", + NeedsResponse: "needs_response", + UnderReview: "under_review", + ChargeRefunded: "charge_refunded", + Won: "won", + Lost: "lost", +} as const; diff --git a/src/api/resources/orders/types/OrdersRefundResponseDownloadFilesItem.ts b/src/api/resources/orders/types/OrdersRefundResponseDownloadFilesItem.ts new file mode 100644 index 00000000..db469fc0 --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponseDownloadFilesItem.ts @@ -0,0 +1,12 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface OrdersRefundResponseDownloadFilesItem { + /** The unique identifier for the downloadable file */ + id?: string; + /** The user-facing name for the downloadable file */ + name?: string; + /** The hosted location for the downloadable file */ + url?: string; +} diff --git a/src/api/resources/orders/types/OrdersRefundResponseMetadata.ts b/src/api/resources/orders/types/OrdersRefundResponseMetadata.ts new file mode 100644 index 00000000..fd88fbe0 --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponseMetadata.ts @@ -0,0 +1,7 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface OrdersRefundResponseMetadata { + isBuyNow?: boolean; +} diff --git a/src/api/resources/orders/types/OrdersRefundResponseNetAmount.ts b/src/api/resources/orders/types/OrdersRefundResponseNetAmount.ts new file mode 100644 index 00000000..3b2542d7 --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponseNetAmount.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The net amount after application fees + */ +export interface OrdersRefundResponseNetAmount { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersRefundResponsePaypalDetails.ts b/src/api/resources/orders/types/OrdersRefundResponsePaypalDetails.ts new file mode 100644 index 00000000..2207a2c6 --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponsePaypalDetails.ts @@ -0,0 +1,18 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface OrdersRefundResponsePaypalDetails { + /** PayPal order identifier */ + orderId?: string; + /** PayPal payer identifier */ + payerId?: string; + /** PayPal capture identifier */ + captureId?: string; + /** PayPal refund identifier */ + refundId?: string; + /** PayPal-issued reason for the refund */ + refundReason?: string; + /** PayPal dispute identifier */ + disputeId?: string; +} diff --git a/src/api/resources/orders/types/OrdersRefundResponsePurchasedItemsItem.ts b/src/api/resources/orders/types/OrdersRefundResponsePurchasedItemsItem.ts new file mode 100644 index 00000000..2b29c1fa --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponsePurchasedItemsItem.ts @@ -0,0 +1,40 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * An Item that was purchased + */ +export interface OrdersRefundResponsePurchasedItemsItem { + /** Number of Item purchased. */ + count?: number; + /** The total for the row */ + rowTotal?: Webflow.OrdersRefundResponsePurchasedItemsItemRowTotal; + /** The unique identifier for the Product */ + productId?: string; + /** User-facing name of the Product */ + productName?: string; + /** Slug for the Product */ + productSlug?: string; + /** Identifier for the Product Variant (SKU) */ + variantId?: string; + /** User-facing name of the Product Variant (SKU) */ + variantName?: string; + /** Slug for the Product Variant (SKU) */ + variantSlug?: string; + /** The user-defined custom SKU of the Product Variant (SKU) */ + variantSku?: string; + variantImage?: Webflow.OrdersRefundResponsePurchasedItemsItemVariantImage; + /** The price corresponding to the variant */ + variantPrice?: Webflow.OrdersRefundResponsePurchasedItemsItemVariantPrice; + /** The physical weight of the variant if provided, or null */ + weight?: number; + /** The physical width of the variant if provided, or null */ + width?: number; + /** The physical height of the variant if provided, or null */ + height?: number; + /** The physical length of the variant if provided, or null */ + length?: number; +} diff --git a/src/api/resources/orders/types/OrdersRefundResponsePurchasedItemsItemRowTotal.ts b/src/api/resources/orders/types/OrdersRefundResponsePurchasedItemsItemRowTotal.ts new file mode 100644 index 00000000..c06865b2 --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponsePurchasedItemsItemRowTotal.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The total for the row + */ +export interface OrdersRefundResponsePurchasedItemsItemRowTotal { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersRefundResponsePurchasedItemsItemVariantImage.ts b/src/api/resources/orders/types/OrdersRefundResponsePurchasedItemsItemVariantImage.ts new file mode 100644 index 00000000..d3d06f68 --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponsePurchasedItemsItemVariantImage.ts @@ -0,0 +1,11 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface OrdersRefundResponsePurchasedItemsItemVariantImage { + /** The hosted location for the Variant's image */ + url?: string; + file?: Webflow.OrdersRefundResponsePurchasedItemsItemVariantImageFile; +} diff --git a/src/api/resources/orders/types/OrdersRefundResponsePurchasedItemsItemVariantImageFile.ts b/src/api/resources/orders/types/OrdersRefundResponsePurchasedItemsItemVariantImageFile.ts new file mode 100644 index 00000000..f2c0ff95 --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponsePurchasedItemsItemVariantImageFile.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface OrdersRefundResponsePurchasedItemsItemVariantImageFile { + /** The image size in bytes */ + size?: number; + /** the original name of the image */ + originalFileName?: string; + /** The creation timestamp of the image */ + createdOn?: Date; + /** The MIME type of the image */ + contentType?: string; + /** The image width in pixels */ + width?: number; + /** The image height in pixels */ + height?: number; + /** Variants of the supplied image */ + variants?: Webflow.OrdersRefundResponsePurchasedItemsItemVariantImageFileVariantsItem[]; +} diff --git a/src/api/resources/orders/types/OrdersRefundResponsePurchasedItemsItemVariantImageFileVariantsItem.ts b/src/api/resources/orders/types/OrdersRefundResponsePurchasedItemsItemVariantImageFileVariantsItem.ts new file mode 100644 index 00000000..bf158b64 --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponsePurchasedItemsItemVariantImageFileVariantsItem.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface OrdersRefundResponsePurchasedItemsItemVariantImageFileVariantsItem { + /** The hosted location for the Variant's image */ + url?: string; + originalFileName?: string; + /** The image size in bytes */ + size?: number; + /** The image width in pixels */ + width?: number; + /** The image height in pixels */ + height?: number; +} diff --git a/src/api/resources/orders/types/OrdersRefundResponsePurchasedItemsItemVariantPrice.ts b/src/api/resources/orders/types/OrdersRefundResponsePurchasedItemsItemVariantPrice.ts new file mode 100644 index 00000000..5f74650f --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponsePurchasedItemsItemVariantPrice.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The price corresponding to the variant + */ +export interface OrdersRefundResponsePurchasedItemsItemVariantPrice { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersRefundResponseShippingAddress.ts b/src/api/resources/orders/types/OrdersRefundResponseShippingAddress.ts new file mode 100644 index 00000000..7c2c0b41 --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponseShippingAddress.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The shipping address + */ +export interface OrdersRefundResponseShippingAddress { + /** The type of the order address (billing or shipping) */ + type?: Webflow.OrdersRefundResponseShippingAddressType; + /** Represents a Japan-only address format. This field will only appear on orders placed from Japan. */ + japanType?: Webflow.OrdersRefundResponseShippingAddressJapanType; + /** Display name on the address */ + addressee?: string; + /** The first line of the address */ + line1?: string; + /** The second line of the address */ + line2?: string; + /** The city of the address. */ + city?: string; + /** The state or province of the address */ + state?: string; + /** The country of the address */ + country?: string; + /** The postal code of the address */ + postalCode?: string; +} diff --git a/src/api/resources/orders/types/OrdersRefundResponseShippingAddressJapanType.ts b/src/api/resources/orders/types/OrdersRefundResponseShippingAddressJapanType.ts new file mode 100644 index 00000000..59a0d165 --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponseShippingAddressJapanType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Represents a Japan-only address format. This field will only appear on orders placed from Japan. + */ +export type OrdersRefundResponseShippingAddressJapanType = "kana" | "kanji"; + +export const OrdersRefundResponseShippingAddressJapanType = { + Kana: "kana", + Kanji: "kanji", +} as const; diff --git a/src/api/resources/orders/types/OrdersRefundResponseShippingAddressType.ts b/src/api/resources/orders/types/OrdersRefundResponseShippingAddressType.ts new file mode 100644 index 00000000..0b3763ac --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponseShippingAddressType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of the order address (billing or shipping) + */ +export type OrdersRefundResponseShippingAddressType = "shipping" | "billing"; + +export const OrdersRefundResponseShippingAddressType = { + Shipping: "shipping", + Billing: "billing", +} as const; diff --git a/src/api/resources/orders/types/OrdersRefundResponseStatus.ts b/src/api/resources/orders/types/OrdersRefundResponseStatus.ts new file mode 100644 index 00000000..5981ae59 --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponseStatus.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The status of the Order + */ +export type OrdersRefundResponseStatus = + | "pending" + | "unfulfilled" + | "fulfilled" + | "disputed" + | "dispute-lost" + | "refunded"; + +export const OrdersRefundResponseStatus = { + Pending: "pending", + Unfulfilled: "unfulfilled", + Fulfilled: "fulfilled", + Disputed: "disputed", + DisputeLost: "dispute-lost", + Refunded: "refunded", +} as const; diff --git a/src/api/resources/orders/types/OrdersRefundResponseStripeCard.ts b/src/api/resources/orders/types/OrdersRefundResponseStripeCard.ts new file mode 100644 index 00000000..f56f6799 --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponseStripeCard.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Details on the card used to fulfill this order, if this order was finalized with Stripe. + */ +export interface OrdersRefundResponseStripeCard { + /** The last 4 digits on the card as a string */ + last4?: string; + /** The card's brand (ie. credit card network) */ + brand?: Webflow.OrdersRefundResponseStripeCardBrand; + /** The name on the card. */ + ownerName?: string; + /** The card's expiration date. */ + expires?: Webflow.OrdersRefundResponseStripeCardExpires; +} diff --git a/src/api/resources/orders/types/OrdersRefundResponseStripeCardBrand.ts b/src/api/resources/orders/types/OrdersRefundResponseStripeCardBrand.ts new file mode 100644 index 00000000..a72d469a --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponseStripeCardBrand.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The card's brand (ie. credit card network) + */ +export type OrdersRefundResponseStripeCardBrand = + | "Visa" + | "American Express" + | "MasterCard" + | "Discover" + | "JCB" + | "Diners Club" + | "Unknown"; + +export const OrdersRefundResponseStripeCardBrand = { + Visa: "Visa", + AmericanExpress: "American Express", + MasterCard: "MasterCard", + Discover: "Discover", + Jcb: "JCB", + DinersClub: "Diners Club", + Unknown: "Unknown", +} as const; diff --git a/src/api/resources/orders/types/OrdersRefundResponseStripeCardExpires.ts b/src/api/resources/orders/types/OrdersRefundResponseStripeCardExpires.ts new file mode 100644 index 00000000..924a7c79 --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponseStripeCardExpires.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The card's expiration date. + */ +export interface OrdersRefundResponseStripeCardExpires { + /** Year that the card expires */ + year?: number; + /** Month that the card expires */ + month?: number; +} diff --git a/src/api/resources/orders/types/OrdersRefundResponseStripeDetails.ts b/src/api/resources/orders/types/OrdersRefundResponseStripeDetails.ts new file mode 100644 index 00000000..ff69c62c --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponseStripeDetails.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * An object with various Stripe IDs, useful for linking into the stripe dashboard. + */ +export interface OrdersRefundResponseStripeDetails { + /** Stripe-generated identifier for the Subscription */ + subscriptionId?: string; + /** Stripe-generated identifier for the PaymentMethod used */ + paymentMethod?: string; + /** Stripe-generated identifier for the PaymentIntent, or null */ + paymentIntentId?: string; + /** Stripe-generated customer identifier, or null */ + customerId?: string; + /** Stripe-generated charge identifier, or null */ + chargeId?: string; + /** Stripe-generated dispute identifier, or null */ + disputeId?: string; + /** Stripe-generated refund identifier, or null */ + refundId?: string; + /** Stripe-generated refund reason, or null */ + refundReason?: string; +} diff --git a/src/api/resources/orders/types/OrdersRefundResponseTotals.ts b/src/api/resources/orders/types/OrdersRefundResponseTotals.ts new file mode 100644 index 00000000..28c86304 --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponseTotals.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * An object describing various pricing totals + */ +export interface OrdersRefundResponseTotals { + /** The subtotal price */ + subtotal?: Webflow.OrdersRefundResponseTotalsSubtotal; + /** An array of extra items, includes discounts, shipping, and taxes. */ + extras?: Webflow.OrdersRefundResponseTotalsExtrasItem[]; + /** The total price */ + total?: Webflow.OrdersRefundResponseTotalsTotal; +} diff --git a/src/api/resources/orders/types/OrdersRefundResponseTotalsExtrasItem.ts b/src/api/resources/orders/types/OrdersRefundResponseTotalsExtrasItem.ts new file mode 100644 index 00000000..24eb989a --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponseTotalsExtrasItem.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Extra order items, includes discounts, shipping, and taxes. + */ +export interface OrdersRefundResponseTotalsExtrasItem { + /** The type of extra item this is. */ + type?: Webflow.OrdersRefundResponseTotalsExtrasItemType; + /** A human-readable (but English) name for this extra charge. */ + name?: string; + /** A human-readable (but English) description of this extra charge. */ + description?: string; + /** The price for the item */ + price?: Webflow.OrdersRefundResponseTotalsExtrasItemPrice; +} diff --git a/src/api/resources/orders/types/OrdersRefundResponseTotalsExtrasItemPrice.ts b/src/api/resources/orders/types/OrdersRefundResponseTotalsExtrasItemPrice.ts new file mode 100644 index 00000000..34b105e8 --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponseTotalsExtrasItemPrice.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The price for the item + */ +export interface OrdersRefundResponseTotalsExtrasItemPrice { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersRefundResponseTotalsExtrasItemType.ts b/src/api/resources/orders/types/OrdersRefundResponseTotalsExtrasItemType.ts new file mode 100644 index 00000000..a42bedd6 --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponseTotalsExtrasItemType.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of extra item this is. + */ +export type OrdersRefundResponseTotalsExtrasItemType = "discount" | "discount-shipping" | "shipping" | "tax"; + +export const OrdersRefundResponseTotalsExtrasItemType = { + Discount: "discount", + DiscountShipping: "discount-shipping", + Shipping: "shipping", + Tax: "tax", +} as const; diff --git a/src/api/resources/orders/types/OrdersRefundResponseTotalsSubtotal.ts b/src/api/resources/orders/types/OrdersRefundResponseTotalsSubtotal.ts new file mode 100644 index 00000000..b4df215c --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponseTotalsSubtotal.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The subtotal price + */ +export interface OrdersRefundResponseTotalsSubtotal { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersRefundResponseTotalsTotal.ts b/src/api/resources/orders/types/OrdersRefundResponseTotalsTotal.ts new file mode 100644 index 00000000..2c1e6d31 --- /dev/null +++ b/src/api/resources/orders/types/OrdersRefundResponseTotalsTotal.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The total price + */ +export interface OrdersRefundResponseTotalsTotal { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponse.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponse.ts new file mode 100644 index 00000000..9a88f7b2 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponse.ts @@ -0,0 +1,75 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface OrdersUpdateFulfillResponse { + /** + * The order ID. Will usually be 6 hex characters, but can also be 9 + * hex characters if the site has a very large number of Orders. + * Randomly assigned. + */ + orderId?: string; + /** The status of the Order */ + status?: Webflow.OrdersUpdateFulfillResponseStatus; + /** A comment string for this Order, which is editable by API user (not used by Webflow). */ + comment?: string; + /** A comment that the customer left when making their Order */ + orderComment?: string; + /** The ISO8601 timestamp that an Order was placed. */ + acceptedOn?: Date; + /** When an Order is marked as 'fulfilled', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. */ + fulfilledOn?: Date; + /** When an Order is marked as 'refunded', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. */ + refundedOn?: Date; + /** When an Order is marked as 'disputed', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. */ + disputedOn?: Date; + /** If an Order has been disputed by the customer, this key will be set to the ISO8601 timestamp of the last update received. If the Order is not disputed, the key will be null. */ + disputeUpdatedOn?: Date; + /** If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status). */ + disputeLastStatus?: Webflow.OrdersUpdateFulfillResponseDisputeLastStatus; + /** The total paid by the customer */ + customerPaid?: Webflow.OrdersUpdateFulfillResponseCustomerPaid; + /** The net amount after application fees */ + netAmount?: Webflow.OrdersUpdateFulfillResponseNetAmount; + /** The application fee assessed by the platform */ + applicationFee?: Webflow.OrdersUpdateFulfillResponseApplicationFee; + /** All addresses provided by the customer during the ordering flow. */ + allAddresses?: Webflow.OrdersUpdateFulfillResponseAllAddressesItem[]; + /** The shipping address */ + shippingAddress?: Webflow.OrdersUpdateFulfillResponseShippingAddress; + /** The billing address */ + billingAddress?: Webflow.OrdersUpdateFulfillResponseBillingAddress; + /** A string editable by the API user to note the shipping provider used (not used by Webflow). */ + shippingProvider?: string; + /** A string editable by the API user to note the shipping tracking number for the order (not used by Webflow). */ + shippingTracking?: string; + shippingTrackingUrl?: string; + /** An object with the keys `fullName` and `email`. */ + customerInfo?: Webflow.OrdersUpdateFulfillResponseCustomerInfo; + /** An array of all things that the Customer purchased. */ + purchasedItems?: Webflow.OrdersUpdateFulfillResponsePurchasedItemsItem[]; + /** The sum of all 'count' fields in 'purchasedItems'. */ + purchasedItemsCount?: number; + /** An object with various Stripe IDs, useful for linking into the stripe dashboard. */ + stripeDetails?: Webflow.OrdersUpdateFulfillResponseStripeDetails; + /** Details on the card used to fulfill this order, if this order was finalized with Stripe. */ + stripeCard?: Webflow.OrdersUpdateFulfillResponseStripeCard; + paypalDetails?: Webflow.OrdersUpdateFulfillResponsePaypalDetails; + /** An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value. */ + customData?: Record[]; + metadata?: Webflow.OrdersUpdateFulfillResponseMetadata; + /** A boolean indicating whether the customer has been deleted from the site. */ + isCustomerDeleted?: boolean; + /** A boolean indicating whether the order contains one or more purchased items that require shipping. */ + isShippingRequired?: boolean; + /** A boolean indicating whether the order contains one or more purchased items that are downloadable. */ + hasDownloads?: boolean; + /** A string indicating the payment processor used for this order. */ + paymentProcessor?: string; + /** An object describing various pricing totals */ + totals?: Webflow.OrdersUpdateFulfillResponseTotals; + /** An array of downloadable file objects. */ + downloadFiles?: Webflow.OrdersUpdateFulfillResponseDownloadFilesItem[]; +} diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponseAllAddressesItem.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponseAllAddressesItem.ts new file mode 100644 index 00000000..93933efd --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponseAllAddressesItem.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * A customer address + */ +export interface OrdersUpdateFulfillResponseAllAddressesItem { + /** The type of the order address (billing or shipping) */ + type?: Webflow.OrdersUpdateFulfillResponseAllAddressesItemType; + /** Represents a Japan-only address format. This field will only appear on orders placed from Japan. */ + japanType?: Webflow.OrdersUpdateFulfillResponseAllAddressesItemJapanType; + /** Display name on the address */ + addressee?: string; + /** The first line of the address */ + line1?: string; + /** The second line of the address */ + line2?: string; + /** The city of the address. */ + city?: string; + /** The state or province of the address */ + state?: string; + /** The country of the address */ + country?: string; + /** The postal code of the address */ + postalCode?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponseAllAddressesItemJapanType.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponseAllAddressesItemJapanType.ts new file mode 100644 index 00000000..e111b1c1 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponseAllAddressesItemJapanType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Represents a Japan-only address format. This field will only appear on orders placed from Japan. + */ +export type OrdersUpdateFulfillResponseAllAddressesItemJapanType = "kana" | "kanji"; + +export const OrdersUpdateFulfillResponseAllAddressesItemJapanType = { + Kana: "kana", + Kanji: "kanji", +} as const; diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponseAllAddressesItemType.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponseAllAddressesItemType.ts new file mode 100644 index 00000000..03eaedb5 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponseAllAddressesItemType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of the order address (billing or shipping) + */ +export type OrdersUpdateFulfillResponseAllAddressesItemType = "shipping" | "billing"; + +export const OrdersUpdateFulfillResponseAllAddressesItemType = { + Shipping: "shipping", + Billing: "billing", +} as const; diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponseApplicationFee.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponseApplicationFee.ts new file mode 100644 index 00000000..26de6933 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponseApplicationFee.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The application fee assessed by the platform + */ +export interface OrdersUpdateFulfillResponseApplicationFee { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponseBillingAddress.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponseBillingAddress.ts new file mode 100644 index 00000000..76a4232c --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponseBillingAddress.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The billing address + */ +export interface OrdersUpdateFulfillResponseBillingAddress { + /** The type of the order address (billing or shipping) */ + type?: Webflow.OrdersUpdateFulfillResponseBillingAddressType; + /** Represents a Japan-only address format. This field will only appear on orders placed from Japan. */ + japanType?: Webflow.OrdersUpdateFulfillResponseBillingAddressJapanType; + /** Display name on the address */ + addressee?: string; + /** The first line of the address */ + line1?: string; + /** The second line of the address */ + line2?: string; + /** The city of the address. */ + city?: string; + /** The state or province of the address */ + state?: string; + /** The country of the address */ + country?: string; + /** The postal code of the address */ + postalCode?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponseBillingAddressJapanType.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponseBillingAddressJapanType.ts new file mode 100644 index 00000000..e7f9e7fb --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponseBillingAddressJapanType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Represents a Japan-only address format. This field will only appear on orders placed from Japan. + */ +export type OrdersUpdateFulfillResponseBillingAddressJapanType = "kana" | "kanji"; + +export const OrdersUpdateFulfillResponseBillingAddressJapanType = { + Kana: "kana", + Kanji: "kanji", +} as const; diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponseBillingAddressType.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponseBillingAddressType.ts new file mode 100644 index 00000000..302c4ff8 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponseBillingAddressType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of the order address (billing or shipping) + */ +export type OrdersUpdateFulfillResponseBillingAddressType = "shipping" | "billing"; + +export const OrdersUpdateFulfillResponseBillingAddressType = { + Shipping: "shipping", + Billing: "billing", +} as const; diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponseCustomerInfo.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponseCustomerInfo.ts new file mode 100644 index 00000000..5cee329c --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponseCustomerInfo.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * An object with the keys `fullName` and `email`. + */ +export interface OrdersUpdateFulfillResponseCustomerInfo { + /** The full name of the Customer */ + fullName?: string; + /** The Customer's email address */ + email?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponseCustomerPaid.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponseCustomerPaid.ts new file mode 100644 index 00000000..00b1f3a3 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponseCustomerPaid.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The total paid by the customer + */ +export interface OrdersUpdateFulfillResponseCustomerPaid { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponseDisputeLastStatus.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponseDisputeLastStatus.ts new file mode 100644 index 00000000..53d9f9aa --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponseDisputeLastStatus.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status). + */ +export type OrdersUpdateFulfillResponseDisputeLastStatus = + | "warning_needs_response" + | "warning_under_review" + | "warning_closed" + | "needs_response" + | "under_review" + | "charge_refunded" + | "won" + | "lost"; + +export const OrdersUpdateFulfillResponseDisputeLastStatus = { + WarningNeedsResponse: "warning_needs_response", + WarningUnderReview: "warning_under_review", + WarningClosed: "warning_closed", + NeedsResponse: "needs_response", + UnderReview: "under_review", + ChargeRefunded: "charge_refunded", + Won: "won", + Lost: "lost", +} as const; diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponseDownloadFilesItem.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponseDownloadFilesItem.ts new file mode 100644 index 00000000..f5e0c205 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponseDownloadFilesItem.ts @@ -0,0 +1,12 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface OrdersUpdateFulfillResponseDownloadFilesItem { + /** The unique identifier for the downloadable file */ + id?: string; + /** The user-facing name for the downloadable file */ + name?: string; + /** The hosted location for the downloadable file */ + url?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponseMetadata.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponseMetadata.ts new file mode 100644 index 00000000..8a262df0 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponseMetadata.ts @@ -0,0 +1,7 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface OrdersUpdateFulfillResponseMetadata { + isBuyNow?: boolean; +} diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponseNetAmount.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponseNetAmount.ts new file mode 100644 index 00000000..b08520ac --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponseNetAmount.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The net amount after application fees + */ +export interface OrdersUpdateFulfillResponseNetAmount { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponsePaypalDetails.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponsePaypalDetails.ts new file mode 100644 index 00000000..4ca5dd86 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponsePaypalDetails.ts @@ -0,0 +1,18 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface OrdersUpdateFulfillResponsePaypalDetails { + /** PayPal order identifier */ + orderId?: string; + /** PayPal payer identifier */ + payerId?: string; + /** PayPal capture identifier */ + captureId?: string; + /** PayPal refund identifier */ + refundId?: string; + /** PayPal-issued reason for the refund */ + refundReason?: string; + /** PayPal dispute identifier */ + disputeId?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItem.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItem.ts new file mode 100644 index 00000000..da0bad8a --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItem.ts @@ -0,0 +1,40 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * An Item that was purchased + */ +export interface OrdersUpdateFulfillResponsePurchasedItemsItem { + /** Number of Item purchased. */ + count?: number; + /** The total for the row */ + rowTotal?: Webflow.OrdersUpdateFulfillResponsePurchasedItemsItemRowTotal; + /** The unique identifier for the Product */ + productId?: string; + /** User-facing name of the Product */ + productName?: string; + /** Slug for the Product */ + productSlug?: string; + /** Identifier for the Product Variant (SKU) */ + variantId?: string; + /** User-facing name of the Product Variant (SKU) */ + variantName?: string; + /** Slug for the Product Variant (SKU) */ + variantSlug?: string; + /** The user-defined custom SKU of the Product Variant (SKU) */ + variantSku?: string; + variantImage?: Webflow.OrdersUpdateFulfillResponsePurchasedItemsItemVariantImage; + /** The price corresponding to the variant */ + variantPrice?: Webflow.OrdersUpdateFulfillResponsePurchasedItemsItemVariantPrice; + /** The physical weight of the variant if provided, or null */ + weight?: number; + /** The physical width of the variant if provided, or null */ + width?: number; + /** The physical height of the variant if provided, or null */ + height?: number; + /** The physical length of the variant if provided, or null */ + length?: number; +} diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItemRowTotal.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItemRowTotal.ts new file mode 100644 index 00000000..2a1a9807 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItemRowTotal.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The total for the row + */ +export interface OrdersUpdateFulfillResponsePurchasedItemsItemRowTotal { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItemVariantImage.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItemVariantImage.ts new file mode 100644 index 00000000..347dec80 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItemVariantImage.ts @@ -0,0 +1,11 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface OrdersUpdateFulfillResponsePurchasedItemsItemVariantImage { + /** The hosted location for the Variant's image */ + url?: string; + file?: Webflow.OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFile; +} diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFile.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFile.ts new file mode 100644 index 00000000..1abc3dd9 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFile.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFile { + /** The image size in bytes */ + size?: number; + /** the original name of the image */ + originalFileName?: string; + /** The creation timestamp of the image */ + createdOn?: Date; + /** The MIME type of the image */ + contentType?: string; + /** The image width in pixels */ + width?: number; + /** The image height in pixels */ + height?: number; + /** Variants of the supplied image */ + variants?: Webflow.OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFileVariantsItem[]; +} diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFileVariantsItem.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFileVariantsItem.ts new file mode 100644 index 00000000..52a7ae82 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFileVariantsItem.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFileVariantsItem { + /** The hosted location for the Variant's image */ + url?: string; + originalFileName?: string; + /** The image size in bytes */ + size?: number; + /** The image width in pixels */ + width?: number; + /** The image height in pixels */ + height?: number; +} diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItemVariantPrice.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItemVariantPrice.ts new file mode 100644 index 00000000..25b0795a --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItemVariantPrice.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The price corresponding to the variant + */ +export interface OrdersUpdateFulfillResponsePurchasedItemsItemVariantPrice { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponseShippingAddress.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponseShippingAddress.ts new file mode 100644 index 00000000..f8e48003 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponseShippingAddress.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The shipping address + */ +export interface OrdersUpdateFulfillResponseShippingAddress { + /** The type of the order address (billing or shipping) */ + type?: Webflow.OrdersUpdateFulfillResponseShippingAddressType; + /** Represents a Japan-only address format. This field will only appear on orders placed from Japan. */ + japanType?: Webflow.OrdersUpdateFulfillResponseShippingAddressJapanType; + /** Display name on the address */ + addressee?: string; + /** The first line of the address */ + line1?: string; + /** The second line of the address */ + line2?: string; + /** The city of the address. */ + city?: string; + /** The state or province of the address */ + state?: string; + /** The country of the address */ + country?: string; + /** The postal code of the address */ + postalCode?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponseShippingAddressJapanType.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponseShippingAddressJapanType.ts new file mode 100644 index 00000000..06631f42 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponseShippingAddressJapanType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Represents a Japan-only address format. This field will only appear on orders placed from Japan. + */ +export type OrdersUpdateFulfillResponseShippingAddressJapanType = "kana" | "kanji"; + +export const OrdersUpdateFulfillResponseShippingAddressJapanType = { + Kana: "kana", + Kanji: "kanji", +} as const; diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponseShippingAddressType.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponseShippingAddressType.ts new file mode 100644 index 00000000..54d4bc9a --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponseShippingAddressType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of the order address (billing or shipping) + */ +export type OrdersUpdateFulfillResponseShippingAddressType = "shipping" | "billing"; + +export const OrdersUpdateFulfillResponseShippingAddressType = { + Shipping: "shipping", + Billing: "billing", +} as const; diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponseStatus.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponseStatus.ts new file mode 100644 index 00000000..5073310c --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponseStatus.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The status of the Order + */ +export type OrdersUpdateFulfillResponseStatus = + | "pending" + | "unfulfilled" + | "fulfilled" + | "disputed" + | "dispute-lost" + | "refunded"; + +export const OrdersUpdateFulfillResponseStatus = { + Pending: "pending", + Unfulfilled: "unfulfilled", + Fulfilled: "fulfilled", + Disputed: "disputed", + DisputeLost: "dispute-lost", + Refunded: "refunded", +} as const; diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponseStripeCard.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponseStripeCard.ts new file mode 100644 index 00000000..b8c01cca --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponseStripeCard.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Details on the card used to fulfill this order, if this order was finalized with Stripe. + */ +export interface OrdersUpdateFulfillResponseStripeCard { + /** The last 4 digits on the card as a string */ + last4?: string; + /** The card's brand (ie. credit card network) */ + brand?: Webflow.OrdersUpdateFulfillResponseStripeCardBrand; + /** The name on the card. */ + ownerName?: string; + /** The card's expiration date. */ + expires?: Webflow.OrdersUpdateFulfillResponseStripeCardExpires; +} diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponseStripeCardBrand.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponseStripeCardBrand.ts new file mode 100644 index 00000000..b8408bdb --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponseStripeCardBrand.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The card's brand (ie. credit card network) + */ +export type OrdersUpdateFulfillResponseStripeCardBrand = + | "Visa" + | "American Express" + | "MasterCard" + | "Discover" + | "JCB" + | "Diners Club" + | "Unknown"; + +export const OrdersUpdateFulfillResponseStripeCardBrand = { + Visa: "Visa", + AmericanExpress: "American Express", + MasterCard: "MasterCard", + Discover: "Discover", + Jcb: "JCB", + DinersClub: "Diners Club", + Unknown: "Unknown", +} as const; diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponseStripeCardExpires.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponseStripeCardExpires.ts new file mode 100644 index 00000000..8f076760 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponseStripeCardExpires.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The card's expiration date. + */ +export interface OrdersUpdateFulfillResponseStripeCardExpires { + /** Year that the card expires */ + year?: number; + /** Month that the card expires */ + month?: number; +} diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponseStripeDetails.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponseStripeDetails.ts new file mode 100644 index 00000000..86553adb --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponseStripeDetails.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * An object with various Stripe IDs, useful for linking into the stripe dashboard. + */ +export interface OrdersUpdateFulfillResponseStripeDetails { + /** Stripe-generated identifier for the Subscription */ + subscriptionId?: string; + /** Stripe-generated identifier for the PaymentMethod used */ + paymentMethod?: string; + /** Stripe-generated identifier for the PaymentIntent, or null */ + paymentIntentId?: string; + /** Stripe-generated customer identifier, or null */ + customerId?: string; + /** Stripe-generated charge identifier, or null */ + chargeId?: string; + /** Stripe-generated dispute identifier, or null */ + disputeId?: string; + /** Stripe-generated refund identifier, or null */ + refundId?: string; + /** Stripe-generated refund reason, or null */ + refundReason?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponseTotals.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponseTotals.ts new file mode 100644 index 00000000..b051be0b --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponseTotals.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * An object describing various pricing totals + */ +export interface OrdersUpdateFulfillResponseTotals { + /** The subtotal price */ + subtotal?: Webflow.OrdersUpdateFulfillResponseTotalsSubtotal; + /** An array of extra items, includes discounts, shipping, and taxes. */ + extras?: Webflow.OrdersUpdateFulfillResponseTotalsExtrasItem[]; + /** The total price */ + total?: Webflow.OrdersUpdateFulfillResponseTotalsTotal; +} diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponseTotalsExtrasItem.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponseTotalsExtrasItem.ts new file mode 100644 index 00000000..06f45d8e --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponseTotalsExtrasItem.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Extra order items, includes discounts, shipping, and taxes. + */ +export interface OrdersUpdateFulfillResponseTotalsExtrasItem { + /** The type of extra item this is. */ + type?: Webflow.OrdersUpdateFulfillResponseTotalsExtrasItemType; + /** A human-readable (but English) name for this extra charge. */ + name?: string; + /** A human-readable (but English) description of this extra charge. */ + description?: string; + /** The price for the item */ + price?: Webflow.OrdersUpdateFulfillResponseTotalsExtrasItemPrice; +} diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponseTotalsExtrasItemPrice.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponseTotalsExtrasItemPrice.ts new file mode 100644 index 00000000..7d360f62 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponseTotalsExtrasItemPrice.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The price for the item + */ +export interface OrdersUpdateFulfillResponseTotalsExtrasItemPrice { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponseTotalsExtrasItemType.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponseTotalsExtrasItemType.ts new file mode 100644 index 00000000..7828e3d8 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponseTotalsExtrasItemType.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of extra item this is. + */ +export type OrdersUpdateFulfillResponseTotalsExtrasItemType = "discount" | "discount-shipping" | "shipping" | "tax"; + +export const OrdersUpdateFulfillResponseTotalsExtrasItemType = { + Discount: "discount", + DiscountShipping: "discount-shipping", + Shipping: "shipping", + Tax: "tax", +} as const; diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponseTotalsSubtotal.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponseTotalsSubtotal.ts new file mode 100644 index 00000000..01455a0f --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponseTotalsSubtotal.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The subtotal price + */ +export interface OrdersUpdateFulfillResponseTotalsSubtotal { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateFulfillResponseTotalsTotal.ts b/src/api/resources/orders/types/OrdersUpdateFulfillResponseTotalsTotal.ts new file mode 100644 index 00000000..a71b0b20 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateFulfillResponseTotalsTotal.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The total price + */ +export interface OrdersUpdateFulfillResponseTotalsTotal { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateResponse.ts b/src/api/resources/orders/types/OrdersUpdateResponse.ts new file mode 100644 index 00000000..700bf178 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponse.ts @@ -0,0 +1,75 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface OrdersUpdateResponse { + /** + * The order ID. Will usually be 6 hex characters, but can also be 9 + * hex characters if the site has a very large number of Orders. + * Randomly assigned. + */ + orderId?: string; + /** The status of the Order */ + status?: Webflow.OrdersUpdateResponseStatus; + /** A comment string for this Order, which is editable by API user (not used by Webflow). */ + comment?: string; + /** A comment that the customer left when making their Order */ + orderComment?: string; + /** The ISO8601 timestamp that an Order was placed. */ + acceptedOn?: Date; + /** When an Order is marked as 'fulfilled', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. */ + fulfilledOn?: Date; + /** When an Order is marked as 'refunded', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. */ + refundedOn?: Date; + /** When an Order is marked as 'disputed', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. */ + disputedOn?: Date; + /** If an Order has been disputed by the customer, this key will be set to the ISO8601 timestamp of the last update received. If the Order is not disputed, the key will be null. */ + disputeUpdatedOn?: Date; + /** If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status). */ + disputeLastStatus?: Webflow.OrdersUpdateResponseDisputeLastStatus; + /** The total paid by the customer */ + customerPaid?: Webflow.OrdersUpdateResponseCustomerPaid; + /** The net amount after application fees */ + netAmount?: Webflow.OrdersUpdateResponseNetAmount; + /** The application fee assessed by the platform */ + applicationFee?: Webflow.OrdersUpdateResponseApplicationFee; + /** All addresses provided by the customer during the ordering flow. */ + allAddresses?: Webflow.OrdersUpdateResponseAllAddressesItem[]; + /** The shipping address */ + shippingAddress?: Webflow.OrdersUpdateResponseShippingAddress; + /** The billing address */ + billingAddress?: Webflow.OrdersUpdateResponseBillingAddress; + /** A string editable by the API user to note the shipping provider used (not used by Webflow). */ + shippingProvider?: string; + /** A string editable by the API user to note the shipping tracking number for the order (not used by Webflow). */ + shippingTracking?: string; + shippingTrackingUrl?: string; + /** An object with the keys `fullName` and `email`. */ + customerInfo?: Webflow.OrdersUpdateResponseCustomerInfo; + /** An array of all things that the Customer purchased. */ + purchasedItems?: Webflow.OrdersUpdateResponsePurchasedItemsItem[]; + /** The sum of all 'count' fields in 'purchasedItems'. */ + purchasedItemsCount?: number; + /** An object with various Stripe IDs, useful for linking into the stripe dashboard. */ + stripeDetails?: Webflow.OrdersUpdateResponseStripeDetails; + /** Details on the card used to fulfill this order, if this order was finalized with Stripe. */ + stripeCard?: Webflow.OrdersUpdateResponseStripeCard; + paypalDetails?: Webflow.OrdersUpdateResponsePaypalDetails; + /** An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value. */ + customData?: Record[]; + metadata?: Webflow.OrdersUpdateResponseMetadata; + /** A boolean indicating whether the customer has been deleted from the site. */ + isCustomerDeleted?: boolean; + /** A boolean indicating whether the order contains one or more purchased items that require shipping. */ + isShippingRequired?: boolean; + /** A boolean indicating whether the order contains one or more purchased items that are downloadable. */ + hasDownloads?: boolean; + /** A string indicating the payment processor used for this order. */ + paymentProcessor?: string; + /** An object describing various pricing totals */ + totals?: Webflow.OrdersUpdateResponseTotals; + /** An array of downloadable file objects. */ + downloadFiles?: Webflow.OrdersUpdateResponseDownloadFilesItem[]; +} diff --git a/src/api/resources/orders/types/OrdersUpdateResponseAllAddressesItem.ts b/src/api/resources/orders/types/OrdersUpdateResponseAllAddressesItem.ts new file mode 100644 index 00000000..e6bb8119 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponseAllAddressesItem.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * A customer address + */ +export interface OrdersUpdateResponseAllAddressesItem { + /** The type of the order address (billing or shipping) */ + type?: Webflow.OrdersUpdateResponseAllAddressesItemType; + /** Represents a Japan-only address format. This field will only appear on orders placed from Japan. */ + japanType?: Webflow.OrdersUpdateResponseAllAddressesItemJapanType; + /** Display name on the address */ + addressee?: string; + /** The first line of the address */ + line1?: string; + /** The second line of the address */ + line2?: string; + /** The city of the address. */ + city?: string; + /** The state or province of the address */ + state?: string; + /** The country of the address */ + country?: string; + /** The postal code of the address */ + postalCode?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateResponseAllAddressesItemJapanType.ts b/src/api/resources/orders/types/OrdersUpdateResponseAllAddressesItemJapanType.ts new file mode 100644 index 00000000..5e34231e --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponseAllAddressesItemJapanType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Represents a Japan-only address format. This field will only appear on orders placed from Japan. + */ +export type OrdersUpdateResponseAllAddressesItemJapanType = "kana" | "kanji"; + +export const OrdersUpdateResponseAllAddressesItemJapanType = { + Kana: "kana", + Kanji: "kanji", +} as const; diff --git a/src/api/resources/orders/types/OrdersUpdateResponseAllAddressesItemType.ts b/src/api/resources/orders/types/OrdersUpdateResponseAllAddressesItemType.ts new file mode 100644 index 00000000..c3d0310c --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponseAllAddressesItemType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of the order address (billing or shipping) + */ +export type OrdersUpdateResponseAllAddressesItemType = "shipping" | "billing"; + +export const OrdersUpdateResponseAllAddressesItemType = { + Shipping: "shipping", + Billing: "billing", +} as const; diff --git a/src/api/resources/orders/types/OrdersUpdateResponseApplicationFee.ts b/src/api/resources/orders/types/OrdersUpdateResponseApplicationFee.ts new file mode 100644 index 00000000..908d0399 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponseApplicationFee.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The application fee assessed by the platform + */ +export interface OrdersUpdateResponseApplicationFee { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateResponseBillingAddress.ts b/src/api/resources/orders/types/OrdersUpdateResponseBillingAddress.ts new file mode 100644 index 00000000..1b88a86b --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponseBillingAddress.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The billing address + */ +export interface OrdersUpdateResponseBillingAddress { + /** The type of the order address (billing or shipping) */ + type?: Webflow.OrdersUpdateResponseBillingAddressType; + /** Represents a Japan-only address format. This field will only appear on orders placed from Japan. */ + japanType?: Webflow.OrdersUpdateResponseBillingAddressJapanType; + /** Display name on the address */ + addressee?: string; + /** The first line of the address */ + line1?: string; + /** The second line of the address */ + line2?: string; + /** The city of the address. */ + city?: string; + /** The state or province of the address */ + state?: string; + /** The country of the address */ + country?: string; + /** The postal code of the address */ + postalCode?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateResponseBillingAddressJapanType.ts b/src/api/resources/orders/types/OrdersUpdateResponseBillingAddressJapanType.ts new file mode 100644 index 00000000..8687f9c8 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponseBillingAddressJapanType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Represents a Japan-only address format. This field will only appear on orders placed from Japan. + */ +export type OrdersUpdateResponseBillingAddressJapanType = "kana" | "kanji"; + +export const OrdersUpdateResponseBillingAddressJapanType = { + Kana: "kana", + Kanji: "kanji", +} as const; diff --git a/src/api/resources/orders/types/OrdersUpdateResponseBillingAddressType.ts b/src/api/resources/orders/types/OrdersUpdateResponseBillingAddressType.ts new file mode 100644 index 00000000..cc584760 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponseBillingAddressType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of the order address (billing or shipping) + */ +export type OrdersUpdateResponseBillingAddressType = "shipping" | "billing"; + +export const OrdersUpdateResponseBillingAddressType = { + Shipping: "shipping", + Billing: "billing", +} as const; diff --git a/src/api/resources/orders/types/OrdersUpdateResponseCustomerInfo.ts b/src/api/resources/orders/types/OrdersUpdateResponseCustomerInfo.ts new file mode 100644 index 00000000..2c49c5a4 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponseCustomerInfo.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * An object with the keys `fullName` and `email`. + */ +export interface OrdersUpdateResponseCustomerInfo { + /** The full name of the Customer */ + fullName?: string; + /** The Customer's email address */ + email?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateResponseCustomerPaid.ts b/src/api/resources/orders/types/OrdersUpdateResponseCustomerPaid.ts new file mode 100644 index 00000000..7d23ed8c --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponseCustomerPaid.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The total paid by the customer + */ +export interface OrdersUpdateResponseCustomerPaid { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateResponseDisputeLastStatus.ts b/src/api/resources/orders/types/OrdersUpdateResponseDisputeLastStatus.ts new file mode 100644 index 00000000..9ccfdb96 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponseDisputeLastStatus.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status). + */ +export type OrdersUpdateResponseDisputeLastStatus = + | "warning_needs_response" + | "warning_under_review" + | "warning_closed" + | "needs_response" + | "under_review" + | "charge_refunded" + | "won" + | "lost"; + +export const OrdersUpdateResponseDisputeLastStatus = { + WarningNeedsResponse: "warning_needs_response", + WarningUnderReview: "warning_under_review", + WarningClosed: "warning_closed", + NeedsResponse: "needs_response", + UnderReview: "under_review", + ChargeRefunded: "charge_refunded", + Won: "won", + Lost: "lost", +} as const; diff --git a/src/api/resources/orders/types/OrdersUpdateResponseDownloadFilesItem.ts b/src/api/resources/orders/types/OrdersUpdateResponseDownloadFilesItem.ts new file mode 100644 index 00000000..37686208 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponseDownloadFilesItem.ts @@ -0,0 +1,12 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface OrdersUpdateResponseDownloadFilesItem { + /** The unique identifier for the downloadable file */ + id?: string; + /** The user-facing name for the downloadable file */ + name?: string; + /** The hosted location for the downloadable file */ + url?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateResponseMetadata.ts b/src/api/resources/orders/types/OrdersUpdateResponseMetadata.ts new file mode 100644 index 00000000..20a87c90 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponseMetadata.ts @@ -0,0 +1,7 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface OrdersUpdateResponseMetadata { + isBuyNow?: boolean; +} diff --git a/src/api/resources/orders/types/OrdersUpdateResponseNetAmount.ts b/src/api/resources/orders/types/OrdersUpdateResponseNetAmount.ts new file mode 100644 index 00000000..ce2aeca6 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponseNetAmount.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The net amount after application fees + */ +export interface OrdersUpdateResponseNetAmount { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateResponsePaypalDetails.ts b/src/api/resources/orders/types/OrdersUpdateResponsePaypalDetails.ts new file mode 100644 index 00000000..6ac4088a --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponsePaypalDetails.ts @@ -0,0 +1,18 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface OrdersUpdateResponsePaypalDetails { + /** PayPal order identifier */ + orderId?: string; + /** PayPal payer identifier */ + payerId?: string; + /** PayPal capture identifier */ + captureId?: string; + /** PayPal refund identifier */ + refundId?: string; + /** PayPal-issued reason for the refund */ + refundReason?: string; + /** PayPal dispute identifier */ + disputeId?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateResponsePurchasedItemsItem.ts b/src/api/resources/orders/types/OrdersUpdateResponsePurchasedItemsItem.ts new file mode 100644 index 00000000..1f592663 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponsePurchasedItemsItem.ts @@ -0,0 +1,40 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * An Item that was purchased + */ +export interface OrdersUpdateResponsePurchasedItemsItem { + /** Number of Item purchased. */ + count?: number; + /** The total for the row */ + rowTotal?: Webflow.OrdersUpdateResponsePurchasedItemsItemRowTotal; + /** The unique identifier for the Product */ + productId?: string; + /** User-facing name of the Product */ + productName?: string; + /** Slug for the Product */ + productSlug?: string; + /** Identifier for the Product Variant (SKU) */ + variantId?: string; + /** User-facing name of the Product Variant (SKU) */ + variantName?: string; + /** Slug for the Product Variant (SKU) */ + variantSlug?: string; + /** The user-defined custom SKU of the Product Variant (SKU) */ + variantSku?: string; + variantImage?: Webflow.OrdersUpdateResponsePurchasedItemsItemVariantImage; + /** The price corresponding to the variant */ + variantPrice?: Webflow.OrdersUpdateResponsePurchasedItemsItemVariantPrice; + /** The physical weight of the variant if provided, or null */ + weight?: number; + /** The physical width of the variant if provided, or null */ + width?: number; + /** The physical height of the variant if provided, or null */ + height?: number; + /** The physical length of the variant if provided, or null */ + length?: number; +} diff --git a/src/api/resources/orders/types/OrdersUpdateResponsePurchasedItemsItemRowTotal.ts b/src/api/resources/orders/types/OrdersUpdateResponsePurchasedItemsItemRowTotal.ts new file mode 100644 index 00000000..b78fa736 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponsePurchasedItemsItemRowTotal.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The total for the row + */ +export interface OrdersUpdateResponsePurchasedItemsItemRowTotal { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateResponsePurchasedItemsItemVariantImage.ts b/src/api/resources/orders/types/OrdersUpdateResponsePurchasedItemsItemVariantImage.ts new file mode 100644 index 00000000..86511413 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponsePurchasedItemsItemVariantImage.ts @@ -0,0 +1,11 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface OrdersUpdateResponsePurchasedItemsItemVariantImage { + /** The hosted location for the Variant's image */ + url?: string; + file?: Webflow.OrdersUpdateResponsePurchasedItemsItemVariantImageFile; +} diff --git a/src/api/resources/orders/types/OrdersUpdateResponsePurchasedItemsItemVariantImageFile.ts b/src/api/resources/orders/types/OrdersUpdateResponsePurchasedItemsItemVariantImageFile.ts new file mode 100644 index 00000000..bdb78252 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponsePurchasedItemsItemVariantImageFile.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface OrdersUpdateResponsePurchasedItemsItemVariantImageFile { + /** The image size in bytes */ + size?: number; + /** the original name of the image */ + originalFileName?: string; + /** The creation timestamp of the image */ + createdOn?: Date; + /** The MIME type of the image */ + contentType?: string; + /** The image width in pixels */ + width?: number; + /** The image height in pixels */ + height?: number; + /** Variants of the supplied image */ + variants?: Webflow.OrdersUpdateResponsePurchasedItemsItemVariantImageFileVariantsItem[]; +} diff --git a/src/api/resources/orders/types/OrdersUpdateResponsePurchasedItemsItemVariantImageFileVariantsItem.ts b/src/api/resources/orders/types/OrdersUpdateResponsePurchasedItemsItemVariantImageFileVariantsItem.ts new file mode 100644 index 00000000..f6fb0488 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponsePurchasedItemsItemVariantImageFileVariantsItem.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface OrdersUpdateResponsePurchasedItemsItemVariantImageFileVariantsItem { + /** The hosted location for the Variant's image */ + url?: string; + originalFileName?: string; + /** The image size in bytes */ + size?: number; + /** The image width in pixels */ + width?: number; + /** The image height in pixels */ + height?: number; +} diff --git a/src/api/resources/orders/types/OrdersUpdateResponsePurchasedItemsItemVariantPrice.ts b/src/api/resources/orders/types/OrdersUpdateResponsePurchasedItemsItemVariantPrice.ts new file mode 100644 index 00000000..1752519b --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponsePurchasedItemsItemVariantPrice.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The price corresponding to the variant + */ +export interface OrdersUpdateResponsePurchasedItemsItemVariantPrice { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateResponseShippingAddress.ts b/src/api/resources/orders/types/OrdersUpdateResponseShippingAddress.ts new file mode 100644 index 00000000..592072c8 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponseShippingAddress.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The shipping address + */ +export interface OrdersUpdateResponseShippingAddress { + /** The type of the order address (billing or shipping) */ + type?: Webflow.OrdersUpdateResponseShippingAddressType; + /** Represents a Japan-only address format. This field will only appear on orders placed from Japan. */ + japanType?: Webflow.OrdersUpdateResponseShippingAddressJapanType; + /** Display name on the address */ + addressee?: string; + /** The first line of the address */ + line1?: string; + /** The second line of the address */ + line2?: string; + /** The city of the address. */ + city?: string; + /** The state or province of the address */ + state?: string; + /** The country of the address */ + country?: string; + /** The postal code of the address */ + postalCode?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateResponseShippingAddressJapanType.ts b/src/api/resources/orders/types/OrdersUpdateResponseShippingAddressJapanType.ts new file mode 100644 index 00000000..0c46448e --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponseShippingAddressJapanType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Represents a Japan-only address format. This field will only appear on orders placed from Japan. + */ +export type OrdersUpdateResponseShippingAddressJapanType = "kana" | "kanji"; + +export const OrdersUpdateResponseShippingAddressJapanType = { + Kana: "kana", + Kanji: "kanji", +} as const; diff --git a/src/api/resources/orders/types/OrdersUpdateResponseShippingAddressType.ts b/src/api/resources/orders/types/OrdersUpdateResponseShippingAddressType.ts new file mode 100644 index 00000000..499ab0ce --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponseShippingAddressType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of the order address (billing or shipping) + */ +export type OrdersUpdateResponseShippingAddressType = "shipping" | "billing"; + +export const OrdersUpdateResponseShippingAddressType = { + Shipping: "shipping", + Billing: "billing", +} as const; diff --git a/src/api/resources/orders/types/OrdersUpdateResponseStatus.ts b/src/api/resources/orders/types/OrdersUpdateResponseStatus.ts new file mode 100644 index 00000000..169983f5 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponseStatus.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The status of the Order + */ +export type OrdersUpdateResponseStatus = + | "pending" + | "unfulfilled" + | "fulfilled" + | "disputed" + | "dispute-lost" + | "refunded"; + +export const OrdersUpdateResponseStatus = { + Pending: "pending", + Unfulfilled: "unfulfilled", + Fulfilled: "fulfilled", + Disputed: "disputed", + DisputeLost: "dispute-lost", + Refunded: "refunded", +} as const; diff --git a/src/api/resources/orders/types/OrdersUpdateResponseStripeCard.ts b/src/api/resources/orders/types/OrdersUpdateResponseStripeCard.ts new file mode 100644 index 00000000..05f7bf0a --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponseStripeCard.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Details on the card used to fulfill this order, if this order was finalized with Stripe. + */ +export interface OrdersUpdateResponseStripeCard { + /** The last 4 digits on the card as a string */ + last4?: string; + /** The card's brand (ie. credit card network) */ + brand?: Webflow.OrdersUpdateResponseStripeCardBrand; + /** The name on the card. */ + ownerName?: string; + /** The card's expiration date. */ + expires?: Webflow.OrdersUpdateResponseStripeCardExpires; +} diff --git a/src/api/resources/orders/types/OrdersUpdateResponseStripeCardBrand.ts b/src/api/resources/orders/types/OrdersUpdateResponseStripeCardBrand.ts new file mode 100644 index 00000000..ab523f91 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponseStripeCardBrand.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The card's brand (ie. credit card network) + */ +export type OrdersUpdateResponseStripeCardBrand = + | "Visa" + | "American Express" + | "MasterCard" + | "Discover" + | "JCB" + | "Diners Club" + | "Unknown"; + +export const OrdersUpdateResponseStripeCardBrand = { + Visa: "Visa", + AmericanExpress: "American Express", + MasterCard: "MasterCard", + Discover: "Discover", + Jcb: "JCB", + DinersClub: "Diners Club", + Unknown: "Unknown", +} as const; diff --git a/src/api/resources/orders/types/OrdersUpdateResponseStripeCardExpires.ts b/src/api/resources/orders/types/OrdersUpdateResponseStripeCardExpires.ts new file mode 100644 index 00000000..fb9e4609 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponseStripeCardExpires.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The card's expiration date. + */ +export interface OrdersUpdateResponseStripeCardExpires { + /** Year that the card expires */ + year?: number; + /** Month that the card expires */ + month?: number; +} diff --git a/src/api/resources/orders/types/OrdersUpdateResponseStripeDetails.ts b/src/api/resources/orders/types/OrdersUpdateResponseStripeDetails.ts new file mode 100644 index 00000000..75871321 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponseStripeDetails.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * An object with various Stripe IDs, useful for linking into the stripe dashboard. + */ +export interface OrdersUpdateResponseStripeDetails { + /** Stripe-generated identifier for the Subscription */ + subscriptionId?: string; + /** Stripe-generated identifier for the PaymentMethod used */ + paymentMethod?: string; + /** Stripe-generated identifier for the PaymentIntent, or null */ + paymentIntentId?: string; + /** Stripe-generated customer identifier, or null */ + customerId?: string; + /** Stripe-generated charge identifier, or null */ + chargeId?: string; + /** Stripe-generated dispute identifier, or null */ + disputeId?: string; + /** Stripe-generated refund identifier, or null */ + refundId?: string; + /** Stripe-generated refund reason, or null */ + refundReason?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateResponseTotals.ts b/src/api/resources/orders/types/OrdersUpdateResponseTotals.ts new file mode 100644 index 00000000..a03aa17c --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponseTotals.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * An object describing various pricing totals + */ +export interface OrdersUpdateResponseTotals { + /** The subtotal price */ + subtotal?: Webflow.OrdersUpdateResponseTotalsSubtotal; + /** An array of extra items, includes discounts, shipping, and taxes. */ + extras?: Webflow.OrdersUpdateResponseTotalsExtrasItem[]; + /** The total price */ + total?: Webflow.OrdersUpdateResponseTotalsTotal; +} diff --git a/src/api/resources/orders/types/OrdersUpdateResponseTotalsExtrasItem.ts b/src/api/resources/orders/types/OrdersUpdateResponseTotalsExtrasItem.ts new file mode 100644 index 00000000..9a46c125 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponseTotalsExtrasItem.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Extra order items, includes discounts, shipping, and taxes. + */ +export interface OrdersUpdateResponseTotalsExtrasItem { + /** The type of extra item this is. */ + type?: Webflow.OrdersUpdateResponseTotalsExtrasItemType; + /** A human-readable (but English) name for this extra charge. */ + name?: string; + /** A human-readable (but English) description of this extra charge. */ + description?: string; + /** The price for the item */ + price?: Webflow.OrdersUpdateResponseTotalsExtrasItemPrice; +} diff --git a/src/api/resources/orders/types/OrdersUpdateResponseTotalsExtrasItemPrice.ts b/src/api/resources/orders/types/OrdersUpdateResponseTotalsExtrasItemPrice.ts new file mode 100644 index 00000000..c68d53ac --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponseTotalsExtrasItemPrice.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The price for the item + */ +export interface OrdersUpdateResponseTotalsExtrasItemPrice { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateResponseTotalsExtrasItemType.ts b/src/api/resources/orders/types/OrdersUpdateResponseTotalsExtrasItemType.ts new file mode 100644 index 00000000..92200d1b --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponseTotalsExtrasItemType.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of extra item this is. + */ +export type OrdersUpdateResponseTotalsExtrasItemType = "discount" | "discount-shipping" | "shipping" | "tax"; + +export const OrdersUpdateResponseTotalsExtrasItemType = { + Discount: "discount", + DiscountShipping: "discount-shipping", + Shipping: "shipping", + Tax: "tax", +} as const; diff --git a/src/api/resources/orders/types/OrdersUpdateResponseTotalsSubtotal.ts b/src/api/resources/orders/types/OrdersUpdateResponseTotalsSubtotal.ts new file mode 100644 index 00000000..71c487b0 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponseTotalsSubtotal.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The subtotal price + */ +export interface OrdersUpdateResponseTotalsSubtotal { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateResponseTotalsTotal.ts b/src/api/resources/orders/types/OrdersUpdateResponseTotalsTotal.ts new file mode 100644 index 00000000..dd7be9dc --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateResponseTotalsTotal.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The total price + */ +export interface OrdersUpdateResponseTotalsTotal { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponse.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponse.ts new file mode 100644 index 00000000..4213c92f --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponse.ts @@ -0,0 +1,75 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface OrdersUpdateUnfulfillResponse { + /** + * The order ID. Will usually be 6 hex characters, but can also be 9 + * hex characters if the site has a very large number of Orders. + * Randomly assigned. + */ + orderId?: string; + /** The status of the Order */ + status?: Webflow.OrdersUpdateUnfulfillResponseStatus; + /** A comment string for this Order, which is editable by API user (not used by Webflow). */ + comment?: string; + /** A comment that the customer left when making their Order */ + orderComment?: string; + /** The ISO8601 timestamp that an Order was placed. */ + acceptedOn?: Date; + /** When an Order is marked as 'fulfilled', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. */ + fulfilledOn?: Date; + /** When an Order is marked as 'refunded', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. */ + refundedOn?: Date; + /** When an Order is marked as 'disputed', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. */ + disputedOn?: Date; + /** If an Order has been disputed by the customer, this key will be set to the ISO8601 timestamp of the last update received. If the Order is not disputed, the key will be null. */ + disputeUpdatedOn?: Date; + /** If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status). */ + disputeLastStatus?: Webflow.OrdersUpdateUnfulfillResponseDisputeLastStatus; + /** The total paid by the customer */ + customerPaid?: Webflow.OrdersUpdateUnfulfillResponseCustomerPaid; + /** The net amount after application fees */ + netAmount?: Webflow.OrdersUpdateUnfulfillResponseNetAmount; + /** The application fee assessed by the platform */ + applicationFee?: Webflow.OrdersUpdateUnfulfillResponseApplicationFee; + /** All addresses provided by the customer during the ordering flow. */ + allAddresses?: Webflow.OrdersUpdateUnfulfillResponseAllAddressesItem[]; + /** The shipping address */ + shippingAddress?: Webflow.OrdersUpdateUnfulfillResponseShippingAddress; + /** The billing address */ + billingAddress?: Webflow.OrdersUpdateUnfulfillResponseBillingAddress; + /** A string editable by the API user to note the shipping provider used (not used by Webflow). */ + shippingProvider?: string; + /** A string editable by the API user to note the shipping tracking number for the order (not used by Webflow). */ + shippingTracking?: string; + shippingTrackingUrl?: string; + /** An object with the keys `fullName` and `email`. */ + customerInfo?: Webflow.OrdersUpdateUnfulfillResponseCustomerInfo; + /** An array of all things that the Customer purchased. */ + purchasedItems?: Webflow.OrdersUpdateUnfulfillResponsePurchasedItemsItem[]; + /** The sum of all 'count' fields in 'purchasedItems'. */ + purchasedItemsCount?: number; + /** An object with various Stripe IDs, useful for linking into the stripe dashboard. */ + stripeDetails?: Webflow.OrdersUpdateUnfulfillResponseStripeDetails; + /** Details on the card used to fulfill this order, if this order was finalized with Stripe. */ + stripeCard?: Webflow.OrdersUpdateUnfulfillResponseStripeCard; + paypalDetails?: Webflow.OrdersUpdateUnfulfillResponsePaypalDetails; + /** An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value. */ + customData?: Record[]; + metadata?: Webflow.OrdersUpdateUnfulfillResponseMetadata; + /** A boolean indicating whether the customer has been deleted from the site. */ + isCustomerDeleted?: boolean; + /** A boolean indicating whether the order contains one or more purchased items that require shipping. */ + isShippingRequired?: boolean; + /** A boolean indicating whether the order contains one or more purchased items that are downloadable. */ + hasDownloads?: boolean; + /** A string indicating the payment processor used for this order. */ + paymentProcessor?: string; + /** An object describing various pricing totals */ + totals?: Webflow.OrdersUpdateUnfulfillResponseTotals; + /** An array of downloadable file objects. */ + downloadFiles?: Webflow.OrdersUpdateUnfulfillResponseDownloadFilesItem[]; +} diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseAllAddressesItem.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseAllAddressesItem.ts new file mode 100644 index 00000000..8e9f9e3d --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseAllAddressesItem.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * A customer address + */ +export interface OrdersUpdateUnfulfillResponseAllAddressesItem { + /** The type of the order address (billing or shipping) */ + type?: Webflow.OrdersUpdateUnfulfillResponseAllAddressesItemType; + /** Represents a Japan-only address format. This field will only appear on orders placed from Japan. */ + japanType?: Webflow.OrdersUpdateUnfulfillResponseAllAddressesItemJapanType; + /** Display name on the address */ + addressee?: string; + /** The first line of the address */ + line1?: string; + /** The second line of the address */ + line2?: string; + /** The city of the address. */ + city?: string; + /** The state or province of the address */ + state?: string; + /** The country of the address */ + country?: string; + /** The postal code of the address */ + postalCode?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseAllAddressesItemJapanType.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseAllAddressesItemJapanType.ts new file mode 100644 index 00000000..3955bc60 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseAllAddressesItemJapanType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Represents a Japan-only address format. This field will only appear on orders placed from Japan. + */ +export type OrdersUpdateUnfulfillResponseAllAddressesItemJapanType = "kana" | "kanji"; + +export const OrdersUpdateUnfulfillResponseAllAddressesItemJapanType = { + Kana: "kana", + Kanji: "kanji", +} as const; diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseAllAddressesItemType.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseAllAddressesItemType.ts new file mode 100644 index 00000000..243d1242 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseAllAddressesItemType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of the order address (billing or shipping) + */ +export type OrdersUpdateUnfulfillResponseAllAddressesItemType = "shipping" | "billing"; + +export const OrdersUpdateUnfulfillResponseAllAddressesItemType = { + Shipping: "shipping", + Billing: "billing", +} as const; diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseApplicationFee.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseApplicationFee.ts new file mode 100644 index 00000000..43f469e5 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseApplicationFee.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The application fee assessed by the platform + */ +export interface OrdersUpdateUnfulfillResponseApplicationFee { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseBillingAddress.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseBillingAddress.ts new file mode 100644 index 00000000..18dd41e2 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseBillingAddress.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The billing address + */ +export interface OrdersUpdateUnfulfillResponseBillingAddress { + /** The type of the order address (billing or shipping) */ + type?: Webflow.OrdersUpdateUnfulfillResponseBillingAddressType; + /** Represents a Japan-only address format. This field will only appear on orders placed from Japan. */ + japanType?: Webflow.OrdersUpdateUnfulfillResponseBillingAddressJapanType; + /** Display name on the address */ + addressee?: string; + /** The first line of the address */ + line1?: string; + /** The second line of the address */ + line2?: string; + /** The city of the address. */ + city?: string; + /** The state or province of the address */ + state?: string; + /** The country of the address */ + country?: string; + /** The postal code of the address */ + postalCode?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseBillingAddressJapanType.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseBillingAddressJapanType.ts new file mode 100644 index 00000000..12faa1c8 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseBillingAddressJapanType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Represents a Japan-only address format. This field will only appear on orders placed from Japan. + */ +export type OrdersUpdateUnfulfillResponseBillingAddressJapanType = "kana" | "kanji"; + +export const OrdersUpdateUnfulfillResponseBillingAddressJapanType = { + Kana: "kana", + Kanji: "kanji", +} as const; diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseBillingAddressType.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseBillingAddressType.ts new file mode 100644 index 00000000..ef125fc4 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseBillingAddressType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of the order address (billing or shipping) + */ +export type OrdersUpdateUnfulfillResponseBillingAddressType = "shipping" | "billing"; + +export const OrdersUpdateUnfulfillResponseBillingAddressType = { + Shipping: "shipping", + Billing: "billing", +} as const; diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseCustomerInfo.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseCustomerInfo.ts new file mode 100644 index 00000000..0a27acaf --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseCustomerInfo.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * An object with the keys `fullName` and `email`. + */ +export interface OrdersUpdateUnfulfillResponseCustomerInfo { + /** The full name of the Customer */ + fullName?: string; + /** The Customer's email address */ + email?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseCustomerPaid.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseCustomerPaid.ts new file mode 100644 index 00000000..e77a4fd7 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseCustomerPaid.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The total paid by the customer + */ +export interface OrdersUpdateUnfulfillResponseCustomerPaid { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseDisputeLastStatus.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseDisputeLastStatus.ts new file mode 100644 index 00000000..2d6ce855 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseDisputeLastStatus.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status). + */ +export type OrdersUpdateUnfulfillResponseDisputeLastStatus = + | "warning_needs_response" + | "warning_under_review" + | "warning_closed" + | "needs_response" + | "under_review" + | "charge_refunded" + | "won" + | "lost"; + +export const OrdersUpdateUnfulfillResponseDisputeLastStatus = { + WarningNeedsResponse: "warning_needs_response", + WarningUnderReview: "warning_under_review", + WarningClosed: "warning_closed", + NeedsResponse: "needs_response", + UnderReview: "under_review", + ChargeRefunded: "charge_refunded", + Won: "won", + Lost: "lost", +} as const; diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseDownloadFilesItem.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseDownloadFilesItem.ts new file mode 100644 index 00000000..82b0d687 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseDownloadFilesItem.ts @@ -0,0 +1,12 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface OrdersUpdateUnfulfillResponseDownloadFilesItem { + /** The unique identifier for the downloadable file */ + id?: string; + /** The user-facing name for the downloadable file */ + name?: string; + /** The hosted location for the downloadable file */ + url?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseMetadata.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseMetadata.ts new file mode 100644 index 00000000..755aa9f7 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseMetadata.ts @@ -0,0 +1,7 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface OrdersUpdateUnfulfillResponseMetadata { + isBuyNow?: boolean; +} diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseNetAmount.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseNetAmount.ts new file mode 100644 index 00000000..225875d3 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseNetAmount.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The net amount after application fees + */ +export interface OrdersUpdateUnfulfillResponseNetAmount { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponsePaypalDetails.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponsePaypalDetails.ts new file mode 100644 index 00000000..fc4b7e8c --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponsePaypalDetails.ts @@ -0,0 +1,18 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface OrdersUpdateUnfulfillResponsePaypalDetails { + /** PayPal order identifier */ + orderId?: string; + /** PayPal payer identifier */ + payerId?: string; + /** PayPal capture identifier */ + captureId?: string; + /** PayPal refund identifier */ + refundId?: string; + /** PayPal-issued reason for the refund */ + refundReason?: string; + /** PayPal dispute identifier */ + disputeId?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItem.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItem.ts new file mode 100644 index 00000000..58aa5838 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItem.ts @@ -0,0 +1,40 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * An Item that was purchased + */ +export interface OrdersUpdateUnfulfillResponsePurchasedItemsItem { + /** Number of Item purchased. */ + count?: number; + /** The total for the row */ + rowTotal?: Webflow.OrdersUpdateUnfulfillResponsePurchasedItemsItemRowTotal; + /** The unique identifier for the Product */ + productId?: string; + /** User-facing name of the Product */ + productName?: string; + /** Slug for the Product */ + productSlug?: string; + /** Identifier for the Product Variant (SKU) */ + variantId?: string; + /** User-facing name of the Product Variant (SKU) */ + variantName?: string; + /** Slug for the Product Variant (SKU) */ + variantSlug?: string; + /** The user-defined custom SKU of the Product Variant (SKU) */ + variantSku?: string; + variantImage?: Webflow.OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImage; + /** The price corresponding to the variant */ + variantPrice?: Webflow.OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantPrice; + /** The physical weight of the variant if provided, or null */ + weight?: number; + /** The physical width of the variant if provided, or null */ + width?: number; + /** The physical height of the variant if provided, or null */ + height?: number; + /** The physical length of the variant if provided, or null */ + length?: number; +} diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItemRowTotal.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItemRowTotal.ts new file mode 100644 index 00000000..fcdbb266 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItemRowTotal.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The total for the row + */ +export interface OrdersUpdateUnfulfillResponsePurchasedItemsItemRowTotal { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImage.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImage.ts new file mode 100644 index 00000000..cb36ef9a --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImage.ts @@ -0,0 +1,11 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImage { + /** The hosted location for the Variant's image */ + url?: string; + file?: Webflow.OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFile; +} diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFile.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFile.ts new file mode 100644 index 00000000..5d6292ef --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFile.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFile { + /** The image size in bytes */ + size?: number; + /** the original name of the image */ + originalFileName?: string; + /** The creation timestamp of the image */ + createdOn?: Date; + /** The MIME type of the image */ + contentType?: string; + /** The image width in pixels */ + width?: number; + /** The image height in pixels */ + height?: number; + /** Variants of the supplied image */ + variants?: Webflow.OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFileVariantsItem[]; +} diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFileVariantsItem.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFileVariantsItem.ts new file mode 100644 index 00000000..64076e26 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFileVariantsItem.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFileVariantsItem { + /** The hosted location for the Variant's image */ + url?: string; + originalFileName?: string; + /** The image size in bytes */ + size?: number; + /** The image width in pixels */ + width?: number; + /** The image height in pixels */ + height?: number; +} diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantPrice.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantPrice.ts new file mode 100644 index 00000000..9882bcae --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantPrice.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The price corresponding to the variant + */ +export interface OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantPrice { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseShippingAddress.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseShippingAddress.ts new file mode 100644 index 00000000..23152126 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseShippingAddress.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The shipping address + */ +export interface OrdersUpdateUnfulfillResponseShippingAddress { + /** The type of the order address (billing or shipping) */ + type?: Webflow.OrdersUpdateUnfulfillResponseShippingAddressType; + /** Represents a Japan-only address format. This field will only appear on orders placed from Japan. */ + japanType?: Webflow.OrdersUpdateUnfulfillResponseShippingAddressJapanType; + /** Display name on the address */ + addressee?: string; + /** The first line of the address */ + line1?: string; + /** The second line of the address */ + line2?: string; + /** The city of the address. */ + city?: string; + /** The state or province of the address */ + state?: string; + /** The country of the address */ + country?: string; + /** The postal code of the address */ + postalCode?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseShippingAddressJapanType.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseShippingAddressJapanType.ts new file mode 100644 index 00000000..8948086e --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseShippingAddressJapanType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Represents a Japan-only address format. This field will only appear on orders placed from Japan. + */ +export type OrdersUpdateUnfulfillResponseShippingAddressJapanType = "kana" | "kanji"; + +export const OrdersUpdateUnfulfillResponseShippingAddressJapanType = { + Kana: "kana", + Kanji: "kanji", +} as const; diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseShippingAddressType.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseShippingAddressType.ts new file mode 100644 index 00000000..514c8a5e --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseShippingAddressType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of the order address (billing or shipping) + */ +export type OrdersUpdateUnfulfillResponseShippingAddressType = "shipping" | "billing"; + +export const OrdersUpdateUnfulfillResponseShippingAddressType = { + Shipping: "shipping", + Billing: "billing", +} as const; diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseStatus.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseStatus.ts new file mode 100644 index 00000000..f73d5bb6 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseStatus.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The status of the Order + */ +export type OrdersUpdateUnfulfillResponseStatus = + | "pending" + | "unfulfilled" + | "fulfilled" + | "disputed" + | "dispute-lost" + | "refunded"; + +export const OrdersUpdateUnfulfillResponseStatus = { + Pending: "pending", + Unfulfilled: "unfulfilled", + Fulfilled: "fulfilled", + Disputed: "disputed", + DisputeLost: "dispute-lost", + Refunded: "refunded", +} as const; diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseStripeCard.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseStripeCard.ts new file mode 100644 index 00000000..8e52d1a7 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseStripeCard.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Details on the card used to fulfill this order, if this order was finalized with Stripe. + */ +export interface OrdersUpdateUnfulfillResponseStripeCard { + /** The last 4 digits on the card as a string */ + last4?: string; + /** The card's brand (ie. credit card network) */ + brand?: Webflow.OrdersUpdateUnfulfillResponseStripeCardBrand; + /** The name on the card. */ + ownerName?: string; + /** The card's expiration date. */ + expires?: Webflow.OrdersUpdateUnfulfillResponseStripeCardExpires; +} diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseStripeCardBrand.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseStripeCardBrand.ts new file mode 100644 index 00000000..ddc081bb --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseStripeCardBrand.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The card's brand (ie. credit card network) + */ +export type OrdersUpdateUnfulfillResponseStripeCardBrand = + | "Visa" + | "American Express" + | "MasterCard" + | "Discover" + | "JCB" + | "Diners Club" + | "Unknown"; + +export const OrdersUpdateUnfulfillResponseStripeCardBrand = { + Visa: "Visa", + AmericanExpress: "American Express", + MasterCard: "MasterCard", + Discover: "Discover", + Jcb: "JCB", + DinersClub: "Diners Club", + Unknown: "Unknown", +} as const; diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseStripeCardExpires.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseStripeCardExpires.ts new file mode 100644 index 00000000..e88332e1 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseStripeCardExpires.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The card's expiration date. + */ +export interface OrdersUpdateUnfulfillResponseStripeCardExpires { + /** Year that the card expires */ + year?: number; + /** Month that the card expires */ + month?: number; +} diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseStripeDetails.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseStripeDetails.ts new file mode 100644 index 00000000..8a79b691 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseStripeDetails.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * An object with various Stripe IDs, useful for linking into the stripe dashboard. + */ +export interface OrdersUpdateUnfulfillResponseStripeDetails { + /** Stripe-generated identifier for the Subscription */ + subscriptionId?: string; + /** Stripe-generated identifier for the PaymentMethod used */ + paymentMethod?: string; + /** Stripe-generated identifier for the PaymentIntent, or null */ + paymentIntentId?: string; + /** Stripe-generated customer identifier, or null */ + customerId?: string; + /** Stripe-generated charge identifier, or null */ + chargeId?: string; + /** Stripe-generated dispute identifier, or null */ + disputeId?: string; + /** Stripe-generated refund identifier, or null */ + refundId?: string; + /** Stripe-generated refund reason, or null */ + refundReason?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseTotals.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseTotals.ts new file mode 100644 index 00000000..0089920b --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseTotals.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * An object describing various pricing totals + */ +export interface OrdersUpdateUnfulfillResponseTotals { + /** The subtotal price */ + subtotal?: Webflow.OrdersUpdateUnfulfillResponseTotalsSubtotal; + /** An array of extra items, includes discounts, shipping, and taxes. */ + extras?: Webflow.OrdersUpdateUnfulfillResponseTotalsExtrasItem[]; + /** The total price */ + total?: Webflow.OrdersUpdateUnfulfillResponseTotalsTotal; +} diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseTotalsExtrasItem.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseTotalsExtrasItem.ts new file mode 100644 index 00000000..5e59db94 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseTotalsExtrasItem.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Extra order items, includes discounts, shipping, and taxes. + */ +export interface OrdersUpdateUnfulfillResponseTotalsExtrasItem { + /** The type of extra item this is. */ + type?: Webflow.OrdersUpdateUnfulfillResponseTotalsExtrasItemType; + /** A human-readable (but English) name for this extra charge. */ + name?: string; + /** A human-readable (but English) description of this extra charge. */ + description?: string; + /** The price for the item */ + price?: Webflow.OrdersUpdateUnfulfillResponseTotalsExtrasItemPrice; +} diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseTotalsExtrasItemPrice.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseTotalsExtrasItemPrice.ts new file mode 100644 index 00000000..2a3d6dc0 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseTotalsExtrasItemPrice.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The price for the item + */ +export interface OrdersUpdateUnfulfillResponseTotalsExtrasItemPrice { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseTotalsExtrasItemType.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseTotalsExtrasItemType.ts new file mode 100644 index 00000000..3efd2137 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseTotalsExtrasItemType.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of extra item this is. + */ +export type OrdersUpdateUnfulfillResponseTotalsExtrasItemType = "discount" | "discount-shipping" | "shipping" | "tax"; + +export const OrdersUpdateUnfulfillResponseTotalsExtrasItemType = { + Discount: "discount", + DiscountShipping: "discount-shipping", + Shipping: "shipping", + Tax: "tax", +} as const; diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseTotalsSubtotal.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseTotalsSubtotal.ts new file mode 100644 index 00000000..eb910056 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseTotalsSubtotal.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The subtotal price + */ +export interface OrdersUpdateUnfulfillResponseTotalsSubtotal { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseTotalsTotal.ts b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseTotalsTotal.ts new file mode 100644 index 00000000..4115d080 --- /dev/null +++ b/src/api/resources/orders/types/OrdersUpdateUnfulfillResponseTotalsTotal.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The total price + */ +export interface OrdersUpdateUnfulfillResponseTotalsTotal { + /** The three-letter ISO currency code */ + unit?: string; + /** The numeric value in the base unit of the currency */ + value?: string; + /** The user-facing string representation of the amount */ + string?: string; +} diff --git a/src/api/resources/orders/types/index.ts b/src/api/resources/orders/types/index.ts index 59a55534..beae8e61 100644 --- a/src/api/resources/orders/types/index.ts +++ b/src/api/resources/orders/types/index.ts @@ -1,2 +1,284 @@ export * from "./OrdersListRequestStatus"; +export * from "./OrdersListResponseOrdersItemStatus"; +export * from "./OrdersListResponseOrdersItemDisputeLastStatus"; +export * from "./OrdersListResponseOrdersItemCustomerPaid"; +export * from "./OrdersListResponseOrdersItemNetAmount"; +export * from "./OrdersListResponseOrdersItemApplicationFee"; +export * from "./OrdersListResponseOrdersItemAllAddressesItemType"; +export * from "./OrdersListResponseOrdersItemAllAddressesItemJapanType"; +export * from "./OrdersListResponseOrdersItemAllAddressesItem"; +export * from "./OrdersListResponseOrdersItemShippingAddressType"; +export * from "./OrdersListResponseOrdersItemShippingAddressJapanType"; +export * from "./OrdersListResponseOrdersItemShippingAddress"; +export * from "./OrdersListResponseOrdersItemBillingAddressType"; +export * from "./OrdersListResponseOrdersItemBillingAddressJapanType"; +export * from "./OrdersListResponseOrdersItemBillingAddress"; +export * from "./OrdersListResponseOrdersItemCustomerInfo"; +export * from "./OrdersListResponseOrdersItemPurchasedItemsItemRowTotal"; +export * from "./OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFileVariantsItem"; +export * from "./OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFile"; +export * from "./OrdersListResponseOrdersItemPurchasedItemsItemVariantImage"; +export * from "./OrdersListResponseOrdersItemPurchasedItemsItemVariantPrice"; +export * from "./OrdersListResponseOrdersItemPurchasedItemsItem"; +export * from "./OrdersListResponseOrdersItemStripeDetails"; +export * from "./OrdersListResponseOrdersItemStripeCardBrand"; +export * from "./OrdersListResponseOrdersItemStripeCardExpires"; +export * from "./OrdersListResponseOrdersItemStripeCard"; +export * from "./OrdersListResponseOrdersItemPaypalDetails"; +export * from "./OrdersListResponseOrdersItemMetadata"; +export * from "./OrdersListResponseOrdersItemTotalsSubtotal"; +export * from "./OrdersListResponseOrdersItemTotalsExtrasItemType"; +export * from "./OrdersListResponseOrdersItemTotalsExtrasItemPrice"; +export * from "./OrdersListResponseOrdersItemTotalsExtrasItem"; +export * from "./OrdersListResponseOrdersItemTotalsTotal"; +export * from "./OrdersListResponseOrdersItemTotals"; +export * from "./OrdersListResponseOrdersItemDownloadFilesItem"; +export * from "./OrdersListResponseOrdersItem"; +export * from "./OrdersListResponsePagination"; +export * from "./OrdersListResponse"; +export * from "./OrdersGetResponseStatus"; +export * from "./OrdersGetResponseDisputeLastStatus"; +export * from "./OrdersGetResponseCustomerPaid"; +export * from "./OrdersGetResponseNetAmount"; +export * from "./OrdersGetResponseApplicationFee"; +export * from "./OrdersGetResponseAllAddressesItemType"; +export * from "./OrdersGetResponseAllAddressesItemJapanType"; +export * from "./OrdersGetResponseAllAddressesItem"; +export * from "./OrdersGetResponseShippingAddressType"; +export * from "./OrdersGetResponseShippingAddressJapanType"; +export * from "./OrdersGetResponseShippingAddress"; +export * from "./OrdersGetResponseBillingAddressType"; +export * from "./OrdersGetResponseBillingAddressJapanType"; +export * from "./OrdersGetResponseBillingAddress"; +export * from "./OrdersGetResponseCustomerInfo"; +export * from "./OrdersGetResponsePurchasedItemsItemRowTotal"; +export * from "./OrdersGetResponsePurchasedItemsItemVariantImageFileVariantsItem"; +export * from "./OrdersGetResponsePurchasedItemsItemVariantImageFile"; +export * from "./OrdersGetResponsePurchasedItemsItemVariantImage"; +export * from "./OrdersGetResponsePurchasedItemsItemVariantPrice"; +export * from "./OrdersGetResponsePurchasedItemsItem"; +export * from "./OrdersGetResponseStripeDetails"; +export * from "./OrdersGetResponseStripeCardBrand"; +export * from "./OrdersGetResponseStripeCardExpires"; +export * from "./OrdersGetResponseStripeCard"; +export * from "./OrdersGetResponsePaypalDetails"; +export * from "./OrdersGetResponseMetadata"; +export * from "./OrdersGetResponseTotalsSubtotal"; +export * from "./OrdersGetResponseTotalsExtrasItemType"; +export * from "./OrdersGetResponseTotalsExtrasItemPrice"; +export * from "./OrdersGetResponseTotalsExtrasItem"; +export * from "./OrdersGetResponseTotalsTotal"; +export * from "./OrdersGetResponseTotals"; +export * from "./OrdersGetResponseDownloadFilesItem"; +export * from "./OrdersGetResponse"; +export * from "./OrdersUpdateResponseStatus"; +export * from "./OrdersUpdateResponseDisputeLastStatus"; +export * from "./OrdersUpdateResponseCustomerPaid"; +export * from "./OrdersUpdateResponseNetAmount"; +export * from "./OrdersUpdateResponseApplicationFee"; +export * from "./OrdersUpdateResponseAllAddressesItemType"; +export * from "./OrdersUpdateResponseAllAddressesItemJapanType"; +export * from "./OrdersUpdateResponseAllAddressesItem"; +export * from "./OrdersUpdateResponseShippingAddressType"; +export * from "./OrdersUpdateResponseShippingAddressJapanType"; +export * from "./OrdersUpdateResponseShippingAddress"; +export * from "./OrdersUpdateResponseBillingAddressType"; +export * from "./OrdersUpdateResponseBillingAddressJapanType"; +export * from "./OrdersUpdateResponseBillingAddress"; +export * from "./OrdersUpdateResponseCustomerInfo"; +export * from "./OrdersUpdateResponsePurchasedItemsItemRowTotal"; +export * from "./OrdersUpdateResponsePurchasedItemsItemVariantImageFileVariantsItem"; +export * from "./OrdersUpdateResponsePurchasedItemsItemVariantImageFile"; +export * from "./OrdersUpdateResponsePurchasedItemsItemVariantImage"; +export * from "./OrdersUpdateResponsePurchasedItemsItemVariantPrice"; +export * from "./OrdersUpdateResponsePurchasedItemsItem"; +export * from "./OrdersUpdateResponseStripeDetails"; +export * from "./OrdersUpdateResponseStripeCardBrand"; +export * from "./OrdersUpdateResponseStripeCardExpires"; +export * from "./OrdersUpdateResponseStripeCard"; +export * from "./OrdersUpdateResponsePaypalDetails"; +export * from "./OrdersUpdateResponseMetadata"; +export * from "./OrdersUpdateResponseTotalsSubtotal"; +export * from "./OrdersUpdateResponseTotalsExtrasItemType"; +export * from "./OrdersUpdateResponseTotalsExtrasItemPrice"; +export * from "./OrdersUpdateResponseTotalsExtrasItem"; +export * from "./OrdersUpdateResponseTotalsTotal"; +export * from "./OrdersUpdateResponseTotals"; +export * from "./OrdersUpdateResponseDownloadFilesItem"; +export * from "./OrdersUpdateResponse"; +export * from "./OrdersUpdateFulfillResponseStatus"; +export * from "./OrdersUpdateFulfillResponseDisputeLastStatus"; +export * from "./OrdersUpdateFulfillResponseCustomerPaid"; +export * from "./OrdersUpdateFulfillResponseNetAmount"; +export * from "./OrdersUpdateFulfillResponseApplicationFee"; +export * from "./OrdersUpdateFulfillResponseAllAddressesItemType"; +export * from "./OrdersUpdateFulfillResponseAllAddressesItemJapanType"; +export * from "./OrdersUpdateFulfillResponseAllAddressesItem"; +export * from "./OrdersUpdateFulfillResponseShippingAddressType"; +export * from "./OrdersUpdateFulfillResponseShippingAddressJapanType"; +export * from "./OrdersUpdateFulfillResponseShippingAddress"; +export * from "./OrdersUpdateFulfillResponseBillingAddressType"; +export * from "./OrdersUpdateFulfillResponseBillingAddressJapanType"; +export * from "./OrdersUpdateFulfillResponseBillingAddress"; +export * from "./OrdersUpdateFulfillResponseCustomerInfo"; +export * from "./OrdersUpdateFulfillResponsePurchasedItemsItemRowTotal"; +export * from "./OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFileVariantsItem"; +export * from "./OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFile"; +export * from "./OrdersUpdateFulfillResponsePurchasedItemsItemVariantImage"; +export * from "./OrdersUpdateFulfillResponsePurchasedItemsItemVariantPrice"; +export * from "./OrdersUpdateFulfillResponsePurchasedItemsItem"; +export * from "./OrdersUpdateFulfillResponseStripeDetails"; +export * from "./OrdersUpdateFulfillResponseStripeCardBrand"; +export * from "./OrdersUpdateFulfillResponseStripeCardExpires"; +export * from "./OrdersUpdateFulfillResponseStripeCard"; +export * from "./OrdersUpdateFulfillResponsePaypalDetails"; +export * from "./OrdersUpdateFulfillResponseMetadata"; +export * from "./OrdersUpdateFulfillResponseTotalsSubtotal"; +export * from "./OrdersUpdateFulfillResponseTotalsExtrasItemType"; +export * from "./OrdersUpdateFulfillResponseTotalsExtrasItemPrice"; +export * from "./OrdersUpdateFulfillResponseTotalsExtrasItem"; +export * from "./OrdersUpdateFulfillResponseTotalsTotal"; +export * from "./OrdersUpdateFulfillResponseTotals"; +export * from "./OrdersUpdateFulfillResponseDownloadFilesItem"; +export * from "./OrdersUpdateFulfillResponse"; +export * from "./OrdersUpdateUnfulfillResponseStatus"; +export * from "./OrdersUpdateUnfulfillResponseDisputeLastStatus"; +export * from "./OrdersUpdateUnfulfillResponseCustomerPaid"; +export * from "./OrdersUpdateUnfulfillResponseNetAmount"; +export * from "./OrdersUpdateUnfulfillResponseApplicationFee"; +export * from "./OrdersUpdateUnfulfillResponseAllAddressesItemType"; +export * from "./OrdersUpdateUnfulfillResponseAllAddressesItemJapanType"; +export * from "./OrdersUpdateUnfulfillResponseAllAddressesItem"; +export * from "./OrdersUpdateUnfulfillResponseShippingAddressType"; +export * from "./OrdersUpdateUnfulfillResponseShippingAddressJapanType"; +export * from "./OrdersUpdateUnfulfillResponseShippingAddress"; +export * from "./OrdersUpdateUnfulfillResponseBillingAddressType"; +export * from "./OrdersUpdateUnfulfillResponseBillingAddressJapanType"; +export * from "./OrdersUpdateUnfulfillResponseBillingAddress"; +export * from "./OrdersUpdateUnfulfillResponseCustomerInfo"; +export * from "./OrdersUpdateUnfulfillResponsePurchasedItemsItemRowTotal"; +export * from "./OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFileVariantsItem"; +export * from "./OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFile"; +export * from "./OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImage"; +export * from "./OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantPrice"; +export * from "./OrdersUpdateUnfulfillResponsePurchasedItemsItem"; +export * from "./OrdersUpdateUnfulfillResponseStripeDetails"; +export * from "./OrdersUpdateUnfulfillResponseStripeCardBrand"; +export * from "./OrdersUpdateUnfulfillResponseStripeCardExpires"; +export * from "./OrdersUpdateUnfulfillResponseStripeCard"; +export * from "./OrdersUpdateUnfulfillResponsePaypalDetails"; +export * from "./OrdersUpdateUnfulfillResponseMetadata"; +export * from "./OrdersUpdateUnfulfillResponseTotalsSubtotal"; +export * from "./OrdersUpdateUnfulfillResponseTotalsExtrasItemType"; +export * from "./OrdersUpdateUnfulfillResponseTotalsExtrasItemPrice"; +export * from "./OrdersUpdateUnfulfillResponseTotalsExtrasItem"; +export * from "./OrdersUpdateUnfulfillResponseTotalsTotal"; +export * from "./OrdersUpdateUnfulfillResponseTotals"; +export * from "./OrdersUpdateUnfulfillResponseDownloadFilesItem"; +export * from "./OrdersUpdateUnfulfillResponse"; export * from "./OrdersRefundRequestReason"; +export * from "./OrdersRefundResponseStatus"; +export * from "./OrdersRefundResponseDisputeLastStatus"; +export * from "./OrdersRefundResponseCustomerPaid"; +export * from "./OrdersRefundResponseNetAmount"; +export * from "./OrdersRefundResponseApplicationFee"; +export * from "./OrdersRefundResponseAllAddressesItemType"; +export * from "./OrdersRefundResponseAllAddressesItemJapanType"; +export * from "./OrdersRefundResponseAllAddressesItem"; +export * from "./OrdersRefundResponseShippingAddressType"; +export * from "./OrdersRefundResponseShippingAddressJapanType"; +export * from "./OrdersRefundResponseShippingAddress"; +export * from "./OrdersRefundResponseBillingAddressType"; +export * from "./OrdersRefundResponseBillingAddressJapanType"; +export * from "./OrdersRefundResponseBillingAddress"; +export * from "./OrdersRefundResponseCustomerInfo"; +export * from "./OrdersRefundResponsePurchasedItemsItemRowTotal"; +export * from "./OrdersRefundResponsePurchasedItemsItemVariantImageFileVariantsItem"; +export * from "./OrdersRefundResponsePurchasedItemsItemVariantImageFile"; +export * from "./OrdersRefundResponsePurchasedItemsItemVariantImage"; +export * from "./OrdersRefundResponsePurchasedItemsItemVariantPrice"; +export * from "./OrdersRefundResponsePurchasedItemsItem"; +export * from "./OrdersRefundResponseStripeDetails"; +export * from "./OrdersRefundResponseStripeCardBrand"; +export * from "./OrdersRefundResponseStripeCardExpires"; +export * from "./OrdersRefundResponseStripeCard"; +export * from "./OrdersRefundResponsePaypalDetails"; +export * from "./OrdersRefundResponseMetadata"; +export * from "./OrdersRefundResponseTotalsSubtotal"; +export * from "./OrdersRefundResponseTotalsExtrasItemType"; +export * from "./OrdersRefundResponseTotalsExtrasItemPrice"; +export * from "./OrdersRefundResponseTotalsExtrasItem"; +export * from "./OrdersRefundResponseTotalsTotal"; +export * from "./OrdersRefundResponseTotals"; +export * from "./OrdersRefundResponseDownloadFilesItem"; +export * from "./OrdersRefundResponse"; +export * from "./EcommNewOrderPayloadStatus"; +export * from "./EcommNewOrderPayloadDisputeLastStatus"; +export * from "./EcommNewOrderPayloadCustomerPaid"; +export * from "./EcommNewOrderPayloadNetAmount"; +export * from "./EcommNewOrderPayloadApplicationFee"; +export * from "./EcommNewOrderPayloadAllAddressesItemType"; +export * from "./EcommNewOrderPayloadAllAddressesItemJapanType"; +export * from "./EcommNewOrderPayloadAllAddressesItem"; +export * from "./EcommNewOrderPayloadShippingAddressType"; +export * from "./EcommNewOrderPayloadShippingAddressJapanType"; +export * from "./EcommNewOrderPayloadShippingAddress"; +export * from "./EcommNewOrderPayloadBillingAddressType"; +export * from "./EcommNewOrderPayloadBillingAddressJapanType"; +export * from "./EcommNewOrderPayloadBillingAddress"; +export * from "./EcommNewOrderPayloadCustomerInfo"; +export * from "./EcommNewOrderPayloadPurchasedItemsItemRowTotal"; +export * from "./EcommNewOrderPayloadPurchasedItemsItemVariantImageFileVariantsItem"; +export * from "./EcommNewOrderPayloadPurchasedItemsItemVariantImageFile"; +export * from "./EcommNewOrderPayloadPurchasedItemsItemVariantImage"; +export * from "./EcommNewOrderPayloadPurchasedItemsItemVariantPrice"; +export * from "./EcommNewOrderPayloadPurchasedItemsItem"; +export * from "./EcommNewOrderPayloadStripeDetails"; +export * from "./EcommNewOrderPayloadStripeCardBrand"; +export * from "./EcommNewOrderPayloadStripeCardExpires"; +export * from "./EcommNewOrderPayloadStripeCard"; +export * from "./EcommNewOrderPayloadPaypalDetails"; +export * from "./EcommNewOrderPayloadMetadata"; +export * from "./EcommNewOrderPayloadTotalsSubtotal"; +export * from "./EcommNewOrderPayloadTotalsExtrasItemType"; +export * from "./EcommNewOrderPayloadTotalsExtrasItemPrice"; +export * from "./EcommNewOrderPayloadTotalsExtrasItem"; +export * from "./EcommNewOrderPayloadTotalsTotal"; +export * from "./EcommNewOrderPayloadTotals"; +export * from "./EcommNewOrderPayloadDownloadFilesItem"; +export * from "./EcommNewOrderPayload"; +export * from "./EcommOrderChangedPayloadStatus"; +export * from "./EcommOrderChangedPayloadDisputeLastStatus"; +export * from "./EcommOrderChangedPayloadCustomerPaid"; +export * from "./EcommOrderChangedPayloadNetAmount"; +export * from "./EcommOrderChangedPayloadApplicationFee"; +export * from "./EcommOrderChangedPayloadAllAddressesItemType"; +export * from "./EcommOrderChangedPayloadAllAddressesItemJapanType"; +export * from "./EcommOrderChangedPayloadAllAddressesItem"; +export * from "./EcommOrderChangedPayloadShippingAddressType"; +export * from "./EcommOrderChangedPayloadShippingAddressJapanType"; +export * from "./EcommOrderChangedPayloadShippingAddress"; +export * from "./EcommOrderChangedPayloadBillingAddressType"; +export * from "./EcommOrderChangedPayloadBillingAddressJapanType"; +export * from "./EcommOrderChangedPayloadBillingAddress"; +export * from "./EcommOrderChangedPayloadCustomerInfo"; +export * from "./EcommOrderChangedPayloadPurchasedItemsItemRowTotal"; +export * from "./EcommOrderChangedPayloadPurchasedItemsItemVariantImageFileVariantsItem"; +export * from "./EcommOrderChangedPayloadPurchasedItemsItemVariantImageFile"; +export * from "./EcommOrderChangedPayloadPurchasedItemsItemVariantImage"; +export * from "./EcommOrderChangedPayloadPurchasedItemsItemVariantPrice"; +export * from "./EcommOrderChangedPayloadPurchasedItemsItem"; +export * from "./EcommOrderChangedPayloadStripeDetails"; +export * from "./EcommOrderChangedPayloadStripeCardBrand"; +export * from "./EcommOrderChangedPayloadStripeCardExpires"; +export * from "./EcommOrderChangedPayloadStripeCard"; +export * from "./EcommOrderChangedPayloadPaypalDetails"; +export * from "./EcommOrderChangedPayloadMetadata"; +export * from "./EcommOrderChangedPayloadTotalsSubtotal"; +export * from "./EcommOrderChangedPayloadTotalsExtrasItemType"; +export * from "./EcommOrderChangedPayloadTotalsExtrasItemPrice"; +export * from "./EcommOrderChangedPayloadTotalsExtrasItem"; +export * from "./EcommOrderChangedPayloadTotalsTotal"; +export * from "./EcommOrderChangedPayloadTotals"; +export * from "./EcommOrderChangedPayloadDownloadFilesItem"; +export * from "./EcommOrderChangedPayload"; diff --git a/src/api/resources/pages/client/Client.ts b/src/api/resources/pages/client/Client.ts index d85f1b5d..27e77e33 100644 --- a/src/api/resources/pages/client/Client.ts +++ b/src/api/resources/pages/client/Client.ts @@ -30,7 +30,9 @@ export class Pages { constructor(protected readonly _options: Pages.Options) {} /** - * List of all pages for a site

Required scope | `pages:read` + * List of all pages for a site. + * + * Required scope | `pages:read` * * @param {string} siteId - Unique identifier for a Site * @param {Webflow.PagesListRequest} request @@ -44,18 +46,18 @@ export class Pages { * * @example * await client.pages.list("580e63e98c9a982ac9b8b741", { - * locale: "65427cf400e02b306eaa04a0" + * localeId: "65427cf400e02b306eaa04a0" * }) */ public async list( siteId: string, request: Webflow.PagesListRequest = {}, requestOptions?: Pages.RequestOptions - ): Promise { - const { locale, limit, offset } = request; + ): Promise { + const { localeId, limit, offset } = request; const _queryParams: Record = {}; - if (locale != null) { - _queryParams["locale"] = locale; + if (localeId != null) { + _queryParams["localeId"] = localeId; } if (limit != null) { @@ -76,8 +78,8 @@ export class Pages { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -89,7 +91,7 @@ export class Pages { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.PageList.parseOrThrow(_response.body, { + return serializers.PagesListResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -107,15 +109,7 @@ export class Pages { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -142,7 +136,9 @@ export class Pages { } /** - * Get metadata information for a single page

Required scope | `pages:read` + * Get metadata information for a single page. + * + * Required scope | `pages:read` * * @param {string} pageId - Unique identifier for a Page * @param {Webflow.PagesGetMetadataRequest} request @@ -156,18 +152,18 @@ export class Pages { * * @example * await client.pages.getMetadata("63c720f9347c2139b248e552", { - * locale: "65427cf400e02b306eaa04a0" + * localeId: "65427cf400e02b306eaa04a0" * }) */ public async getMetadata( pageId: string, request: Webflow.PagesGetMetadataRequest = {}, requestOptions?: Pages.RequestOptions - ): Promise { - const { locale } = request; + ): Promise { + const { localeId } = request; const _queryParams: Record = {}; - if (locale != null) { - _queryParams["locale"] = locale; + if (localeId != null) { + _queryParams["localeId"] = localeId; } const _response = await core.fetcher({ @@ -180,8 +176,8 @@ export class Pages { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -193,7 +189,7 @@ export class Pages { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.Page.parseOrThrow(_response.body, { + return serializers.PagesGetMetadataResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -211,15 +207,7 @@ export class Pages { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -246,7 +234,9 @@ export class Pages { } /** - * Update Page-level metadata, including SEO and Open Graph fields.

Required scope | `pages:write` + * Update Page-level metadata, including SEO and Open Graph fields. + * + * Required scope | `pages:write` * * @param {string} pageId - Unique identifier for a Page * @param {Webflow.UpdatePageSettingsRequest} request @@ -260,43 +250,28 @@ export class Pages { * * @example * await client.pages.updatePageSettings("63c720f9347c2139b248e552", { - * locale: "65427cf400e02b306eaa04a0", - * body: { - * id: "6596da6045e56dee495bcbba", - * siteId: "6258612d1ee792848f805dcf", - * title: "Guide to the Galaxy", - * slug: "guide-to-the-galaxy", - * parentId: "6419db964a9c435aa3af6251", - * collectionId: "6390c49774a71f12831a08e3", - * createdOn: "2024-03-11T10:42:00Z", - * lastUpdated: "2024-03-11T10:42:42Z", - * archived: false, - * draft: false, - * canBranch: true, - * seo: { - * title: "The Ultimate Hitchhiker's Guide to the Galaxy", - * description: "Everything you need to know about the galaxy, from avoiding Vogon poetry to the importance of towels." - * }, - * openGraph: { - * title: "Explore the Cosmos with The Ultimate Guide", - * titleCopied: false, - * description: "Dive deep into the mysteries of the universe with your guide to everything galactic.", - * descriptionCopied: false - * }, - * localeId: "653fd9af6a07fc9cfd7a5e57", - * publishedPath: "/en-us/guide-to-the-galaxy" + * localeId: "65427cf400e02b306eaa04a0", + * title: "Guide to the Galaxy", + * slug: "guide-to-the-galaxy", + * seo: { + * title: "The Ultimate Hitchhiker's Guide to the Galaxy", + * description: "Everything you need to know about the galaxy, from avoiding Vogon poetry to the importance of towels." + * }, + * openGraph: { + * title: "Explore the Cosmos with The Ultimate Guide", + * description: "Dive deep into the mysteries of the universe with your guide to everything galactic." * } * }) */ public async updatePageSettings( pageId: string, - request: Webflow.UpdatePageSettingsRequest, + request: Webflow.UpdatePageSettingsRequest = {}, requestOptions?: Pages.RequestOptions - ): Promise { - const { locale, body: _body } = request; + ): Promise { + const { localeId, ..._body } = request; const _queryParams: Record = {}; - if (locale != null) { - _queryParams["locale"] = locale; + if (localeId != null) { + _queryParams["localeId"] = localeId; } const _response = await core.fetcher({ @@ -309,21 +284,21 @@ export class Pages { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", queryParameters: _queryParams, requestType: "json", - body: serializers.Page.jsonOrThrow(_body, { unrecognizedObjectKeys: "strip" }), + body: serializers.UpdatePageSettingsRequest.jsonOrThrow(_body, { unrecognizedObjectKeys: "strip" }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.Page.parseOrThrow(_response.body, { + return serializers.UpdatePageSettingsResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -341,15 +316,7 @@ export class Pages { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -376,7 +343,11 @@ export class Pages { } /** - * Get static content from a static page.
If you do not provide a Locale ID in your request, the response will return any content that can be localized from the Primary locale

Required scope | `pages:read` + * Get static content from a static page. + * + * If you do not provide a Locale ID in your request, the response will return any content that can be localized from the Primary locale. + * + * Required scope | `pages:read` * * @param {string} pageId - Unique identifier for a Page * @param {Webflow.PagesGetContentRequest} request @@ -391,18 +362,18 @@ export class Pages { * * @example * await client.pages.getContent("63c720f9347c2139b248e552", { - * locale: "65427cf400e02b306eaa04a0" + * localeId: "65427cf400e02b306eaa04a0" * }) */ public async getContent( pageId: string, request: Webflow.PagesGetContentRequest = {}, requestOptions?: Pages.RequestOptions - ): Promise { - const { locale, limit, offset } = request; + ): Promise { + const { localeId, limit, offset } = request; const _queryParams: Record = {}; - if (locale != null) { - _queryParams["locale"] = locale; + if (localeId != null) { + _queryParams["localeId"] = localeId; } if (limit != null) { @@ -423,8 +394,8 @@ export class Pages { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -436,7 +407,7 @@ export class Pages { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.Dom.parseOrThrow(_response.body, { + return serializers.PagesGetContentResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -456,15 +427,7 @@ export class Pages { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -498,7 +461,7 @@ export class Pages { * Required scope | `pages:write` * * @param {string} pageId - Unique identifier for a Page - * @param {Webflow.DomWrite} request + * @param {Webflow.UpdateStaticContentRequest} request * @param {Pages.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Webflow.BadRequestError} @@ -510,27 +473,30 @@ export class Pages { * * @example * await client.pages.updateStaticContent("63c720f9347c2139b248e552", { - * locale: "locale", + * localeId: "65427cf400e02b306eaa04a0", * nodes: [{ * nodeId: "a245c12d-995b-55ee-5ec7-aa36a6cad623", - * text: "

The Hitchhiker's Guide to the Galaxy

" + * text: "

The Hitchhiker\u2019s Guide to the Galaxy

" * }, { * nodeId: "a245c12d-995b-55ee-5ec7-aa36a6cad627", - * text: "

Don't Panic!

Always know where your towel is.

" + * text: "

Don\u2019t Panic!

Always know where your towel is.

" * }, { * nodeId: "a245c12d-995b-55ee-5ec7-aa36a6cad629", - * text: "Marvin, the Paranoid Android" + * text: "\"Marvin," * }] * }) */ public async updateStaticContent( pageId: string, - request: Webflow.DomWrite, + request: Webflow.UpdateStaticContentRequest, requestOptions?: Pages.RequestOptions ): Promise { - const { locale, ..._body } = request; + const { localeId, ..._body } = request; const _queryParams: Record = {}; - _queryParams["locale"] = locale; + if (localeId != null) { + _queryParams["localeId"] = localeId; + } + const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -541,15 +507,15 @@ export class Pages { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", queryParameters: _queryParams, requestType: "json", - body: serializers.DomWrite.jsonOrThrow(_body, { unrecognizedObjectKeys: "strip" }), + body: serializers.UpdateStaticContentRequest.jsonOrThrow(_body, { unrecognizedObjectKeys: "strip" }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -575,15 +541,7 @@ export class Pages { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: diff --git a/src/api/resources/pages/client/requests/DomWrite.ts b/src/api/resources/pages/client/requests/DomWrite.ts deleted file mode 100644 index ce43919e..00000000 --- a/src/api/resources/pages/client/requests/DomWrite.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../../../../index"; - -/** - * @example - * { - * locale: "locale", - * nodes: [{ - * nodeId: "a245c12d-995b-55ee-5ec7-aa36a6cad623", - * text: "

The Hitchhiker's Guide to the Galaxy

" - * }, { - * nodeId: "a245c12d-995b-55ee-5ec7-aa36a6cad627", - * text: "

Don't Panic!

Always know where your towel is.

" - * }, { - * nodeId: "a245c12d-995b-55ee-5ec7-aa36a6cad629", - * text: "Marvin, the Paranoid Android" - * }] - * } - */ -export interface DomWrite { - /** - * The locale identifier. - */ - locale: string; - nodes: Webflow.DomWriteNodesItem[]; -} diff --git a/src/api/resources/pages/client/requests/PagesGetContentRequest.ts b/src/api/resources/pages/client/requests/PagesGetContentRequest.ts index 971e471c..498d1f87 100644 --- a/src/api/resources/pages/client/requests/PagesGetContentRequest.ts +++ b/src/api/resources/pages/client/requests/PagesGetContentRequest.ts @@ -5,14 +5,14 @@ /** * @example * { - * locale: "65427cf400e02b306eaa04a0" + * localeId: "65427cf400e02b306eaa04a0" * } */ export interface PagesGetContentRequest { /** * Unique identifier for a specific locale. Applicable, when using localization. */ - locale?: string; + localeId?: string; /** * Maximum number of records to be returned (max limit: 100) */ diff --git a/src/api/resources/pages/client/requests/PagesGetMetadataRequest.ts b/src/api/resources/pages/client/requests/PagesGetMetadataRequest.ts index d4a4e72d..6afc0c77 100644 --- a/src/api/resources/pages/client/requests/PagesGetMetadataRequest.ts +++ b/src/api/resources/pages/client/requests/PagesGetMetadataRequest.ts @@ -5,12 +5,12 @@ /** * @example * { - * locale: "65427cf400e02b306eaa04a0" + * localeId: "65427cf400e02b306eaa04a0" * } */ export interface PagesGetMetadataRequest { /** * Unique identifier for a specific locale. Applicable, when using localization. */ - locale?: string; + localeId?: string; } diff --git a/src/api/resources/pages/client/requests/PagesListRequest.ts b/src/api/resources/pages/client/requests/PagesListRequest.ts index b7ba9cf4..5ba1736d 100644 --- a/src/api/resources/pages/client/requests/PagesListRequest.ts +++ b/src/api/resources/pages/client/requests/PagesListRequest.ts @@ -5,14 +5,14 @@ /** * @example * { - * locale: "65427cf400e02b306eaa04a0" + * localeId: "65427cf400e02b306eaa04a0" * } */ export interface PagesListRequest { /** * Unique identifier for a specific locale. Applicable, when using localization. */ - locale?: string; + localeId?: string; /** * Maximum number of records to be returned (max limit: 100) */ diff --git a/src/api/resources/pages/client/requests/UpdatePageSettingsRequest.ts b/src/api/resources/pages/client/requests/UpdatePageSettingsRequest.ts index d66afa13..3794fba0 100644 --- a/src/api/resources/pages/client/requests/UpdatePageSettingsRequest.ts +++ b/src/api/resources/pages/client/requests/UpdatePageSettingsRequest.ts @@ -7,31 +7,16 @@ import * as Webflow from "../../../../index"; /** * @example * { - * locale: "65427cf400e02b306eaa04a0", - * body: { - * id: "6596da6045e56dee495bcbba", - * siteId: "6258612d1ee792848f805dcf", - * title: "Guide to the Galaxy", - * slug: "guide-to-the-galaxy", - * parentId: "6419db964a9c435aa3af6251", - * collectionId: "6390c49774a71f12831a08e3", - * createdOn: "2024-03-11T10:42:00Z", - * lastUpdated: "2024-03-11T10:42:42Z", - * archived: false, - * draft: false, - * canBranch: true, - * seo: { - * title: "The Ultimate Hitchhiker's Guide to the Galaxy", - * description: "Everything you need to know about the galaxy, from avoiding Vogon poetry to the importance of towels." - * }, - * openGraph: { - * title: "Explore the Cosmos with The Ultimate Guide", - * titleCopied: false, - * description: "Dive deep into the mysteries of the universe with your guide to everything galactic.", - * descriptionCopied: false - * }, - * localeId: "653fd9af6a07fc9cfd7a5e57", - * publishedPath: "/en-us/guide-to-the-galaxy" + * localeId: "65427cf400e02b306eaa04a0", + * title: "Guide to the Galaxy", + * slug: "guide-to-the-galaxy", + * seo: { + * title: "The Ultimate Hitchhiker's Guide to the Galaxy", + * description: "Everything you need to know about the galaxy, from avoiding Vogon poetry to the importance of towels." + * }, + * openGraph: { + * title: "Explore the Cosmos with The Ultimate Guide", + * description: "Dive deep into the mysteries of the universe with your guide to everything galactic." * } * } */ @@ -39,6 +24,13 @@ export interface UpdatePageSettingsRequest { /** * Unique identifier for a specific locale. Applicable, when using localization. */ - locale?: string; - body: Webflow.Page; + localeId?: string; + /** Title of the Page */ + title?: string; + /** slug of the Page (derived from title) */ + slug?: string; + /** SEO-related fields for the Page */ + seo?: Webflow.UpdatePageSettingsRequestSeo; + /** Open Graph fields for the Page */ + openGraph?: Webflow.UpdatePageSettingsRequestOpenGraph; } diff --git a/src/api/resources/pages/client/requests/UpdateStaticContentRequest.ts b/src/api/resources/pages/client/requests/UpdateStaticContentRequest.ts new file mode 100644 index 00000000..176c661f --- /dev/null +++ b/src/api/resources/pages/client/requests/UpdateStaticContentRequest.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../index"; + +/** + * @example + * { + * localeId: "65427cf400e02b306eaa04a0", + * nodes: [{ + * nodeId: "a245c12d-995b-55ee-5ec7-aa36a6cad623", + * text: "

The Hitchhiker\u2019s Guide to the Galaxy

" + * }, { + * nodeId: "a245c12d-995b-55ee-5ec7-aa36a6cad627", + * text: "

Don\u2019t Panic!

Always know where your towel is.

" + * }, { + * nodeId: "a245c12d-995b-55ee-5ec7-aa36a6cad629", + * text: "\"Marvin," + * }] + * } + */ +export interface UpdateStaticContentRequest { + /** + * Unique identifier for a specific locale. Applicable, when using localization. + */ + localeId?: string; + nodes: Webflow.UpdateStaticContentRequestNodesItem[]; +} diff --git a/src/api/resources/pages/client/requests/index.ts b/src/api/resources/pages/client/requests/index.ts index f979def7..2131fb06 100644 --- a/src/api/resources/pages/client/requests/index.ts +++ b/src/api/resources/pages/client/requests/index.ts @@ -2,4 +2,4 @@ export { type PagesListRequest } from "./PagesListRequest"; export { type PagesGetMetadataRequest } from "./PagesGetMetadataRequest"; export { type UpdatePageSettingsRequest } from "./UpdatePageSettingsRequest"; export { type PagesGetContentRequest } from "./PagesGetContentRequest"; -export { type DomWrite } from "./DomWrite"; +export { type UpdateStaticContentRequest } from "./UpdateStaticContentRequest"; diff --git a/src/api/resources/pages/index.ts b/src/api/resources/pages/index.ts index 848e75ab..a931b363 100644 --- a/src/api/resources/pages/index.ts +++ b/src/api/resources/pages/index.ts @@ -1,3 +1,3 @@ export * from "./types"; -export * from "./client"; export * from "./resources"; +export * from "./client"; diff --git a/src/api/resources/pages/resources/index.ts b/src/api/resources/pages/resources/index.ts index a09a64ce..2f8c8dc2 100644 --- a/src/api/resources/pages/resources/index.ts +++ b/src/api/resources/pages/resources/index.ts @@ -1 +1,3 @@ export * as scripts from "./scripts"; +export * from "./scripts/types"; +export * from "./scripts/client/requests"; diff --git a/src/api/resources/pages/resources/scripts/client/Client.ts b/src/api/resources/pages/resources/scripts/client/Client.ts index 83a099e0..d6b61820 100644 --- a/src/api/resources/pages/resources/scripts/client/Client.ts +++ b/src/api/resources/pages/resources/scripts/client/Client.ts @@ -29,7 +29,15 @@ export class Scripts { constructor(protected readonly _options: Scripts.Options) {} /** - * Get all registered scripts that have been applied to a specific Page.

In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate `custom_code` endpoints.
Access to this endpoint requires a bearer token from a Data Client App.
Required scope | `custom_code:read` + * Get all registered scripts that have been applied to a specific Page. + * + * In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered + * to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate + * `custom_code` endpoints. + * + *
Access to this endpoint requires a bearer token from a Data Client App.
+ * + * Required scope | `custom_code:read` * * @param {string} pageId - Unique identifier for a Page * @param {Scripts.RequestOptions} requestOptions - Request-specific configuration. @@ -46,7 +54,7 @@ export class Scripts { public async getCustomCode( pageId: string, requestOptions?: Scripts.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -57,8 +65,8 @@ export class Scripts { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -69,7 +77,7 @@ export class Scripts { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.ScriptApplyList.parseOrThrow(_response.body, { + return serializers.pages.ScriptsGetCustomCodeResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -87,15 +95,7 @@ export class Scripts { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -122,10 +122,18 @@ export class Scripts { } /** - * Add a registered script to a Page.

In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate `custom_code` endpoints.
Access to this endpoint requires a bearer token from a Data Client App.
Required scope | `custom_code:write` + * Add a registered script to a Page. + * + * In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered + * to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate + * `custom_code` endpoints. + * + *
Access to this endpoint requires a bearer token from a Data Client App.
+ * + * Required scope | `custom_code:write` * * @param {string} pageId - Unique identifier for a Page - * @param {Webflow.ScriptApplyList} request + * @param {Webflow.pages.ScriptsUpsertCustomCodeRequest} request * @param {Scripts.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Webflow.BadRequestError} @@ -152,9 +160,9 @@ export class Scripts { */ public async upsertCustomCode( pageId: string, - request: Webflow.ScriptApplyList, + request: Webflow.pages.ScriptsUpsertCustomCodeRequest = {}, requestOptions?: Scripts.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -165,20 +173,22 @@ export class Scripts { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", requestType: "json", - body: serializers.ScriptApplyList.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), + body: serializers.pages.ScriptsUpsertCustomCodeRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.ScriptApplyList.parseOrThrow(_response.body, { + return serializers.pages.ScriptsUpsertCustomCodeResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -196,15 +206,7 @@ export class Scripts { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -231,7 +233,15 @@ export class Scripts { } /** - * Delete the custom code block that an app has created for a page

In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate `custom_code` endpoints.
Access to this endpoint requires a bearer token from a Data Client App.
Required scope | `custom_code:write` + * Delete the custom code block that an app has created for a page + * + * In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered + * to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate + * `custom_code` endpoints. + * + *
Access to this endpoint requires a bearer token from a Data Client App.
+ * + * Required scope | `custom_code:write` * * @param {string} pageId - Unique identifier for a Page * @param {Scripts.RequestOptions} requestOptions - Request-specific configuration. @@ -256,8 +266,8 @@ export class Scripts { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -280,15 +290,7 @@ export class Scripts { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: diff --git a/src/api/resources/pages/resources/scripts/client/index.ts b/src/api/resources/pages/resources/scripts/client/index.ts index cb0ff5c3..415726b7 100644 --- a/src/api/resources/pages/resources/scripts/client/index.ts +++ b/src/api/resources/pages/resources/scripts/client/index.ts @@ -1 +1 @@ -export {}; +export * from "./requests"; diff --git a/src/api/resources/pages/resources/scripts/client/requests/ScriptsUpsertCustomCodeRequest.ts b/src/api/resources/pages/resources/scripts/client/requests/ScriptsUpsertCustomCodeRequest.ts new file mode 100644 index 00000000..ad7b3415 --- /dev/null +++ b/src/api/resources/pages/resources/scripts/client/requests/ScriptsUpsertCustomCodeRequest.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../../index"; + +/** + * @example + * { + * scripts: [{ + * id: "cms_slider", + * location: "header", + * version: "1.0.0", + * attributes: { + * "my-attribute": "some-value" + * } + * }, { + * id: "alert", + * location: "header", + * version: "0.0.1" + * }] + * } + */ +export interface ScriptsUpsertCustomCodeRequest { + /** A list of scripts applied to a Site or a Page */ + scripts?: Webflow.pages.ScriptsUpsertCustomCodeRequestScriptsItem[]; +} diff --git a/src/api/resources/pages/resources/scripts/client/requests/index.ts b/src/api/resources/pages/resources/scripts/client/requests/index.ts new file mode 100644 index 00000000..2f07ee2c --- /dev/null +++ b/src/api/resources/pages/resources/scripts/client/requests/index.ts @@ -0,0 +1 @@ +export { type ScriptsUpsertCustomCodeRequest } from "./ScriptsUpsertCustomCodeRequest"; diff --git a/src/api/resources/pages/resources/scripts/index.ts b/src/api/resources/pages/resources/scripts/index.ts index 5ec76921..c9240f83 100644 --- a/src/api/resources/pages/resources/scripts/index.ts +++ b/src/api/resources/pages/resources/scripts/index.ts @@ -1 +1,2 @@ +export * from "./types"; export * from "./client"; diff --git a/src/api/resources/pages/resources/scripts/types/ScriptsGetCustomCodeResponse.ts b/src/api/resources/pages/resources/scripts/types/ScriptsGetCustomCodeResponse.ts new file mode 100644 index 00000000..76a20003 --- /dev/null +++ b/src/api/resources/pages/resources/scripts/types/ScriptsGetCustomCodeResponse.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +export interface ScriptsGetCustomCodeResponse { + /** A list of scripts applied to a Site or a Page */ + scripts?: Webflow.pages.ScriptsGetCustomCodeResponseScriptsItem[]; + /** Date when the Site's scripts were last updated */ + lastUpdated?: string; + /** Date when the Site's scripts were created */ + createdOn?: string; +} diff --git a/src/api/resources/pages/resources/scripts/types/ScriptsGetCustomCodeResponseScriptsItem.ts b/src/api/resources/pages/resources/scripts/types/ScriptsGetCustomCodeResponseScriptsItem.ts new file mode 100644 index 00000000..c8952e57 --- /dev/null +++ b/src/api/resources/pages/resources/scripts/types/ScriptsGetCustomCodeResponseScriptsItem.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +export interface ScriptsGetCustomCodeResponseScriptsItem { + /** ID of the registered custom code script */ + id: string; + /** Location of the script, either in the header or footer of the published site */ + location: Webflow.pages.ScriptsGetCustomCodeResponseScriptsItemLocation; + /** Semantic Version String for the registered script _e.g. 0.0.1_ */ + version: string; + /** Developer-specified key/value pairs to be applied as attributes to the script */ + attributes?: Record; +} diff --git a/src/api/resources/pages/resources/scripts/types/ScriptsGetCustomCodeResponseScriptsItemLocation.ts b/src/api/resources/pages/resources/scripts/types/ScriptsGetCustomCodeResponseScriptsItemLocation.ts new file mode 100644 index 00000000..564e6caa --- /dev/null +++ b/src/api/resources/pages/resources/scripts/types/ScriptsGetCustomCodeResponseScriptsItemLocation.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Location of the script, either in the header or footer of the published site + */ +export type ScriptsGetCustomCodeResponseScriptsItemLocation = "header" | "footer"; + +export const ScriptsGetCustomCodeResponseScriptsItemLocation = { + Header: "header", + Footer: "footer", +} as const; diff --git a/src/api/resources/pages/resources/scripts/types/ScriptsUpsertCustomCodeRequestScriptsItem.ts b/src/api/resources/pages/resources/scripts/types/ScriptsUpsertCustomCodeRequestScriptsItem.ts new file mode 100644 index 00000000..65aa8caa --- /dev/null +++ b/src/api/resources/pages/resources/scripts/types/ScriptsUpsertCustomCodeRequestScriptsItem.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +export interface ScriptsUpsertCustomCodeRequestScriptsItem { + /** ID of the registered custom code script */ + id: string; + /** Location of the script, either in the header or footer of the published site */ + location: Webflow.pages.ScriptsUpsertCustomCodeRequestScriptsItemLocation; + /** Semantic Version String for the registered script _e.g. 0.0.1_ */ + version: string; + /** Developer-specified key/value pairs to be applied as attributes to the script */ + attributes?: Record; +} diff --git a/src/api/resources/pages/resources/scripts/types/ScriptsUpsertCustomCodeRequestScriptsItemLocation.ts b/src/api/resources/pages/resources/scripts/types/ScriptsUpsertCustomCodeRequestScriptsItemLocation.ts new file mode 100644 index 00000000..b087b603 --- /dev/null +++ b/src/api/resources/pages/resources/scripts/types/ScriptsUpsertCustomCodeRequestScriptsItemLocation.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Location of the script, either in the header or footer of the published site + */ +export type ScriptsUpsertCustomCodeRequestScriptsItemLocation = "header" | "footer"; + +export const ScriptsUpsertCustomCodeRequestScriptsItemLocation = { + Header: "header", + Footer: "footer", +} as const; diff --git a/src/api/resources/pages/resources/scripts/types/ScriptsUpsertCustomCodeResponse.ts b/src/api/resources/pages/resources/scripts/types/ScriptsUpsertCustomCodeResponse.ts new file mode 100644 index 00000000..67a3502b --- /dev/null +++ b/src/api/resources/pages/resources/scripts/types/ScriptsUpsertCustomCodeResponse.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +export interface ScriptsUpsertCustomCodeResponse { + /** A list of scripts applied to a Site or a Page */ + scripts?: Webflow.pages.ScriptsUpsertCustomCodeResponseScriptsItem[]; + /** Date when the Site's scripts were last updated */ + lastUpdated?: string; + /** Date when the Site's scripts were created */ + createdOn?: string; +} diff --git a/src/api/resources/pages/resources/scripts/types/ScriptsUpsertCustomCodeResponseScriptsItem.ts b/src/api/resources/pages/resources/scripts/types/ScriptsUpsertCustomCodeResponseScriptsItem.ts new file mode 100644 index 00000000..77adf6e4 --- /dev/null +++ b/src/api/resources/pages/resources/scripts/types/ScriptsUpsertCustomCodeResponseScriptsItem.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +export interface ScriptsUpsertCustomCodeResponseScriptsItem { + /** ID of the registered custom code script */ + id: string; + /** Location of the script, either in the header or footer of the published site */ + location: Webflow.pages.ScriptsUpsertCustomCodeResponseScriptsItemLocation; + /** Semantic Version String for the registered script _e.g. 0.0.1_ */ + version: string; + /** Developer-specified key/value pairs to be applied as attributes to the script */ + attributes?: Record; +} diff --git a/src/api/resources/pages/resources/scripts/types/ScriptsUpsertCustomCodeResponseScriptsItemLocation.ts b/src/api/resources/pages/resources/scripts/types/ScriptsUpsertCustomCodeResponseScriptsItemLocation.ts new file mode 100644 index 00000000..91359367 --- /dev/null +++ b/src/api/resources/pages/resources/scripts/types/ScriptsUpsertCustomCodeResponseScriptsItemLocation.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Location of the script, either in the header or footer of the published site + */ +export type ScriptsUpsertCustomCodeResponseScriptsItemLocation = "header" | "footer"; + +export const ScriptsUpsertCustomCodeResponseScriptsItemLocation = { + Header: "header", + Footer: "footer", +} as const; diff --git a/src/api/resources/pages/resources/scripts/types/index.ts b/src/api/resources/pages/resources/scripts/types/index.ts new file mode 100644 index 00000000..a3c7705e --- /dev/null +++ b/src/api/resources/pages/resources/scripts/types/index.ts @@ -0,0 +1,8 @@ +export * from "./ScriptsGetCustomCodeResponseScriptsItemLocation"; +export * from "./ScriptsGetCustomCodeResponseScriptsItem"; +export * from "./ScriptsGetCustomCodeResponse"; +export * from "./ScriptsUpsertCustomCodeRequestScriptsItemLocation"; +export * from "./ScriptsUpsertCustomCodeRequestScriptsItem"; +export * from "./ScriptsUpsertCustomCodeResponseScriptsItemLocation"; +export * from "./ScriptsUpsertCustomCodeResponseScriptsItem"; +export * from "./ScriptsUpsertCustomCodeResponse"; diff --git a/src/api/resources/pages/types/DomWriteNodesItem.ts b/src/api/resources/pages/types/DomWriteNodesItem.ts deleted file mode 100644 index 907de6eb..00000000 --- a/src/api/resources/pages/types/DomWriteNodesItem.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -export interface DomWriteNodesItem { - /** Node UUID */ - nodeId: string; - /** HTML content of the node, including the HTML tag. The HTML tags must be the same as what's returned from the Get Content endpoint. */ - text: string; -} diff --git a/src/api/resources/pages/types/PageCreatedPayload.ts b/src/api/resources/pages/types/PageCreatedPayload.ts new file mode 100644 index 00000000..d842918e --- /dev/null +++ b/src/api/resources/pages/types/PageCreatedPayload.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The Webhook payload for when a Page is created + */ +export interface PageCreatedPayload { + /** The type of event that triggered the request */ + triggerType?: string; + /** The payload of data sent from Webflow */ + payload?: Webflow.PageCreatedPayloadPayload; +} diff --git a/src/api/resources/pages/types/PageCreatedPayloadPayload.ts b/src/api/resources/pages/types/PageCreatedPayloadPayload.ts new file mode 100644 index 00000000..5c2be89d --- /dev/null +++ b/src/api/resources/pages/types/PageCreatedPayloadPayload.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The payload of data sent from Webflow + */ +export interface PageCreatedPayloadPayload { + siteId?: string; + pageId?: string; + pageTitle?: string; + createdOn?: Date; +} diff --git a/src/api/resources/pages/types/PageDeletedPayload.ts b/src/api/resources/pages/types/PageDeletedPayload.ts new file mode 100644 index 00000000..17c6c620 --- /dev/null +++ b/src/api/resources/pages/types/PageDeletedPayload.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The Webhook payload for when a Page is deleted + */ +export interface PageDeletedPayload { + /** The type of event that triggered the request */ + triggerType?: string; + /** The payload of data sent from Webflow */ + payload?: Webflow.PageDeletedPayloadPayload; +} diff --git a/src/api/resources/pages/types/PageDeletedPayloadPayload.ts b/src/api/resources/pages/types/PageDeletedPayloadPayload.ts new file mode 100644 index 00000000..6e681b15 --- /dev/null +++ b/src/api/resources/pages/types/PageDeletedPayloadPayload.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The payload of data sent from Webflow + */ +export interface PageDeletedPayloadPayload { + siteId?: string; + pageId?: string; + pageTitle?: string; + deletedOn?: Date; +} diff --git a/src/api/resources/pages/types/PageMetadataUpdatedPayload.ts b/src/api/resources/pages/types/PageMetadataUpdatedPayload.ts new file mode 100644 index 00000000..3cf329fa --- /dev/null +++ b/src/api/resources/pages/types/PageMetadataUpdatedPayload.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The Webhook payload for when a Page's metadata is updated + */ +export interface PageMetadataUpdatedPayload { + /** The type of event that triggered the request */ + triggerType?: string; + /** The payload of data sent from Webflow */ + payload?: Webflow.PageMetadataUpdatedPayloadPayload; +} diff --git a/src/api/resources/pages/types/PageMetadataUpdatedPayloadPayload.ts b/src/api/resources/pages/types/PageMetadataUpdatedPayloadPayload.ts new file mode 100644 index 00000000..6b8775e7 --- /dev/null +++ b/src/api/resources/pages/types/PageMetadataUpdatedPayloadPayload.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The payload of data sent from Webflow + */ +export interface PageMetadataUpdatedPayloadPayload { + siteId?: string; + pageId?: string; + pageTitle?: string; + lastUpdated?: Date; +} diff --git a/src/api/resources/pages/types/PagesGetContentResponse.ts b/src/api/resources/pages/types/PagesGetContentResponse.ts new file mode 100644 index 00000000..0c68d78b --- /dev/null +++ b/src/api/resources/pages/types/PagesGetContentResponse.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The DOM (Document Object Model) schema represents the content structure of a web page. It captures various content nodes, such as text and images, along with their associated attributes. Each node has a unique identifier and can be of different types like text or image. The schema also provides pagination details for scenarios where the content nodes are too many to be fetched in a single request. + */ +export interface PagesGetContentResponse { + /** Page ID */ + pageId?: string; + nodes?: Webflow.PagesGetContentResponseNodesItem[]; + /** Pagination object */ + pagination?: Webflow.PagesGetContentResponsePagination; +} diff --git a/src/api/resources/pages/types/PagesGetContentResponseNodesItem.ts b/src/api/resources/pages/types/PagesGetContentResponseNodesItem.ts new file mode 100644 index 00000000..e0069604 --- /dev/null +++ b/src/api/resources/pages/types/PagesGetContentResponseNodesItem.ts @@ -0,0 +1,20 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * A generic representation of a content element within the Document Object Model (DOM). Each node has a unique identifier and a specific type that determines its content structure and attributes. + */ +export interface PagesGetContentResponseNodesItem { + /** Node UUID */ + id?: string; + type?: Webflow.PagesGetContentResponseNodesItemType; + /** Represents textual content within the DOM. It contains both the raw text and its HTML representation, allowing for flexibility in rendering and processing. Additional attributes can be associated with the text for styling or other purposes. */ + text?: Webflow.PagesGetContentResponseNodesItemText; + /** Represents an image within the DOM. It contains details about the image, such as its alternative text (alt) for accessibility and an asset identifier for fetching the actual image resource. Additional attributes can be associated with the image for styling or other purposes. */ + image?: Webflow.PagesGetContentResponseNodesItemImage; + /** The custom attributes of the node */ + attributes?: Record; +} diff --git a/src/api/resources/pages/types/PagesGetContentResponseNodesItemImage.ts b/src/api/resources/pages/types/PagesGetContentResponseNodesItemImage.ts new file mode 100644 index 00000000..4c8af0dc --- /dev/null +++ b/src/api/resources/pages/types/PagesGetContentResponseNodesItemImage.ts @@ -0,0 +1,11 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Represents an image within the DOM. It contains details about the image, such as its alternative text (alt) for accessibility and an asset identifier for fetching the actual image resource. Additional attributes can be associated with the image for styling or other purposes. + */ +export interface PagesGetContentResponseNodesItemImage { + alt?: string; + assetId?: string; +} diff --git a/src/api/resources/pages/types/PagesGetContentResponseNodesItemText.ts b/src/api/resources/pages/types/PagesGetContentResponseNodesItemText.ts new file mode 100644 index 00000000..0a59cc6f --- /dev/null +++ b/src/api/resources/pages/types/PagesGetContentResponseNodesItemText.ts @@ -0,0 +1,11 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Represents textual content within the DOM. It contains both the raw text and its HTML representation, allowing for flexibility in rendering and processing. Additional attributes can be associated with the text for styling or other purposes. + */ +export interface PagesGetContentResponseNodesItemText { + html?: string; + text?: string; +} diff --git a/src/api/resources/pages/types/PagesGetContentResponseNodesItemType.ts b/src/api/resources/pages/types/PagesGetContentResponseNodesItemType.ts new file mode 100644 index 00000000..a50103ed --- /dev/null +++ b/src/api/resources/pages/types/PagesGetContentResponseNodesItemType.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export type PagesGetContentResponseNodesItemType = "text" | "image"; + +export const PagesGetContentResponseNodesItemType = { + Text: "text", + Image: "image", +} as const; diff --git a/src/api/resources/pages/types/PagesGetContentResponsePagination.ts b/src/api/resources/pages/types/PagesGetContentResponsePagination.ts new file mode 100644 index 00000000..192bcb2a --- /dev/null +++ b/src/api/resources/pages/types/PagesGetContentResponsePagination.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Pagination object + */ +export interface PagesGetContentResponsePagination { + /** The limit used for pagination */ + limit?: number; + /** The offset used for pagination */ + offset?: number; + /** The total number of records */ + total?: number; +} diff --git a/src/api/resources/pages/types/PagesGetMetadataResponse.ts b/src/api/resources/pages/types/PagesGetMetadataResponse.ts new file mode 100644 index 00000000..da375487 --- /dev/null +++ b/src/api/resources/pages/types/PagesGetMetadataResponse.ts @@ -0,0 +1,45 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The Page object + */ +export interface PagesGetMetadataResponse { + /** Unique identifier for the Page */ + id: string; + /** Unique identifier for the Site */ + siteId?: string; + /** Title of the Page */ + title?: string; + /** slug of the Page (derived from title) */ + slug?: string; + /** Identifier of the parent folder */ + parentId?: string; + /** Unique identifier for a linked Collection, value will be null if the Page is not part of a Collection. */ + collectionId?: string; + /** The date the Page was created */ + createdOn?: Date; + /** The date the Page was most recently updated */ + lastUpdated?: Date; + /** Whether the Page has been archived */ + archived?: boolean; + /** Whether the Page is a draft */ + draft?: boolean; + /** Indicates whether the Page supports [Page Branching](https://university.webflow.com/lesson/page-branching) */ + canBranch?: boolean; + /** Indicates whether the Page is a Branch of another Page [Page Branching](https://university.webflow.com/lesson/page-branching) */ + isBranch?: boolean; + /** Indicates whether the Page is restricted by [Memberships Controls](https://university.webflow.com/lesson/webflow-memberships-overview#how-to-manage-page-restrictions) */ + isMembersOnly?: boolean; + /** SEO-related fields for the Page */ + seo?: Webflow.PagesGetMetadataResponseSeo; + /** Open Graph fields for the Page */ + openGraph?: Webflow.PagesGetMetadataResponseOpenGraph; + /** Unique ID of the page locale */ + localeId?: string; + /** Relative path of the published page URL */ + publishedPath?: string; +} diff --git a/src/api/resources/pages/types/PagesGetMetadataResponseOpenGraph.ts b/src/api/resources/pages/types/PagesGetMetadataResponseOpenGraph.ts new file mode 100644 index 00000000..5b9e8dfe --- /dev/null +++ b/src/api/resources/pages/types/PagesGetMetadataResponseOpenGraph.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Open Graph fields for the Page + */ +export interface PagesGetMetadataResponseOpenGraph { + /** The title supplied to Open Graph annotations */ + title?: string; + /** Indicates the Open Graph title was copied from the SEO title */ + titleCopied?: boolean; + /** The description supplied to Open Graph annotations */ + description?: string; + /** Indicates the Open Graph description was copied from the SEO description */ + descriptionCopied?: boolean; +} diff --git a/src/api/resources/pages/types/PagesGetMetadataResponseSeo.ts b/src/api/resources/pages/types/PagesGetMetadataResponseSeo.ts new file mode 100644 index 00000000..6edebfa5 --- /dev/null +++ b/src/api/resources/pages/types/PagesGetMetadataResponseSeo.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * SEO-related fields for the Page + */ +export interface PagesGetMetadataResponseSeo { + /** The Page title shown in search engine results */ + title?: string; + /** The Page description shown in search engine results */ + description?: string; +} diff --git a/src/api/resources/pages/types/PagesListResponse.ts b/src/api/resources/pages/types/PagesListResponse.ts new file mode 100644 index 00000000..e4233518 --- /dev/null +++ b/src/api/resources/pages/types/PagesListResponse.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The Page object + */ +export interface PagesListResponse { + pages?: Webflow.PagesListResponsePagesItem[]; + /** Pagination object */ + pagination?: Webflow.PagesListResponsePagination; +} diff --git a/src/api/resources/pages/types/PagesListResponsePagesItem.ts b/src/api/resources/pages/types/PagesListResponsePagesItem.ts new file mode 100644 index 00000000..41b7c6d6 --- /dev/null +++ b/src/api/resources/pages/types/PagesListResponsePagesItem.ts @@ -0,0 +1,45 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The Page object + */ +export interface PagesListResponsePagesItem { + /** Unique identifier for the Page */ + id: string; + /** Unique identifier for the Site */ + siteId?: string; + /** Title of the Page */ + title?: string; + /** slug of the Page (derived from title) */ + slug?: string; + /** Identifier of the parent folder */ + parentId?: string; + /** Unique identifier for a linked Collection, value will be null if the Page is not part of a Collection. */ + collectionId?: string; + /** The date the Page was created */ + createdOn?: Date; + /** The date the Page was most recently updated */ + lastUpdated?: Date; + /** Whether the Page has been archived */ + archived?: boolean; + /** Whether the Page is a draft */ + draft?: boolean; + /** Indicates whether the Page supports [Page Branching](https://university.webflow.com/lesson/page-branching) */ + canBranch?: boolean; + /** Indicates whether the Page is a Branch of another Page [Page Branching](https://university.webflow.com/lesson/page-branching) */ + isBranch?: boolean; + /** Indicates whether the Page is restricted by [Memberships Controls](https://university.webflow.com/lesson/webflow-memberships-overview#how-to-manage-page-restrictions) */ + isMembersOnly?: boolean; + /** SEO-related fields for the Page */ + seo?: Webflow.PagesListResponsePagesItemSeo; + /** Open Graph fields for the Page */ + openGraph?: Webflow.PagesListResponsePagesItemOpenGraph; + /** Unique ID of the page locale */ + localeId?: string; + /** Relative path of the published page URL */ + publishedPath?: string; +} diff --git a/src/api/resources/pages/types/PagesListResponsePagesItemOpenGraph.ts b/src/api/resources/pages/types/PagesListResponsePagesItemOpenGraph.ts new file mode 100644 index 00000000..f417234d --- /dev/null +++ b/src/api/resources/pages/types/PagesListResponsePagesItemOpenGraph.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Open Graph fields for the Page + */ +export interface PagesListResponsePagesItemOpenGraph { + /** The title supplied to Open Graph annotations */ + title?: string; + /** Indicates the Open Graph title was copied from the SEO title */ + titleCopied?: boolean; + /** The description supplied to Open Graph annotations */ + description?: string; + /** Indicates the Open Graph description was copied from the SEO description */ + descriptionCopied?: boolean; +} diff --git a/src/api/resources/pages/types/PagesListResponsePagesItemSeo.ts b/src/api/resources/pages/types/PagesListResponsePagesItemSeo.ts new file mode 100644 index 00000000..9fe9e1a0 --- /dev/null +++ b/src/api/resources/pages/types/PagesListResponsePagesItemSeo.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * SEO-related fields for the Page + */ +export interface PagesListResponsePagesItemSeo { + /** The Page title shown in search engine results */ + title?: string; + /** The Page description shown in search engine results */ + description?: string; +} diff --git a/src/api/resources/pages/types/PagesListResponsePagination.ts b/src/api/resources/pages/types/PagesListResponsePagination.ts new file mode 100644 index 00000000..811c4ac8 --- /dev/null +++ b/src/api/resources/pages/types/PagesListResponsePagination.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Pagination object + */ +export interface PagesListResponsePagination { + /** The limit used for pagination */ + limit?: number; + /** The offset used for pagination */ + offset?: number; + /** The total number of records */ + total?: number; +} diff --git a/src/api/resources/pages/types/UpdatePageSettingsRequestOpenGraph.ts b/src/api/resources/pages/types/UpdatePageSettingsRequestOpenGraph.ts new file mode 100644 index 00000000..33a0c1a1 --- /dev/null +++ b/src/api/resources/pages/types/UpdatePageSettingsRequestOpenGraph.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Open Graph fields for the Page + */ +export interface UpdatePageSettingsRequestOpenGraph { + /** The title supplied to Open Graph annotations */ + title?: string; + /** The description supplied to Open Graph annotations */ + description?: string; +} diff --git a/src/api/resources/pages/types/UpdatePageSettingsRequestSeo.ts b/src/api/resources/pages/types/UpdatePageSettingsRequestSeo.ts new file mode 100644 index 00000000..c20838c7 --- /dev/null +++ b/src/api/resources/pages/types/UpdatePageSettingsRequestSeo.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * SEO-related fields for the Page + */ +export interface UpdatePageSettingsRequestSeo { + /** The Page title shown in search engine results */ + title?: string; + /** The Page description shown in search engine results */ + description?: string; +} diff --git a/src/api/resources/pages/types/UpdatePageSettingsResponse.ts b/src/api/resources/pages/types/UpdatePageSettingsResponse.ts new file mode 100644 index 00000000..daad4432 --- /dev/null +++ b/src/api/resources/pages/types/UpdatePageSettingsResponse.ts @@ -0,0 +1,45 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The Page object + */ +export interface UpdatePageSettingsResponse { + /** Unique identifier for the Page */ + id: string; + /** Unique identifier for the Site */ + siteId?: string; + /** Title of the Page */ + title?: string; + /** slug of the Page (derived from title) */ + slug?: string; + /** Identifier of the parent folder */ + parentId?: string; + /** Unique identifier for a linked Collection, value will be null if the Page is not part of a Collection. */ + collectionId?: string; + /** The date the Page was created */ + createdOn?: Date; + /** The date the Page was most recently updated */ + lastUpdated?: Date; + /** Whether the Page has been archived */ + archived?: boolean; + /** Whether the Page is a draft */ + draft?: boolean; + /** Indicates whether the Page supports [Page Branching](https://university.webflow.com/lesson/page-branching) */ + canBranch?: boolean; + /** Indicates whether the Page is a Branch of another Page [Page Branching](https://university.webflow.com/lesson/page-branching) */ + isBranch?: boolean; + /** Indicates whether the Page is restricted by [Memberships Controls](https://university.webflow.com/lesson/webflow-memberships-overview#how-to-manage-page-restrictions) */ + isMembersOnly?: boolean; + /** SEO-related fields for the Page */ + seo?: Webflow.UpdatePageSettingsResponseSeo; + /** Open Graph fields for the Page */ + openGraph?: Webflow.UpdatePageSettingsResponseOpenGraph; + /** Unique ID of the page locale */ + localeId?: string; + /** Relative path of the published page URL */ + publishedPath?: string; +} diff --git a/src/api/resources/pages/types/UpdatePageSettingsResponseOpenGraph.ts b/src/api/resources/pages/types/UpdatePageSettingsResponseOpenGraph.ts new file mode 100644 index 00000000..b6ec7128 --- /dev/null +++ b/src/api/resources/pages/types/UpdatePageSettingsResponseOpenGraph.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Open Graph fields for the Page + */ +export interface UpdatePageSettingsResponseOpenGraph { + /** The title supplied to Open Graph annotations */ + title?: string; + /** Indicates the Open Graph title was copied from the SEO title */ + titleCopied?: boolean; + /** The description supplied to Open Graph annotations */ + description?: string; + /** Indicates the Open Graph description was copied from the SEO description */ + descriptionCopied?: boolean; +} diff --git a/src/api/resources/pages/types/UpdatePageSettingsResponseSeo.ts b/src/api/resources/pages/types/UpdatePageSettingsResponseSeo.ts new file mode 100644 index 00000000..d5c694fb --- /dev/null +++ b/src/api/resources/pages/types/UpdatePageSettingsResponseSeo.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * SEO-related fields for the Page + */ +export interface UpdatePageSettingsResponseSeo { + /** The Page title shown in search engine results */ + title?: string; + /** The Page description shown in search engine results */ + description?: string; +} diff --git a/src/api/resources/pages/types/UpdateStaticContentRequestNodesItem.ts b/src/api/resources/pages/types/UpdateStaticContentRequestNodesItem.ts new file mode 100644 index 00000000..35aff734 --- /dev/null +++ b/src/api/resources/pages/types/UpdateStaticContentRequestNodesItem.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface UpdateStaticContentRequestNodesItem { + /** Node UUID */ + nodeId: string; + /** HTML content of the node, including the HTML tag. The HTML tags must be the same as what's returned from the Get Content endpoint. */ + text: string; +} diff --git a/src/api/resources/pages/types/index.ts b/src/api/resources/pages/types/index.ts index 943c3715..0d52ffb6 100644 --- a/src/api/resources/pages/types/index.ts +++ b/src/api/resources/pages/types/index.ts @@ -1,2 +1,27 @@ -export * from "./DomWriteNodesItem"; +export * from "./PagesListResponsePagesItemSeo"; +export * from "./PagesListResponsePagesItemOpenGraph"; +export * from "./PagesListResponsePagesItem"; +export * from "./PagesListResponsePagination"; +export * from "./PagesListResponse"; +export * from "./PagesGetMetadataResponseSeo"; +export * from "./PagesGetMetadataResponseOpenGraph"; +export * from "./PagesGetMetadataResponse"; +export * from "./UpdatePageSettingsRequestSeo"; +export * from "./UpdatePageSettingsRequestOpenGraph"; +export * from "./UpdatePageSettingsResponseSeo"; +export * from "./UpdatePageSettingsResponseOpenGraph"; +export * from "./UpdatePageSettingsResponse"; +export * from "./PagesGetContentResponseNodesItemType"; +export * from "./PagesGetContentResponseNodesItemText"; +export * from "./PagesGetContentResponseNodesItemImage"; +export * from "./PagesGetContentResponseNodesItem"; +export * from "./PagesGetContentResponsePagination"; +export * from "./PagesGetContentResponse"; +export * from "./UpdateStaticContentRequestNodesItem"; export * from "./UpdateStaticContentResponse"; +export * from "./PageCreatedPayloadPayload"; +export * from "./PageCreatedPayload"; +export * from "./PageMetadataUpdatedPayloadPayload"; +export * from "./PageMetadataUpdatedPayload"; +export * from "./PageDeletedPayloadPayload"; +export * from "./PageDeletedPayload"; diff --git a/src/api/resources/products/client/Client.ts b/src/api/resources/products/client/Client.ts index d98b1f2a..6a91ae05 100644 --- a/src/api/resources/products/client/Client.ts +++ b/src/api/resources/products/client/Client.ts @@ -29,7 +29,10 @@ export class Products { constructor(protected readonly _options: Products.Options) {} /** - * Retrieve all products for a site. Use `limit` and `offset` to page through all products with subsequent requests. All SKUs for each product will also be fetched and returned. The `limit`, `offset` and `total` values represent Products only and do not include any SKUs. + * Retrieve all products for a site. + * + * Use `limit` and `offset` to page through all products with subsequent requests. All SKUs for each product + * will also be fetched and returned. The `limit`, `offset` and `total` values represent Products only and do not include any SKUs. * * Required scope | `ecommerce:read` * @@ -52,7 +55,7 @@ export class Products { siteId: string, request: Webflow.ProductsListRequest = {}, requestOptions?: Products.RequestOptions - ): Promise { + ): Promise { const { offset, limit } = request; const _queryParams: Record = {}; if (offset != null) { @@ -73,8 +76,8 @@ export class Products { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -86,7 +89,7 @@ export class Products { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.ProductAndSkUsList.parseOrThrow(_response.body, { + return serializers.ProductsListResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -108,15 +111,7 @@ export class Products { case 409: throw new Webflow.ConflictError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -143,18 +138,24 @@ export class Products { } /** - * Creating a new Product involves creating both a Product and a SKU, since a Product Item has to have, at minimum, a single SKU. + * Create a new product and SKU. + * + * When you create a product, you will always create a SKU, since a Product Item must have, at minimum, a single SKU. * - * In order to create a Product with multiple SKUs - for example a T-shirt in sizes small, medium and large - you'll need to create `sku-properties`. In our T-shirt example, a single `sku-property` would be Color. Within that property, we'll need to list out the various colors a T-shirt could be as an array of `enum` values: `royal-blue`, `crimson-red`, and `forrest-green`. + * To create a Product with multiple SKUs - for example a T-shirt in sizes small, medium and large: * - * Once, you've created a Product and its `sku-properties` with `enum` values, you can create your default SKU, which will automatically be a combination of the first `sku-properties` you've created. In our example, the default SKU will be a Royal Blue T-Shirt, because our first `enum` of our Color `sku-property` is Royal Blue. After you've created your product, you can create additional SKUs using the Create SKU endpoint + * - Create parameters in `sku-properties`, also known as [product options and variants.](https://help.webflow.com/hc/en-us/articles/33961334531347-Create-product-options-and-variants). + * - A single `sku-property` would be `color`. Within the `color` property, list the various colors of T-shirts as an array of `enum` values: `royal-blue`, `crimson-red`, and `forrest-green`. + * - Once, you've created a Product and its `sku-properties` with `enum` values, Webflow will create a **default SKU**, which will automatically be a combination of the first `sku-properties` you've created. + * - In our example, the default SKU will be a Royal Blue T-Shirt, because our first `enum` of our Color `sku-property` is Royal Blue. + * - After you've created your product, you can create additional SKUs using the [Create SKU endpoint.](/data/reference/ecommerce/products-sk-us/create-sku) * - * Upon creation, the default product type will be `Advanced`. The product type is used to determine which Product and SKU fields are shown to users in the `Designer` and the `Editor`. Setting it to `Advanced` ensures that all Product and SKU fields will be shown. + * Upon creation, the default product type will be `Advanced`, which ensures all Product and SKU fields will be shown to users in the Designer. * * Required scope | `ecommerce:write` * * @param {string} siteId - Unique identifier for a Site - * @param {Webflow.ProductSkuCreate} request + * @param {Webflow.ProductsCreateRequest} request * @param {Products.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Webflow.BadRequestError} @@ -170,9 +171,9 @@ export class Products { */ public async create( siteId: string, - request: Webflow.ProductSkuCreate = {}, + request: Webflow.ProductsCreateRequest = {}, requestOptions?: Products.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -183,20 +184,20 @@ export class Products { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", requestType: "json", - body: serializers.ProductSkuCreate.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), + body: serializers.ProductsCreateRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.ProductAndSkUs.parseOrThrow(_response.body, { + return serializers.ProductsCreateResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -218,15 +219,7 @@ export class Products { case 409: throw new Webflow.ConflictError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -253,7 +246,8 @@ export class Products { } /** - * Retrieve a single product by its id. All of its SKUs will also be retrieved. + * Retrieve a single product by its ID. All of its SKUs will also be + * retrieved. * * Required scope | `ecommerce:read` * @@ -276,7 +270,7 @@ export class Products { siteId: string, productId: string, requestOptions?: Products.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -287,8 +281,8 @@ export class Products { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -299,7 +293,7 @@ export class Products { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.ProductAndSkUs.parseOrThrow(_response.body, { + return serializers.ProductsGetResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -321,15 +315,7 @@ export class Products { case 409: throw new Webflow.ConflictError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -356,13 +342,15 @@ export class Products { } /** - * Updating an existing Product will set the product type to `Advanced`. The product type is used to determine which Product and SKU fields are shown to users in the `Designer` and the `Editor`. Setting it to `Advanced` ensures that all Product and SKU fields will be shown. The product type can be edited in the `Designer` or the `Editor`. + * Update an existing Product. + * + * Updating an existing Product will set the product type to `Advanced`, which ensures all Product and SKU fields will be shown to users in the Designer. * * Required scope | `ecommerce:write` * * @param {string} siteId - Unique identifier for a Site * @param {string} productId - Unique identifier for a Product - * @param {Webflow.ProductSkuUpdate} request + * @param {Webflow.ProductsUpdateRequest} request * @param {Products.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Webflow.BadRequestError} @@ -379,9 +367,9 @@ export class Products { public async update( siteId: string, productId: string, - request: Webflow.ProductSkuUpdate = {}, + request: Webflow.ProductsUpdateRequest = {}, requestOptions?: Products.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -392,20 +380,20 @@ export class Products { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", requestType: "json", - body: serializers.ProductSkuUpdate.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), + body: serializers.ProductsUpdateRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.Product.parseOrThrow(_response.body, { + return serializers.ProductsUpdateResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -427,15 +415,7 @@ export class Products { case 409: throw new Webflow.ConflictError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -462,9 +442,9 @@ export class Products { } /** - * Create additional SKUs to cover every variant of your Product. The Default SKU already counts as one of the variants. + * Create additional SKUs to manage every [option and variant of your Product.](https://help.webflow.com/hc/en-us/articles/33961334531347-Create-product-options-and-variants) * - * Creating additional SKUs will set the product type to `Advanced` for the product associated with the SKUs. The product type is used to determine which Product and SKU fields are shown to users in the `Designer` and the `Editor`. Setting it to `Advanced` ensures that all Product and SKU fields will be shown. The product type can be edited in the `Designer` or the `Editor`. + * Creating SKUs through the API will set the product type to `Advanced`, which ensures all Product and SKU fields will be shown to users in the Designer. * * Required scope | `ecommerce:write` * @@ -502,8 +482,8 @@ export class Products { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -537,15 +517,7 @@ export class Products { case 409: throw new Webflow.ConflictError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -572,7 +544,9 @@ export class Products { } /** - * Updating an existing SKU will set the product type to `Advanced` for the product associated with the SKU. The product type is used to determine which Product and SKU fields are shown to users in the `Designer` and the `Editor`. Setting it to `Advanced` ensures that all Product and SKU fields will be shown. The product type can be edited in the `Designer` or the `Editor`. + * Update a specified SKU. + * + * Updating an existing SKU will set the Product type to `Advanced`, which ensures all Product and SKU fields will be shown to users in the Designer. * * Required scope | `ecommerce:write` * @@ -601,7 +575,7 @@ export class Products { skuId: string, request: Webflow.ProductsUpdateSkuRequest, requestOptions?: Products.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -614,8 +588,8 @@ export class Products { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -627,7 +601,7 @@ export class Products { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.Sku.parseOrThrow(_response.body, { + return serializers.ProductsUpdateSkuResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -649,15 +623,7 @@ export class Products { case 409: throw new Webflow.ConflictError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: diff --git a/src/api/resources/products/client/requests/ProductSkuCreate.ts b/src/api/resources/products/client/requests/ProductSkuCreate.ts deleted file mode 100644 index f5eeb9a9..00000000 --- a/src/api/resources/products/client/requests/ProductSkuCreate.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../../../../index"; - -/** - * @example - * {} - */ -export interface ProductSkuCreate { - publishStatus?: Webflow.PublishStatus; - product?: Webflow.Product; - sku?: Webflow.Sku; -} diff --git a/src/api/resources/products/client/requests/ProductSkuUpdate.ts b/src/api/resources/products/client/requests/ProductSkuUpdate.ts deleted file mode 100644 index 76e3f601..00000000 --- a/src/api/resources/products/client/requests/ProductSkuUpdate.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../../../../index"; - -/** - * @example - * {} - */ -export interface ProductSkuUpdate { - publishStatus?: Webflow.PublishStatus; - product?: Webflow.Product; - sku?: Webflow.Sku; -} diff --git a/src/api/resources/products/client/requests/ProductsCreateRequest.ts b/src/api/resources/products/client/requests/ProductsCreateRequest.ts new file mode 100644 index 00000000..02541b8f --- /dev/null +++ b/src/api/resources/products/client/requests/ProductsCreateRequest.ts @@ -0,0 +1,18 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../index"; + +/** + * @example + * {} + */ +export interface ProductsCreateRequest { + /** Indicate whether your Product should be set as "staging" or "live" */ + publishStatus?: Webflow.ProductsCreateRequestPublishStatus; + /** The Product object */ + product?: Webflow.ProductsCreateRequestProduct; + /** The SKU object */ + sku?: Webflow.ProductsCreateRequestSku; +} diff --git a/src/api/resources/products/client/requests/ProductsCreateSkuRequest.ts b/src/api/resources/products/client/requests/ProductsCreateSkuRequest.ts index 6d2e7fd0..ad441db4 100644 --- a/src/api/resources/products/client/requests/ProductsCreateSkuRequest.ts +++ b/src/api/resources/products/client/requests/ProductsCreateSkuRequest.ts @@ -11,7 +11,8 @@ import * as Webflow from "../../../../index"; * } */ export interface ProductsCreateSkuRequest { - publishStatus?: Webflow.PublishStatus; + /** Indicate whether your Product should be set as "staging" or "live" */ + publishStatus?: Webflow.ProductsCreateSkuRequestPublishStatus; /** An array of the SKU data your are adding */ - skus: Webflow.Sku[]; + skus: Webflow.ProductsCreateSkuRequestSkusItem[]; } diff --git a/src/api/resources/products/client/requests/ProductsUpdateRequest.ts b/src/api/resources/products/client/requests/ProductsUpdateRequest.ts new file mode 100644 index 00000000..79ad1745 --- /dev/null +++ b/src/api/resources/products/client/requests/ProductsUpdateRequest.ts @@ -0,0 +1,18 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../index"; + +/** + * @example + * {} + */ +export interface ProductsUpdateRequest { + /** Indicate whether your Product should be set as "staging" or "live" */ + publishStatus?: Webflow.ProductsUpdateRequestPublishStatus; + /** The Product object */ + product?: Webflow.ProductsUpdateRequestProduct; + /** The SKU object */ + sku?: Webflow.ProductsUpdateRequestSku; +} diff --git a/src/api/resources/products/client/requests/ProductsUpdateSkuRequest.ts b/src/api/resources/products/client/requests/ProductsUpdateSkuRequest.ts index 9f79e47a..2d023fa0 100644 --- a/src/api/resources/products/client/requests/ProductsUpdateSkuRequest.ts +++ b/src/api/resources/products/client/requests/ProductsUpdateSkuRequest.ts @@ -11,6 +11,8 @@ import * as Webflow from "../../../../index"; * } */ export interface ProductsUpdateSkuRequest { - publishStatus?: Webflow.PublishStatus; - sku: Webflow.Sku; + /** Indicate whether your Product should be set as "staging" or "live" */ + publishStatus?: Webflow.ProductsUpdateSkuRequestPublishStatus; + /** The SKU object */ + sku: Webflow.ProductsUpdateSkuRequestSku; } diff --git a/src/api/resources/products/client/requests/index.ts b/src/api/resources/products/client/requests/index.ts index 4d8035a5..63b41b6e 100644 --- a/src/api/resources/products/client/requests/index.ts +++ b/src/api/resources/products/client/requests/index.ts @@ -1,5 +1,5 @@ export { type ProductsListRequest } from "./ProductsListRequest"; -export { type ProductSkuCreate } from "./ProductSkuCreate"; -export { type ProductSkuUpdate } from "./ProductSkuUpdate"; +export { type ProductsCreateRequest } from "./ProductsCreateRequest"; +export { type ProductsUpdateRequest } from "./ProductsUpdateRequest"; export { type ProductsCreateSkuRequest } from "./ProductsCreateSkuRequest"; export { type ProductsUpdateSkuRequest } from "./ProductsUpdateSkuRequest"; diff --git a/src/api/resources/products/types/ProductsCreateRequestProduct.ts b/src/api/resources/products/types/ProductsCreateRequestProduct.ts new file mode 100644 index 00000000..98608c74 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateRequestProduct.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The Product object + */ +export interface ProductsCreateRequestProduct { + /** Contains content-specific details for a product, covering both standard (e.g., title, description) and custom fields tailored to the product setup. */ + fieldData?: Webflow.ProductsCreateRequestProductFieldData; +} diff --git a/src/api/resources/products/types/ProductsCreateRequestProductFieldData.ts b/src/api/resources/products/types/ProductsCreateRequestProductFieldData.ts new file mode 100644 index 00000000..97648f30 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateRequestProductFieldData.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Contains content-specific details for a product, covering both standard (e.g., title, description) and custom fields tailored to the product setup. + */ +export interface ProductsCreateRequestProductFieldData { + /** Name of the Product */ + name?: string; + /** URL structure of the Product in your site. */ + slug?: string; + /** A description of your product */ + description?: string; + /** Boolean determining if the Product is shippable */ + shippable?: boolean; + /** Variant types to include in SKUs */ + skuProperties?: Webflow.ProductsCreateRequestProductFieldDataSkuPropertiesItem[]; + /** The categories your product belongs to. */ + categories?: string[]; + /** Product tax class */ + taxCategory?: Webflow.ProductsCreateRequestProductFieldDataTaxCategory; + /** The default SKU associated with this product. */ + defaultSku?: string; + /** Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced" */ + ecProductType?: Webflow.ProductsCreateRequestProductFieldDataEcProductType; +} diff --git a/src/api/resources/products/types/ProductsCreateRequestProductFieldDataEcProductType.ts b/src/api/resources/products/types/ProductsCreateRequestProductFieldDataEcProductType.ts new file mode 100644 index 00000000..1f802db2 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateRequestProductFieldDataEcProductType.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced" + */ +export type ProductsCreateRequestProductFieldDataEcProductType = + | "ff42fee0113744f693a764e3431a9cc2" + | "f22027db68002190aef89a4a2b7ac8a1" + | "c599e43b1a1c34d5a323aedf75d3adf6" + | "b6ccc1830db4b1babeb06a9ac5f6dd76"; + +export const ProductsCreateRequestProductFieldDataEcProductType = { + Ff42Fee0113744F693A764E3431A9Cc2: "ff42fee0113744f693a764e3431a9cc2", + F22027Db68002190Aef89A4A2B7Ac8A1: "f22027db68002190aef89a4a2b7ac8a1", + C599E43B1A1C34D5A323Aedf75D3Adf6: "c599e43b1a1c34d5a323aedf75d3adf6", + B6Ccc1830Db4B1Babeb06A9Ac5F6Dd76: "b6ccc1830db4b1babeb06a9ac5f6dd76", +} as const; diff --git a/src/api/resources/products/types/ProductsCreateRequestProductFieldDataSkuPropertiesItem.ts b/src/api/resources/products/types/ProductsCreateRequestProductFieldDataSkuPropertiesItem.ts new file mode 100644 index 00000000..960f1c84 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateRequestProductFieldDataSkuPropertiesItem.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * A variant/option type for a SKU + */ +export interface ProductsCreateRequestProductFieldDataSkuPropertiesItem { + /** Unique identifier for a collection of Product Variants */ + id: string; + /** Name of the collection of Product Variants */ + name: string; + /** The individual Product variants that are contained within the collection */ + enum: Webflow.ProductsCreateRequestProductFieldDataSkuPropertiesItemEnumItem[]; +} diff --git a/src/api/resources/products/types/ProductsCreateRequestProductFieldDataSkuPropertiesItemEnumItem.ts b/src/api/resources/products/types/ProductsCreateRequestProductFieldDataSkuPropertiesItemEnumItem.ts new file mode 100644 index 00000000..78667d09 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateRequestProductFieldDataSkuPropertiesItemEnumItem.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Enumerated Product variants/Options for the SKU + */ +export interface ProductsCreateRequestProductFieldDataSkuPropertiesItemEnumItem { + /** Unique identifier for a Product variant/Option */ + id: string; + /** Name of the Product variant/Option */ + name: string; + /** Slug for the Product variant/Option in the Site URL structure */ + slug: string; +} diff --git a/src/api/resources/products/types/ProductsCreateRequestProductFieldDataTaxCategory.ts b/src/api/resources/products/types/ProductsCreateRequestProductFieldDataTaxCategory.ts new file mode 100644 index 00000000..daf2b483 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateRequestProductFieldDataTaxCategory.ts @@ -0,0 +1,69 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Product tax class + */ +export type ProductsCreateRequestProductFieldDataTaxCategory = + | "standard-taxable" + | "standard-exempt" + | "books-religious" + | "books-textbook" + | "clothing" + | "clothing-swimwear" + | "digital-goods" + | "digital-service" + | "drugs-non-prescription" + | "drugs-prescription" + | "food-bottled-water" + | "food-candy" + | "food-groceries" + | "food-prepared" + | "food-soda" + | "food-supplements" + | "magazine-individual" + | "magazine-subscription" + | "service-admission" + | "service-advertising" + | "service-dry-cleaning" + | "service-hairdressing" + | "service-installation" + | "service-miscellaneous" + | "service-parking" + | "service-printing" + | "service-professional" + | "service-repair" + | "service-training"; + +export const ProductsCreateRequestProductFieldDataTaxCategory = { + StandardTaxable: "standard-taxable", + StandardExempt: "standard-exempt", + BooksReligious: "books-religious", + BooksTextbook: "books-textbook", + Clothing: "clothing", + ClothingSwimwear: "clothing-swimwear", + DigitalGoods: "digital-goods", + DigitalService: "digital-service", + DrugsNonPrescription: "drugs-non-prescription", + DrugsPrescription: "drugs-prescription", + FoodBottledWater: "food-bottled-water", + FoodCandy: "food-candy", + FoodGroceries: "food-groceries", + FoodPrepared: "food-prepared", + FoodSoda: "food-soda", + FoodSupplements: "food-supplements", + MagazineIndividual: "magazine-individual", + MagazineSubscription: "magazine-subscription", + ServiceAdmission: "service-admission", + ServiceAdvertising: "service-advertising", + ServiceDryCleaning: "service-dry-cleaning", + ServiceHairdressing: "service-hairdressing", + ServiceInstallation: "service-installation", + ServiceMiscellaneous: "service-miscellaneous", + ServiceParking: "service-parking", + ServicePrinting: "service-printing", + ServiceProfessional: "service-professional", + ServiceRepair: "service-repair", + ServiceTraining: "service-training", +} as const; diff --git a/src/api/resources/products/types/ProductsCreateRequestPublishStatus.ts b/src/api/resources/products/types/ProductsCreateRequestPublishStatus.ts new file mode 100644 index 00000000..27e0f572 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateRequestPublishStatus.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Indicate whether your Product should be set as "staging" or "live" + */ +export type ProductsCreateRequestPublishStatus = "staging" | "live"; + +export const ProductsCreateRequestPublishStatus = { + Staging: "staging", + Live: "live", +} as const; diff --git a/src/api/resources/products/types/ProductsCreateRequestSku.ts b/src/api/resources/products/types/ProductsCreateRequestSku.ts new file mode 100644 index 00000000..ead4e0dc --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateRequestSku.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The SKU object + */ +export interface ProductsCreateRequestSku { + /** Standard and Custom fields for a SKU */ + fieldData?: Webflow.ProductsCreateRequestSkuFieldData; +} diff --git a/src/api/resources/products/types/ProductsCreateRequestSkuFieldData.ts b/src/api/resources/products/types/ProductsCreateRequestSkuFieldData.ts new file mode 100644 index 00000000..ea3f72f9 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateRequestSkuFieldData.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Standard and Custom fields for a SKU + */ +export interface ProductsCreateRequestSkuFieldData { + /** A dictionary that maps a SKU property to a SKU value. The key of the dictionary is the SKU property ID, and the value is the SKU value ID. */ + skuValues?: Record; + /** Name of the Product */ + name: string; + /** URL structure of the Product in your site. */ + slug: string; + /** price of SKU */ + price: Webflow.ProductsCreateRequestSkuFieldDataPrice; + /** comparison price of SKU */ + compareAtPrice?: Webflow.ProductsCreateRequestSkuFieldDataCompareAtPrice; + ecSkuBillingMethod?: Webflow.ProductsCreateRequestSkuFieldDataEcSkuBillingMethod; + ecSkuSubscriptionPlan?: Webflow.ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlan; + /** A boolean indicating whether inventory for this product should be tracked. */ + trackInventory?: boolean; + /** Quantity of SKU that will be tracked as items are ordered. */ + quantity?: number; +} diff --git a/src/api/resources/products/types/ProductsCreateRequestSkuFieldDataCompareAtPrice.ts b/src/api/resources/products/types/ProductsCreateRequestSkuFieldDataCompareAtPrice.ts new file mode 100644 index 00000000..7ea05180 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateRequestSkuFieldDataCompareAtPrice.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * comparison price of SKU + */ +export interface ProductsCreateRequestSkuFieldDataCompareAtPrice { + /** Price of SKU */ + value?: number; + /** Currency of Item */ + unit?: string; +} diff --git a/src/api/resources/products/types/ProductsCreateRequestSkuFieldDataEcSkuBillingMethod.ts b/src/api/resources/products/types/ProductsCreateRequestSkuFieldDataEcSkuBillingMethod.ts new file mode 100644 index 00000000..f6ffb76b --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateRequestSkuFieldDataEcSkuBillingMethod.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export type ProductsCreateRequestSkuFieldDataEcSkuBillingMethod = "one-time" | "subscription"; + +export const ProductsCreateRequestSkuFieldDataEcSkuBillingMethod = { + OneTime: "one-time", + Subscription: "subscription", +} as const; diff --git a/src/api/resources/products/types/ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlan.ts b/src/api/resources/products/types/ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlan.ts new file mode 100644 index 00000000..3c78f56e --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlan.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlan { + /** Interval of subscription renewal */ + interval?: Webflow.ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlanInterval; + /** Frequncy of billing within interval */ + frequency?: number; + /** Number of days of a trial */ + trial?: number; +} diff --git a/src/api/resources/products/types/ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlanInterval.ts b/src/api/resources/products/types/ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlanInterval.ts new file mode 100644 index 00000000..2c82d0f7 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlanInterval.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Interval of subscription renewal + */ +export type ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlanInterval = "day" | "week" | "month" | "year"; + +export const ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlanInterval = { + Day: "day", + Week: "week", + Month: "month", + Year: "year", +} as const; diff --git a/src/api/resources/products/types/ProductsCreateRequestSkuFieldDataPrice.ts b/src/api/resources/products/types/ProductsCreateRequestSkuFieldDataPrice.ts new file mode 100644 index 00000000..429c5d6a --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateRequestSkuFieldDataPrice.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * price of SKU + */ +export interface ProductsCreateRequestSkuFieldDataPrice { + /** Price of SKU */ + value?: number; + /** Currency of Item */ + unit?: string; +} diff --git a/src/api/resources/products/types/ProductsCreateResponse.ts b/src/api/resources/products/types/ProductsCreateResponse.ts new file mode 100644 index 00000000..1a7338a4 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateResponse.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * A product and its SKUs. + */ +export interface ProductsCreateResponse { + /** The Product object */ + product?: Webflow.ProductsCreateResponseProduct; + /** A list of SKU Objects */ + skus?: Webflow.ProductsCreateResponseSkusItem[]; +} diff --git a/src/api/resources/products/types/ProductsCreateResponseProduct.ts b/src/api/resources/products/types/ProductsCreateResponseProduct.ts new file mode 100644 index 00000000..b0465fa6 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateResponseProduct.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The Product object + */ +export interface ProductsCreateResponseProduct { + /** Unique identifier for the Product */ + id?: string; + /** Identifier for the locale of the CMS item */ + cmsLocaleId?: string; + /** The date the Product was last published */ + lastPublished?: Date; + /** The date the Product was last updated */ + lastUpdated?: Date; + /** The date the Product was created */ + createdOn?: Date; + /** Boolean determining if the Product is set to archived */ + isArchived?: boolean; + /** Boolean determining if the Product is set to draft */ + isDraft?: boolean; + /** Contains content-specific details for a product, covering both standard (e.g., title, description) and custom fields tailored to the product setup. */ + fieldData?: Webflow.ProductsCreateResponseProductFieldData; +} diff --git a/src/api/resources/products/types/ProductsCreateResponseProductFieldData.ts b/src/api/resources/products/types/ProductsCreateResponseProductFieldData.ts new file mode 100644 index 00000000..79ddf307 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateResponseProductFieldData.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Contains content-specific details for a product, covering both standard (e.g., title, description) and custom fields tailored to the product setup. + */ +export interface ProductsCreateResponseProductFieldData { + /** Name of the Product */ + name?: string; + /** URL structure of the Product in your site. */ + slug?: string; + /** A description of your product */ + description?: string; + /** Boolean determining if the Product is shippable */ + shippable?: boolean; + /** Variant types to include in SKUs */ + skuProperties?: Webflow.ProductsCreateResponseProductFieldDataSkuPropertiesItem[]; + /** The categories your product belongs to. */ + categories?: string[]; + /** Product tax class */ + taxCategory?: Webflow.ProductsCreateResponseProductFieldDataTaxCategory; + /** The default SKU associated with this product. */ + defaultSku?: string; + /** Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced" */ + ecProductType?: Webflow.ProductsCreateResponseProductFieldDataEcProductType; +} diff --git a/src/api/resources/products/types/ProductsCreateResponseProductFieldDataEcProductType.ts b/src/api/resources/products/types/ProductsCreateResponseProductFieldDataEcProductType.ts new file mode 100644 index 00000000..43ec7e2a --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateResponseProductFieldDataEcProductType.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced" + */ +export type ProductsCreateResponseProductFieldDataEcProductType = + | "ff42fee0113744f693a764e3431a9cc2" + | "f22027db68002190aef89a4a2b7ac8a1" + | "c599e43b1a1c34d5a323aedf75d3adf6" + | "b6ccc1830db4b1babeb06a9ac5f6dd76"; + +export const ProductsCreateResponseProductFieldDataEcProductType = { + Ff42Fee0113744F693A764E3431A9Cc2: "ff42fee0113744f693a764e3431a9cc2", + F22027Db68002190Aef89A4A2B7Ac8A1: "f22027db68002190aef89a4a2b7ac8a1", + C599E43B1A1C34D5A323Aedf75D3Adf6: "c599e43b1a1c34d5a323aedf75d3adf6", + B6Ccc1830Db4B1Babeb06A9Ac5F6Dd76: "b6ccc1830db4b1babeb06a9ac5f6dd76", +} as const; diff --git a/src/api/resources/products/types/ProductsCreateResponseProductFieldDataSkuPropertiesItem.ts b/src/api/resources/products/types/ProductsCreateResponseProductFieldDataSkuPropertiesItem.ts new file mode 100644 index 00000000..743a8a96 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateResponseProductFieldDataSkuPropertiesItem.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * A variant/option type for a SKU + */ +export interface ProductsCreateResponseProductFieldDataSkuPropertiesItem { + /** Unique identifier for a collection of Product Variants */ + id: string; + /** Name of the collection of Product Variants */ + name: string; + /** The individual Product variants that are contained within the collection */ + enum: Webflow.ProductsCreateResponseProductFieldDataSkuPropertiesItemEnumItem[]; +} diff --git a/src/api/resources/products/types/ProductsCreateResponseProductFieldDataSkuPropertiesItemEnumItem.ts b/src/api/resources/products/types/ProductsCreateResponseProductFieldDataSkuPropertiesItemEnumItem.ts new file mode 100644 index 00000000..ea7d435e --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateResponseProductFieldDataSkuPropertiesItemEnumItem.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Enumerated Product variants/Options for the SKU + */ +export interface ProductsCreateResponseProductFieldDataSkuPropertiesItemEnumItem { + /** Unique identifier for a Product variant/Option */ + id: string; + /** Name of the Product variant/Option */ + name: string; + /** Slug for the Product variant/Option in the Site URL structure */ + slug: string; +} diff --git a/src/api/resources/products/types/ProductsCreateResponseProductFieldDataTaxCategory.ts b/src/api/resources/products/types/ProductsCreateResponseProductFieldDataTaxCategory.ts new file mode 100644 index 00000000..938a2ae6 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateResponseProductFieldDataTaxCategory.ts @@ -0,0 +1,69 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Product tax class + */ +export type ProductsCreateResponseProductFieldDataTaxCategory = + | "standard-taxable" + | "standard-exempt" + | "books-religious" + | "books-textbook" + | "clothing" + | "clothing-swimwear" + | "digital-goods" + | "digital-service" + | "drugs-non-prescription" + | "drugs-prescription" + | "food-bottled-water" + | "food-candy" + | "food-groceries" + | "food-prepared" + | "food-soda" + | "food-supplements" + | "magazine-individual" + | "magazine-subscription" + | "service-admission" + | "service-advertising" + | "service-dry-cleaning" + | "service-hairdressing" + | "service-installation" + | "service-miscellaneous" + | "service-parking" + | "service-printing" + | "service-professional" + | "service-repair" + | "service-training"; + +export const ProductsCreateResponseProductFieldDataTaxCategory = { + StandardTaxable: "standard-taxable", + StandardExempt: "standard-exempt", + BooksReligious: "books-religious", + BooksTextbook: "books-textbook", + Clothing: "clothing", + ClothingSwimwear: "clothing-swimwear", + DigitalGoods: "digital-goods", + DigitalService: "digital-service", + DrugsNonPrescription: "drugs-non-prescription", + DrugsPrescription: "drugs-prescription", + FoodBottledWater: "food-bottled-water", + FoodCandy: "food-candy", + FoodGroceries: "food-groceries", + FoodPrepared: "food-prepared", + FoodSoda: "food-soda", + FoodSupplements: "food-supplements", + MagazineIndividual: "magazine-individual", + MagazineSubscription: "magazine-subscription", + ServiceAdmission: "service-admission", + ServiceAdvertising: "service-advertising", + ServiceDryCleaning: "service-dry-cleaning", + ServiceHairdressing: "service-hairdressing", + ServiceInstallation: "service-installation", + ServiceMiscellaneous: "service-miscellaneous", + ServiceParking: "service-parking", + ServicePrinting: "service-printing", + ServiceProfessional: "service-professional", + ServiceRepair: "service-repair", + ServiceTraining: "service-training", +} as const; diff --git a/src/api/resources/products/types/ProductsCreateResponseSkusItem.ts b/src/api/resources/products/types/ProductsCreateResponseSkusItem.ts new file mode 100644 index 00000000..0ff3133f --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateResponseSkusItem.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The SKU object + */ +export interface ProductsCreateResponseSkusItem { + /** Unique identifier for the Product */ + id?: string; + /** Identifier for the locale of the CMS item */ + cmsLocaleId?: string; + /** The date the Product was last published */ + lastPublished?: Date; + /** The date the Product was last updated */ + lastUpdated?: Date; + /** The date the Product was created */ + createdOn?: Date; + /** Standard and Custom fields for a SKU */ + fieldData?: Webflow.ProductsCreateResponseSkusItemFieldData; +} diff --git a/src/api/resources/products/types/ProductsCreateResponseSkusItemFieldData.ts b/src/api/resources/products/types/ProductsCreateResponseSkusItemFieldData.ts new file mode 100644 index 00000000..eef909ac --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateResponseSkusItemFieldData.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Standard and Custom fields for a SKU + */ +export interface ProductsCreateResponseSkusItemFieldData { + /** A dictionary that maps a SKU property to a SKU value. The key of the dictionary is the SKU property ID, and the value is the SKU value ID. */ + skuValues?: Record; + /** Name of the Product */ + name: string; + /** URL structure of the Product in your site. */ + slug: string; + /** price of SKU */ + price: Webflow.ProductsCreateResponseSkusItemFieldDataPrice; + /** comparison price of SKU */ + compareAtPrice?: Webflow.ProductsCreateResponseSkusItemFieldDataCompareAtPrice; + ecSkuBillingMethod?: Webflow.ProductsCreateResponseSkusItemFieldDataEcSkuBillingMethod; + ecSkuSubscriptionPlan?: Webflow.ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlan; + /** A boolean indicating whether inventory for this product should be tracked. */ + trackInventory?: boolean; + /** Quantity of SKU that will be tracked as items are ordered. */ + quantity?: number; +} diff --git a/src/api/resources/products/types/ProductsCreateResponseSkusItemFieldDataCompareAtPrice.ts b/src/api/resources/products/types/ProductsCreateResponseSkusItemFieldDataCompareAtPrice.ts new file mode 100644 index 00000000..0b4f955d --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateResponseSkusItemFieldDataCompareAtPrice.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * comparison price of SKU + */ +export interface ProductsCreateResponseSkusItemFieldDataCompareAtPrice { + /** Price of SKU */ + value?: number; + /** Currency of Item */ + unit?: string; +} diff --git a/src/api/resources/products/types/ProductsCreateResponseSkusItemFieldDataEcSkuBillingMethod.ts b/src/api/resources/products/types/ProductsCreateResponseSkusItemFieldDataEcSkuBillingMethod.ts new file mode 100644 index 00000000..44cf5f23 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateResponseSkusItemFieldDataEcSkuBillingMethod.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export type ProductsCreateResponseSkusItemFieldDataEcSkuBillingMethod = "one-time" | "subscription"; + +export const ProductsCreateResponseSkusItemFieldDataEcSkuBillingMethod = { + OneTime: "one-time", + Subscription: "subscription", +} as const; diff --git a/src/api/resources/products/types/ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlan.ts b/src/api/resources/products/types/ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlan.ts new file mode 100644 index 00000000..63fea27f --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlan.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlan { + /** Interval of subscription renewal */ + interval?: Webflow.ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval; + /** Frequncy of billing within interval */ + frequency?: number; + /** Number of days of a trial */ + trial?: number; + plans?: Webflow.ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem[]; +} diff --git a/src/api/resources/products/types/ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval.ts b/src/api/resources/products/types/ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval.ts new file mode 100644 index 00000000..be0cbf30 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Interval of subscription renewal + */ +export type ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval = "day" | "week" | "month" | "year"; + +export const ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval = { + Day: "day", + Week: "week", + Month: "month", + Year: "year", +} as const; diff --git a/src/api/resources/products/types/ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.ts b/src/api/resources/products/types/ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.ts new file mode 100644 index 00000000..6381ce65 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem { + /** The platform of the subscription plan */ + platform?: "stripe"; + /** The unique identifier of the plan */ + id?: string; + /** The status of the plan */ + status?: Webflow.ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus; +} diff --git a/src/api/resources/products/types/ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts b/src/api/resources/products/types/ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts new file mode 100644 index 00000000..a6d6792a --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The status of the plan + */ +export type ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus = + | "active" + | "inactive" + | "canceled"; + +export const ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus = { + Active: "active", + Inactive: "inactive", + Canceled: "canceled", +} as const; diff --git a/src/api/resources/products/types/ProductsCreateResponseSkusItemFieldDataPrice.ts b/src/api/resources/products/types/ProductsCreateResponseSkusItemFieldDataPrice.ts new file mode 100644 index 00000000..1bc50e06 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateResponseSkusItemFieldDataPrice.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * price of SKU + */ +export interface ProductsCreateResponseSkusItemFieldDataPrice { + /** Price of SKU */ + value?: number; + /** Currency of Item */ + unit?: string; +} diff --git a/src/api/resources/products/types/ProductsCreateSkuRequestPublishStatus.ts b/src/api/resources/products/types/ProductsCreateSkuRequestPublishStatus.ts new file mode 100644 index 00000000..fafb74d1 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateSkuRequestPublishStatus.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Indicate whether your Product should be set as "staging" or "live" + */ +export type ProductsCreateSkuRequestPublishStatus = "staging" | "live"; + +export const ProductsCreateSkuRequestPublishStatus = { + Staging: "staging", + Live: "live", +} as const; diff --git a/src/api/resources/products/types/ProductsCreateSkuRequestSkusItem.ts b/src/api/resources/products/types/ProductsCreateSkuRequestSkusItem.ts new file mode 100644 index 00000000..97cd831a --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateSkuRequestSkusItem.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The SKU object + */ +export interface ProductsCreateSkuRequestSkusItem { + /** Standard and Custom fields for a SKU */ + fieldData?: Webflow.ProductsCreateSkuRequestSkusItemFieldData; +} diff --git a/src/api/resources/products/types/ProductsCreateSkuRequestSkusItemFieldData.ts b/src/api/resources/products/types/ProductsCreateSkuRequestSkusItemFieldData.ts new file mode 100644 index 00000000..52398177 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateSkuRequestSkusItemFieldData.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Standard and Custom fields for a SKU + */ +export interface ProductsCreateSkuRequestSkusItemFieldData { + /** A dictionary that maps a SKU property to a SKU value. The key of the dictionary is the SKU property ID, and the value is the SKU value ID. */ + skuValues?: Record; + /** Name of the Product */ + name: string; + /** URL structure of the Product in your site. */ + slug: string; + /** price of SKU */ + price: Webflow.ProductsCreateSkuRequestSkusItemFieldDataPrice; + /** comparison price of SKU */ + compareAtPrice?: Webflow.ProductsCreateSkuRequestSkusItemFieldDataCompareAtPrice; + ecSkuBillingMethod?: Webflow.ProductsCreateSkuRequestSkusItemFieldDataEcSkuBillingMethod; + ecSkuSubscriptionPlan?: Webflow.ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlan; + /** A boolean indicating whether inventory for this product should be tracked. */ + trackInventory?: boolean; + /** Quantity of SKU that will be tracked as items are ordered. */ + quantity?: number; +} diff --git a/src/api/resources/products/types/ProductsCreateSkuRequestSkusItemFieldDataCompareAtPrice.ts b/src/api/resources/products/types/ProductsCreateSkuRequestSkusItemFieldDataCompareAtPrice.ts new file mode 100644 index 00000000..fb163e2c --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateSkuRequestSkusItemFieldDataCompareAtPrice.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * comparison price of SKU + */ +export interface ProductsCreateSkuRequestSkusItemFieldDataCompareAtPrice { + /** Price of SKU */ + value?: number; + /** Currency of Item */ + unit?: string; +} diff --git a/src/api/resources/products/types/ProductsCreateSkuRequestSkusItemFieldDataEcSkuBillingMethod.ts b/src/api/resources/products/types/ProductsCreateSkuRequestSkusItemFieldDataEcSkuBillingMethod.ts new file mode 100644 index 00000000..4784630a --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateSkuRequestSkusItemFieldDataEcSkuBillingMethod.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export type ProductsCreateSkuRequestSkusItemFieldDataEcSkuBillingMethod = "one-time" | "subscription"; + +export const ProductsCreateSkuRequestSkusItemFieldDataEcSkuBillingMethod = { + OneTime: "one-time", + Subscription: "subscription", +} as const; diff --git a/src/api/resources/products/types/ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlan.ts b/src/api/resources/products/types/ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlan.ts new file mode 100644 index 00000000..16d676e9 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlan.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlan { + /** Interval of subscription renewal */ + interval?: Webflow.ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlanInterval; + /** Frequncy of billing within interval */ + frequency?: number; + /** Number of days of a trial */ + trial?: number; +} diff --git a/src/api/resources/products/types/ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlanInterval.ts b/src/api/resources/products/types/ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlanInterval.ts new file mode 100644 index 00000000..1efd54c2 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlanInterval.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Interval of subscription renewal + */ +export type ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlanInterval = "day" | "week" | "month" | "year"; + +export const ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlanInterval = { + Day: "day", + Week: "week", + Month: "month", + Year: "year", +} as const; diff --git a/src/api/resources/products/types/ProductsCreateSkuRequestSkusItemFieldDataPrice.ts b/src/api/resources/products/types/ProductsCreateSkuRequestSkusItemFieldDataPrice.ts new file mode 100644 index 00000000..6c45d9bb --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateSkuRequestSkusItemFieldDataPrice.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * price of SKU + */ +export interface ProductsCreateSkuRequestSkusItemFieldDataPrice { + /** Price of SKU */ + value?: number; + /** Currency of Item */ + unit?: string; +} diff --git a/src/api/resources/products/types/ProductsCreateSkuResponse.ts b/src/api/resources/products/types/ProductsCreateSkuResponse.ts index 0f1f0c50..0bf4f093 100644 --- a/src/api/resources/products/types/ProductsCreateSkuResponse.ts +++ b/src/api/resources/products/types/ProductsCreateSkuResponse.ts @@ -5,5 +5,5 @@ import * as Webflow from "../../../index"; export interface ProductsCreateSkuResponse { - skus?: Webflow.Sku[]; + skus?: Webflow.ProductsCreateSkuResponseSkusItem[]; } diff --git a/src/api/resources/products/types/ProductsCreateSkuResponseSkusItem.ts b/src/api/resources/products/types/ProductsCreateSkuResponseSkusItem.ts new file mode 100644 index 00000000..54191fb8 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateSkuResponseSkusItem.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The SKU object + */ +export interface ProductsCreateSkuResponseSkusItem { + /** Unique identifier for the Product */ + id?: string; + /** Identifier for the locale of the CMS item */ + cmsLocaleId?: string; + /** The date the Product was last published */ + lastPublished?: Date; + /** The date the Product was last updated */ + lastUpdated?: Date; + /** The date the Product was created */ + createdOn?: Date; + /** Standard and Custom fields for a SKU */ + fieldData?: Webflow.ProductsCreateSkuResponseSkusItemFieldData; +} diff --git a/src/api/resources/products/types/ProductsCreateSkuResponseSkusItemFieldData.ts b/src/api/resources/products/types/ProductsCreateSkuResponseSkusItemFieldData.ts new file mode 100644 index 00000000..f2d2b880 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateSkuResponseSkusItemFieldData.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Standard and Custom fields for a SKU + */ +export interface ProductsCreateSkuResponseSkusItemFieldData { + /** A dictionary that maps a SKU property to a SKU value. The key of the dictionary is the SKU property ID, and the value is the SKU value ID. */ + skuValues?: Record; + /** Name of the Product */ + name: string; + /** URL structure of the Product in your site. */ + slug: string; + /** price of SKU */ + price: Webflow.ProductsCreateSkuResponseSkusItemFieldDataPrice; + /** comparison price of SKU */ + compareAtPrice?: Webflow.ProductsCreateSkuResponseSkusItemFieldDataCompareAtPrice; + ecSkuBillingMethod?: Webflow.ProductsCreateSkuResponseSkusItemFieldDataEcSkuBillingMethod; + ecSkuSubscriptionPlan?: Webflow.ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlan; + /** A boolean indicating whether inventory for this product should be tracked. */ + trackInventory?: boolean; + /** Quantity of SKU that will be tracked as items are ordered. */ + quantity?: number; +} diff --git a/src/api/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataCompareAtPrice.ts b/src/api/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataCompareAtPrice.ts new file mode 100644 index 00000000..4bdb7ef5 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataCompareAtPrice.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * comparison price of SKU + */ +export interface ProductsCreateSkuResponseSkusItemFieldDataCompareAtPrice { + /** Price of SKU */ + value?: number; + /** Currency of Item */ + unit?: string; +} diff --git a/src/api/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataEcSkuBillingMethod.ts b/src/api/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataEcSkuBillingMethod.ts new file mode 100644 index 00000000..20d61737 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataEcSkuBillingMethod.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export type ProductsCreateSkuResponseSkusItemFieldDataEcSkuBillingMethod = "one-time" | "subscription"; + +export const ProductsCreateSkuResponseSkusItemFieldDataEcSkuBillingMethod = { + OneTime: "one-time", + Subscription: "subscription", +} as const; diff --git a/src/api/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlan.ts b/src/api/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlan.ts new file mode 100644 index 00000000..a1d264e0 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlan.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlan { + /** Interval of subscription renewal */ + interval?: Webflow.ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval; + /** Frequncy of billing within interval */ + frequency?: number; + /** Number of days of a trial */ + trial?: number; + plans?: Webflow.ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem[]; +} diff --git a/src/api/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval.ts b/src/api/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval.ts new file mode 100644 index 00000000..f0af838c --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Interval of subscription renewal + */ +export type ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval = "day" | "week" | "month" | "year"; + +export const ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval = { + Day: "day", + Week: "week", + Month: "month", + Year: "year", +} as const; diff --git a/src/api/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.ts b/src/api/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.ts new file mode 100644 index 00000000..9efc4f98 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem { + /** The platform of the subscription plan */ + platform?: "stripe"; + /** The unique identifier of the plan */ + id?: string; + /** The status of the plan */ + status?: Webflow.ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus; +} diff --git a/src/api/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts b/src/api/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts new file mode 100644 index 00000000..de9540d7 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The status of the plan + */ +export type ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus = + | "active" + | "inactive" + | "canceled"; + +export const ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus = { + Active: "active", + Inactive: "inactive", + Canceled: "canceled", +} as const; diff --git a/src/api/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataPrice.ts b/src/api/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataPrice.ts new file mode 100644 index 00000000..a88c1d92 --- /dev/null +++ b/src/api/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataPrice.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * price of SKU + */ +export interface ProductsCreateSkuResponseSkusItemFieldDataPrice { + /** Price of SKU */ + value?: number; + /** Currency of Item */ + unit?: string; +} diff --git a/src/api/resources/products/types/ProductsGetResponse.ts b/src/api/resources/products/types/ProductsGetResponse.ts new file mode 100644 index 00000000..913683f0 --- /dev/null +++ b/src/api/resources/products/types/ProductsGetResponse.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * A product and its SKUs. + */ +export interface ProductsGetResponse { + /** The Product object */ + product?: Webflow.ProductsGetResponseProduct; + /** A list of SKU Objects */ + skus?: Webflow.ProductsGetResponseSkusItem[]; +} diff --git a/src/api/resources/products/types/ProductsGetResponseProduct.ts b/src/api/resources/products/types/ProductsGetResponseProduct.ts new file mode 100644 index 00000000..766e4b12 --- /dev/null +++ b/src/api/resources/products/types/ProductsGetResponseProduct.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The Product object + */ +export interface ProductsGetResponseProduct { + /** Unique identifier for the Product */ + id?: string; + /** Identifier for the locale of the CMS item */ + cmsLocaleId?: string; + /** The date the Product was last published */ + lastPublished?: Date; + /** The date the Product was last updated */ + lastUpdated?: Date; + /** The date the Product was created */ + createdOn?: Date; + /** Boolean determining if the Product is set to archived */ + isArchived?: boolean; + /** Boolean determining if the Product is set to draft */ + isDraft?: boolean; + /** Contains content-specific details for a product, covering both standard (e.g., title, description) and custom fields tailored to the product setup. */ + fieldData?: Webflow.ProductsGetResponseProductFieldData; +} diff --git a/src/api/resources/products/types/ProductsGetResponseProductFieldData.ts b/src/api/resources/products/types/ProductsGetResponseProductFieldData.ts new file mode 100644 index 00000000..674fb2eb --- /dev/null +++ b/src/api/resources/products/types/ProductsGetResponseProductFieldData.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Contains content-specific details for a product, covering both standard (e.g., title, description) and custom fields tailored to the product setup. + */ +export interface ProductsGetResponseProductFieldData { + /** Name of the Product */ + name?: string; + /** URL structure of the Product in your site. */ + slug?: string; + /** A description of your product */ + description?: string; + /** Boolean determining if the Product is shippable */ + shippable?: boolean; + /** Variant types to include in SKUs */ + skuProperties?: Webflow.ProductsGetResponseProductFieldDataSkuPropertiesItem[]; + /** The categories your product belongs to. */ + categories?: string[]; + /** Product tax class */ + taxCategory?: Webflow.ProductsGetResponseProductFieldDataTaxCategory; + /** The default SKU associated with this product. */ + defaultSku?: string; + /** Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced" */ + ecProductType?: Webflow.ProductsGetResponseProductFieldDataEcProductType; +} diff --git a/src/api/resources/products/types/ProductsGetResponseProductFieldDataEcProductType.ts b/src/api/resources/products/types/ProductsGetResponseProductFieldDataEcProductType.ts new file mode 100644 index 00000000..1837c28d --- /dev/null +++ b/src/api/resources/products/types/ProductsGetResponseProductFieldDataEcProductType.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced" + */ +export type ProductsGetResponseProductFieldDataEcProductType = + | "ff42fee0113744f693a764e3431a9cc2" + | "f22027db68002190aef89a4a2b7ac8a1" + | "c599e43b1a1c34d5a323aedf75d3adf6" + | "b6ccc1830db4b1babeb06a9ac5f6dd76"; + +export const ProductsGetResponseProductFieldDataEcProductType = { + Ff42Fee0113744F693A764E3431A9Cc2: "ff42fee0113744f693a764e3431a9cc2", + F22027Db68002190Aef89A4A2B7Ac8A1: "f22027db68002190aef89a4a2b7ac8a1", + C599E43B1A1C34D5A323Aedf75D3Adf6: "c599e43b1a1c34d5a323aedf75d3adf6", + B6Ccc1830Db4B1Babeb06A9Ac5F6Dd76: "b6ccc1830db4b1babeb06a9ac5f6dd76", +} as const; diff --git a/src/api/resources/products/types/ProductsGetResponseProductFieldDataSkuPropertiesItem.ts b/src/api/resources/products/types/ProductsGetResponseProductFieldDataSkuPropertiesItem.ts new file mode 100644 index 00000000..127e0f29 --- /dev/null +++ b/src/api/resources/products/types/ProductsGetResponseProductFieldDataSkuPropertiesItem.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * A variant/option type for a SKU + */ +export interface ProductsGetResponseProductFieldDataSkuPropertiesItem { + /** Unique identifier for a collection of Product Variants */ + id: string; + /** Name of the collection of Product Variants */ + name: string; + /** The individual Product variants that are contained within the collection */ + enum: Webflow.ProductsGetResponseProductFieldDataSkuPropertiesItemEnumItem[]; +} diff --git a/src/api/resources/products/types/ProductsGetResponseProductFieldDataSkuPropertiesItemEnumItem.ts b/src/api/resources/products/types/ProductsGetResponseProductFieldDataSkuPropertiesItemEnumItem.ts new file mode 100644 index 00000000..c3e5e5d2 --- /dev/null +++ b/src/api/resources/products/types/ProductsGetResponseProductFieldDataSkuPropertiesItemEnumItem.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Enumerated Product variants/Options for the SKU + */ +export interface ProductsGetResponseProductFieldDataSkuPropertiesItemEnumItem { + /** Unique identifier for a Product variant/Option */ + id: string; + /** Name of the Product variant/Option */ + name: string; + /** Slug for the Product variant/Option in the Site URL structure */ + slug: string; +} diff --git a/src/api/resources/products/types/ProductsGetResponseProductFieldDataTaxCategory.ts b/src/api/resources/products/types/ProductsGetResponseProductFieldDataTaxCategory.ts new file mode 100644 index 00000000..83569d5b --- /dev/null +++ b/src/api/resources/products/types/ProductsGetResponseProductFieldDataTaxCategory.ts @@ -0,0 +1,69 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Product tax class + */ +export type ProductsGetResponseProductFieldDataTaxCategory = + | "standard-taxable" + | "standard-exempt" + | "books-religious" + | "books-textbook" + | "clothing" + | "clothing-swimwear" + | "digital-goods" + | "digital-service" + | "drugs-non-prescription" + | "drugs-prescription" + | "food-bottled-water" + | "food-candy" + | "food-groceries" + | "food-prepared" + | "food-soda" + | "food-supplements" + | "magazine-individual" + | "magazine-subscription" + | "service-admission" + | "service-advertising" + | "service-dry-cleaning" + | "service-hairdressing" + | "service-installation" + | "service-miscellaneous" + | "service-parking" + | "service-printing" + | "service-professional" + | "service-repair" + | "service-training"; + +export const ProductsGetResponseProductFieldDataTaxCategory = { + StandardTaxable: "standard-taxable", + StandardExempt: "standard-exempt", + BooksReligious: "books-religious", + BooksTextbook: "books-textbook", + Clothing: "clothing", + ClothingSwimwear: "clothing-swimwear", + DigitalGoods: "digital-goods", + DigitalService: "digital-service", + DrugsNonPrescription: "drugs-non-prescription", + DrugsPrescription: "drugs-prescription", + FoodBottledWater: "food-bottled-water", + FoodCandy: "food-candy", + FoodGroceries: "food-groceries", + FoodPrepared: "food-prepared", + FoodSoda: "food-soda", + FoodSupplements: "food-supplements", + MagazineIndividual: "magazine-individual", + MagazineSubscription: "magazine-subscription", + ServiceAdmission: "service-admission", + ServiceAdvertising: "service-advertising", + ServiceDryCleaning: "service-dry-cleaning", + ServiceHairdressing: "service-hairdressing", + ServiceInstallation: "service-installation", + ServiceMiscellaneous: "service-miscellaneous", + ServiceParking: "service-parking", + ServicePrinting: "service-printing", + ServiceProfessional: "service-professional", + ServiceRepair: "service-repair", + ServiceTraining: "service-training", +} as const; diff --git a/src/api/resources/products/types/ProductsGetResponseSkusItem.ts b/src/api/resources/products/types/ProductsGetResponseSkusItem.ts new file mode 100644 index 00000000..b90f29f1 --- /dev/null +++ b/src/api/resources/products/types/ProductsGetResponseSkusItem.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The SKU object + */ +export interface ProductsGetResponseSkusItem { + /** Unique identifier for the Product */ + id?: string; + /** Identifier for the locale of the CMS item */ + cmsLocaleId?: string; + /** The date the Product was last published */ + lastPublished?: Date; + /** The date the Product was last updated */ + lastUpdated?: Date; + /** The date the Product was created */ + createdOn?: Date; + /** Standard and Custom fields for a SKU */ + fieldData?: Webflow.ProductsGetResponseSkusItemFieldData; +} diff --git a/src/api/resources/products/types/ProductsGetResponseSkusItemFieldData.ts b/src/api/resources/products/types/ProductsGetResponseSkusItemFieldData.ts new file mode 100644 index 00000000..f394ef11 --- /dev/null +++ b/src/api/resources/products/types/ProductsGetResponseSkusItemFieldData.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Standard and Custom fields for a SKU + */ +export interface ProductsGetResponseSkusItemFieldData { + /** A dictionary that maps a SKU property to a SKU value. The key of the dictionary is the SKU property ID, and the value is the SKU value ID. */ + skuValues?: Record; + /** Name of the Product */ + name: string; + /** URL structure of the Product in your site. */ + slug: string; + /** price of SKU */ + price: Webflow.ProductsGetResponseSkusItemFieldDataPrice; + /** comparison price of SKU */ + compareAtPrice?: Webflow.ProductsGetResponseSkusItemFieldDataCompareAtPrice; + ecSkuBillingMethod?: Webflow.ProductsGetResponseSkusItemFieldDataEcSkuBillingMethod; + ecSkuSubscriptionPlan?: Webflow.ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlan; + /** A boolean indicating whether inventory for this product should be tracked. */ + trackInventory?: boolean; + /** Quantity of SKU that will be tracked as items are ordered. */ + quantity?: number; +} diff --git a/src/api/resources/products/types/ProductsGetResponseSkusItemFieldDataCompareAtPrice.ts b/src/api/resources/products/types/ProductsGetResponseSkusItemFieldDataCompareAtPrice.ts new file mode 100644 index 00000000..236f8150 --- /dev/null +++ b/src/api/resources/products/types/ProductsGetResponseSkusItemFieldDataCompareAtPrice.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * comparison price of SKU + */ +export interface ProductsGetResponseSkusItemFieldDataCompareAtPrice { + /** Price of SKU */ + value?: number; + /** Currency of Item */ + unit?: string; +} diff --git a/src/api/resources/products/types/ProductsGetResponseSkusItemFieldDataEcSkuBillingMethod.ts b/src/api/resources/products/types/ProductsGetResponseSkusItemFieldDataEcSkuBillingMethod.ts new file mode 100644 index 00000000..9e7e5431 --- /dev/null +++ b/src/api/resources/products/types/ProductsGetResponseSkusItemFieldDataEcSkuBillingMethod.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export type ProductsGetResponseSkusItemFieldDataEcSkuBillingMethod = "one-time" | "subscription"; + +export const ProductsGetResponseSkusItemFieldDataEcSkuBillingMethod = { + OneTime: "one-time", + Subscription: "subscription", +} as const; diff --git a/src/api/resources/products/types/ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlan.ts b/src/api/resources/products/types/ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlan.ts new file mode 100644 index 00000000..a06686b0 --- /dev/null +++ b/src/api/resources/products/types/ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlan.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlan { + /** Interval of subscription renewal */ + interval?: Webflow.ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval; + /** Frequncy of billing within interval */ + frequency?: number; + /** Number of days of a trial */ + trial?: number; + plans?: Webflow.ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem[]; +} diff --git a/src/api/resources/products/types/ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval.ts b/src/api/resources/products/types/ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval.ts new file mode 100644 index 00000000..30cbba2f --- /dev/null +++ b/src/api/resources/products/types/ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Interval of subscription renewal + */ +export type ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval = "day" | "week" | "month" | "year"; + +export const ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval = { + Day: "day", + Week: "week", + Month: "month", + Year: "year", +} as const; diff --git a/src/api/resources/products/types/ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.ts b/src/api/resources/products/types/ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.ts new file mode 100644 index 00000000..2aefa9f8 --- /dev/null +++ b/src/api/resources/products/types/ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem { + /** The platform of the subscription plan */ + platform?: "stripe"; + /** The unique identifier of the plan */ + id?: string; + /** The status of the plan */ + status?: Webflow.ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus; +} diff --git a/src/api/resources/products/types/ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts b/src/api/resources/products/types/ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts new file mode 100644 index 00000000..3cac742e --- /dev/null +++ b/src/api/resources/products/types/ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The status of the plan + */ +export type ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus = + | "active" + | "inactive" + | "canceled"; + +export const ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus = { + Active: "active", + Inactive: "inactive", + Canceled: "canceled", +} as const; diff --git a/src/api/resources/products/types/ProductsGetResponseSkusItemFieldDataPrice.ts b/src/api/resources/products/types/ProductsGetResponseSkusItemFieldDataPrice.ts new file mode 100644 index 00000000..4727b6c1 --- /dev/null +++ b/src/api/resources/products/types/ProductsGetResponseSkusItemFieldDataPrice.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * price of SKU + */ +export interface ProductsGetResponseSkusItemFieldDataPrice { + /** Price of SKU */ + value?: number; + /** Currency of Item */ + unit?: string; +} diff --git a/src/api/resources/products/types/ProductsListResponse.ts b/src/api/resources/products/types/ProductsListResponse.ts new file mode 100644 index 00000000..3bee177d --- /dev/null +++ b/src/api/resources/products/types/ProductsListResponse.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Results from product list + */ +export interface ProductsListResponse { + /** List of Item objects within the Collection. Contains product and skus keys for each Item */ + items?: Webflow.ProductsListResponseItemsItem[]; + /** Pagination object */ + pagination?: Webflow.ProductsListResponsePagination; +} diff --git a/src/api/resources/products/types/ProductsListResponseItemsItem.ts b/src/api/resources/products/types/ProductsListResponseItemsItem.ts new file mode 100644 index 00000000..074f6545 --- /dev/null +++ b/src/api/resources/products/types/ProductsListResponseItemsItem.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * A product and its SKUs. + */ +export interface ProductsListResponseItemsItem { + /** The Product object */ + product?: Webflow.ProductsListResponseItemsItemProduct; + /** A list of SKU Objects */ + skus?: Webflow.ProductsListResponseItemsItemSkusItem[]; +} diff --git a/src/api/resources/products/types/ProductsListResponseItemsItemProduct.ts b/src/api/resources/products/types/ProductsListResponseItemsItemProduct.ts new file mode 100644 index 00000000..8243b980 --- /dev/null +++ b/src/api/resources/products/types/ProductsListResponseItemsItemProduct.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The Product object + */ +export interface ProductsListResponseItemsItemProduct { + /** Unique identifier for the Product */ + id?: string; + /** Identifier for the locale of the CMS item */ + cmsLocaleId?: string; + /** The date the Product was last published */ + lastPublished?: Date; + /** The date the Product was last updated */ + lastUpdated?: Date; + /** The date the Product was created */ + createdOn?: Date; + /** Boolean determining if the Product is set to archived */ + isArchived?: boolean; + /** Boolean determining if the Product is set to draft */ + isDraft?: boolean; + /** Contains content-specific details for a product, covering both standard (e.g., title, description) and custom fields tailored to the product setup. */ + fieldData?: Webflow.ProductsListResponseItemsItemProductFieldData; +} diff --git a/src/api/resources/products/types/ProductsListResponseItemsItemProductFieldData.ts b/src/api/resources/products/types/ProductsListResponseItemsItemProductFieldData.ts new file mode 100644 index 00000000..6ffce0ba --- /dev/null +++ b/src/api/resources/products/types/ProductsListResponseItemsItemProductFieldData.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Contains content-specific details for a product, covering both standard (e.g., title, description) and custom fields tailored to the product setup. + */ +export interface ProductsListResponseItemsItemProductFieldData { + /** Name of the Product */ + name?: string; + /** URL structure of the Product in your site. */ + slug?: string; + /** A description of your product */ + description?: string; + /** Boolean determining if the Product is shippable */ + shippable?: boolean; + /** Variant types to include in SKUs */ + skuProperties?: Webflow.ProductsListResponseItemsItemProductFieldDataSkuPropertiesItem[]; + /** The categories your product belongs to. */ + categories?: string[]; + /** Product tax class */ + taxCategory?: Webflow.ProductsListResponseItemsItemProductFieldDataTaxCategory; + /** The default SKU associated with this product. */ + defaultSku?: string; + /** Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced" */ + ecProductType?: Webflow.ProductsListResponseItemsItemProductFieldDataEcProductType; +} diff --git a/src/api/resources/products/types/ProductsListResponseItemsItemProductFieldDataEcProductType.ts b/src/api/resources/products/types/ProductsListResponseItemsItemProductFieldDataEcProductType.ts new file mode 100644 index 00000000..25305686 --- /dev/null +++ b/src/api/resources/products/types/ProductsListResponseItemsItemProductFieldDataEcProductType.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced" + */ +export type ProductsListResponseItemsItemProductFieldDataEcProductType = + | "ff42fee0113744f693a764e3431a9cc2" + | "f22027db68002190aef89a4a2b7ac8a1" + | "c599e43b1a1c34d5a323aedf75d3adf6" + | "b6ccc1830db4b1babeb06a9ac5f6dd76"; + +export const ProductsListResponseItemsItemProductFieldDataEcProductType = { + Ff42Fee0113744F693A764E3431A9Cc2: "ff42fee0113744f693a764e3431a9cc2", + F22027Db68002190Aef89A4A2B7Ac8A1: "f22027db68002190aef89a4a2b7ac8a1", + C599E43B1A1C34D5A323Aedf75D3Adf6: "c599e43b1a1c34d5a323aedf75d3adf6", + B6Ccc1830Db4B1Babeb06A9Ac5F6Dd76: "b6ccc1830db4b1babeb06a9ac5f6dd76", +} as const; diff --git a/src/api/resources/products/types/ProductsListResponseItemsItemProductFieldDataSkuPropertiesItem.ts b/src/api/resources/products/types/ProductsListResponseItemsItemProductFieldDataSkuPropertiesItem.ts new file mode 100644 index 00000000..ee0add27 --- /dev/null +++ b/src/api/resources/products/types/ProductsListResponseItemsItemProductFieldDataSkuPropertiesItem.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * A variant/option type for a SKU + */ +export interface ProductsListResponseItemsItemProductFieldDataSkuPropertiesItem { + /** Unique identifier for a collection of Product Variants */ + id: string; + /** Name of the collection of Product Variants */ + name: string; + /** The individual Product variants that are contained within the collection */ + enum: Webflow.ProductsListResponseItemsItemProductFieldDataSkuPropertiesItemEnumItem[]; +} diff --git a/src/api/resources/products/types/ProductsListResponseItemsItemProductFieldDataSkuPropertiesItemEnumItem.ts b/src/api/resources/products/types/ProductsListResponseItemsItemProductFieldDataSkuPropertiesItemEnumItem.ts new file mode 100644 index 00000000..178291f8 --- /dev/null +++ b/src/api/resources/products/types/ProductsListResponseItemsItemProductFieldDataSkuPropertiesItemEnumItem.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Enumerated Product variants/Options for the SKU + */ +export interface ProductsListResponseItemsItemProductFieldDataSkuPropertiesItemEnumItem { + /** Unique identifier for a Product variant/Option */ + id: string; + /** Name of the Product variant/Option */ + name: string; + /** Slug for the Product variant/Option in the Site URL structure */ + slug: string; +} diff --git a/src/api/resources/products/types/ProductsListResponseItemsItemProductFieldDataTaxCategory.ts b/src/api/resources/products/types/ProductsListResponseItemsItemProductFieldDataTaxCategory.ts new file mode 100644 index 00000000..d17231d5 --- /dev/null +++ b/src/api/resources/products/types/ProductsListResponseItemsItemProductFieldDataTaxCategory.ts @@ -0,0 +1,69 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Product tax class + */ +export type ProductsListResponseItemsItemProductFieldDataTaxCategory = + | "standard-taxable" + | "standard-exempt" + | "books-religious" + | "books-textbook" + | "clothing" + | "clothing-swimwear" + | "digital-goods" + | "digital-service" + | "drugs-non-prescription" + | "drugs-prescription" + | "food-bottled-water" + | "food-candy" + | "food-groceries" + | "food-prepared" + | "food-soda" + | "food-supplements" + | "magazine-individual" + | "magazine-subscription" + | "service-admission" + | "service-advertising" + | "service-dry-cleaning" + | "service-hairdressing" + | "service-installation" + | "service-miscellaneous" + | "service-parking" + | "service-printing" + | "service-professional" + | "service-repair" + | "service-training"; + +export const ProductsListResponseItemsItemProductFieldDataTaxCategory = { + StandardTaxable: "standard-taxable", + StandardExempt: "standard-exempt", + BooksReligious: "books-religious", + BooksTextbook: "books-textbook", + Clothing: "clothing", + ClothingSwimwear: "clothing-swimwear", + DigitalGoods: "digital-goods", + DigitalService: "digital-service", + DrugsNonPrescription: "drugs-non-prescription", + DrugsPrescription: "drugs-prescription", + FoodBottledWater: "food-bottled-water", + FoodCandy: "food-candy", + FoodGroceries: "food-groceries", + FoodPrepared: "food-prepared", + FoodSoda: "food-soda", + FoodSupplements: "food-supplements", + MagazineIndividual: "magazine-individual", + MagazineSubscription: "magazine-subscription", + ServiceAdmission: "service-admission", + ServiceAdvertising: "service-advertising", + ServiceDryCleaning: "service-dry-cleaning", + ServiceHairdressing: "service-hairdressing", + ServiceInstallation: "service-installation", + ServiceMiscellaneous: "service-miscellaneous", + ServiceParking: "service-parking", + ServicePrinting: "service-printing", + ServiceProfessional: "service-professional", + ServiceRepair: "service-repair", + ServiceTraining: "service-training", +} as const; diff --git a/src/api/resources/products/types/ProductsListResponseItemsItemSkusItem.ts b/src/api/resources/products/types/ProductsListResponseItemsItemSkusItem.ts new file mode 100644 index 00000000..e311805a --- /dev/null +++ b/src/api/resources/products/types/ProductsListResponseItemsItemSkusItem.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The SKU object + */ +export interface ProductsListResponseItemsItemSkusItem { + /** Unique identifier for the Product */ + id?: string; + /** Identifier for the locale of the CMS item */ + cmsLocaleId?: string; + /** The date the Product was last published */ + lastPublished?: Date; + /** The date the Product was last updated */ + lastUpdated?: Date; + /** The date the Product was created */ + createdOn?: Date; + /** Standard and Custom fields for a SKU */ + fieldData?: Webflow.ProductsListResponseItemsItemSkusItemFieldData; +} diff --git a/src/api/resources/products/types/ProductsListResponseItemsItemSkusItemFieldData.ts b/src/api/resources/products/types/ProductsListResponseItemsItemSkusItemFieldData.ts new file mode 100644 index 00000000..e613727a --- /dev/null +++ b/src/api/resources/products/types/ProductsListResponseItemsItemSkusItemFieldData.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Standard and Custom fields for a SKU + */ +export interface ProductsListResponseItemsItemSkusItemFieldData { + /** A dictionary that maps a SKU property to a SKU value. The key of the dictionary is the SKU property ID, and the value is the SKU value ID. */ + skuValues?: Record; + /** Name of the Product */ + name: string; + /** URL structure of the Product in your site. */ + slug: string; + /** price of SKU */ + price: Webflow.ProductsListResponseItemsItemSkusItemFieldDataPrice; + /** comparison price of SKU */ + compareAtPrice?: Webflow.ProductsListResponseItemsItemSkusItemFieldDataCompareAtPrice; + ecSkuBillingMethod?: Webflow.ProductsListResponseItemsItemSkusItemFieldDataEcSkuBillingMethod; + ecSkuSubscriptionPlan?: Webflow.ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlan; + /** A boolean indicating whether inventory for this product should be tracked. */ + trackInventory?: boolean; + /** Quantity of SKU that will be tracked as items are ordered. */ + quantity?: number; +} diff --git a/src/api/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataCompareAtPrice.ts b/src/api/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataCompareAtPrice.ts new file mode 100644 index 00000000..e03703fc --- /dev/null +++ b/src/api/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataCompareAtPrice.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * comparison price of SKU + */ +export interface ProductsListResponseItemsItemSkusItemFieldDataCompareAtPrice { + /** Price of SKU */ + value?: number; + /** Currency of Item */ + unit?: string; +} diff --git a/src/api/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataEcSkuBillingMethod.ts b/src/api/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataEcSkuBillingMethod.ts new file mode 100644 index 00000000..7ad329a7 --- /dev/null +++ b/src/api/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataEcSkuBillingMethod.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export type ProductsListResponseItemsItemSkusItemFieldDataEcSkuBillingMethod = "one-time" | "subscription"; + +export const ProductsListResponseItemsItemSkusItemFieldDataEcSkuBillingMethod = { + OneTime: "one-time", + Subscription: "subscription", +} as const; diff --git a/src/api/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlan.ts b/src/api/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlan.ts new file mode 100644 index 00000000..38130d20 --- /dev/null +++ b/src/api/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlan.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlan { + /** Interval of subscription renewal */ + interval?: Webflow.ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanInterval; + /** Frequncy of billing within interval */ + frequency?: number; + /** Number of days of a trial */ + trial?: number; + plans?: Webflow.ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItem[]; +} diff --git a/src/api/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanInterval.ts b/src/api/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanInterval.ts new file mode 100644 index 00000000..0952b27c --- /dev/null +++ b/src/api/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanInterval.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Interval of subscription renewal + */ +export type ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanInterval = + | "day" + | "week" + | "month" + | "year"; + +export const ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanInterval = { + Day: "day", + Week: "week", + Month: "month", + Year: "year", +} as const; diff --git a/src/api/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.ts b/src/api/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.ts new file mode 100644 index 00000000..71e71f5b --- /dev/null +++ b/src/api/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItem { + /** The platform of the subscription plan */ + platform?: "stripe"; + /** The unique identifier of the plan */ + id?: string; + /** The status of the plan */ + status?: Webflow.ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus; +} diff --git a/src/api/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts b/src/api/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts new file mode 100644 index 00000000..c01244ff --- /dev/null +++ b/src/api/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The status of the plan + */ +export type ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus = + | "active" + | "inactive" + | "canceled"; + +export const ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus = { + Active: "active", + Inactive: "inactive", + Canceled: "canceled", +} as const; diff --git a/src/api/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataPrice.ts b/src/api/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataPrice.ts new file mode 100644 index 00000000..16d66a91 --- /dev/null +++ b/src/api/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataPrice.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * price of SKU + */ +export interface ProductsListResponseItemsItemSkusItemFieldDataPrice { + /** Price of SKU */ + value?: number; + /** Currency of Item */ + unit?: string; +} diff --git a/src/api/resources/products/types/ProductsListResponsePagination.ts b/src/api/resources/products/types/ProductsListResponsePagination.ts new file mode 100644 index 00000000..ffc7bc30 --- /dev/null +++ b/src/api/resources/products/types/ProductsListResponsePagination.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Pagination object + */ +export interface ProductsListResponsePagination { + /** The limit used for pagination */ + limit?: number; + /** The offset used for pagination */ + offset?: number; + /** The total number of records */ + total?: number; +} diff --git a/src/api/resources/products/types/ProductsUpdateRequestProduct.ts b/src/api/resources/products/types/ProductsUpdateRequestProduct.ts new file mode 100644 index 00000000..d9dc1f5d --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateRequestProduct.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The Product object + */ +export interface ProductsUpdateRequestProduct { + /** Boolean determining if the Product is set to archived */ + isArchived?: boolean; + /** Boolean determining if the Product is set to draft */ + isDraft?: boolean; + /** Contains content-specific details for a product, covering both standard (e.g., title, description) and custom fields tailored to the product setup. */ + fieldData?: Webflow.ProductsUpdateRequestProductFieldData; +} diff --git a/src/api/resources/products/types/ProductsUpdateRequestProductFieldData.ts b/src/api/resources/products/types/ProductsUpdateRequestProductFieldData.ts new file mode 100644 index 00000000..5a6f8489 --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateRequestProductFieldData.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Contains content-specific details for a product, covering both standard (e.g., title, description) and custom fields tailored to the product setup. + */ +export interface ProductsUpdateRequestProductFieldData { + /** Name of the Product */ + name?: string; + /** URL structure of the Product in your site. */ + slug?: string; + /** A description of your product */ + description?: string; + /** Boolean determining if the Product is shippable */ + shippable?: boolean; + /** Variant types to include in SKUs */ + skuProperties?: Webflow.ProductsUpdateRequestProductFieldDataSkuPropertiesItem[]; + /** The categories your product belongs to. */ + categories?: string[]; + /** Product tax class */ + taxCategory?: Webflow.ProductsUpdateRequestProductFieldDataTaxCategory; + /** The default SKU associated with this product. */ + defaultSku?: string; + /** Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced" */ + ecProductType?: Webflow.ProductsUpdateRequestProductFieldDataEcProductType; +} diff --git a/src/api/resources/products/types/ProductsUpdateRequestProductFieldDataEcProductType.ts b/src/api/resources/products/types/ProductsUpdateRequestProductFieldDataEcProductType.ts new file mode 100644 index 00000000..31d919c6 --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateRequestProductFieldDataEcProductType.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced" + */ +export type ProductsUpdateRequestProductFieldDataEcProductType = + | "ff42fee0113744f693a764e3431a9cc2" + | "f22027db68002190aef89a4a2b7ac8a1" + | "c599e43b1a1c34d5a323aedf75d3adf6" + | "b6ccc1830db4b1babeb06a9ac5f6dd76"; + +export const ProductsUpdateRequestProductFieldDataEcProductType = { + Ff42Fee0113744F693A764E3431A9Cc2: "ff42fee0113744f693a764e3431a9cc2", + F22027Db68002190Aef89A4A2B7Ac8A1: "f22027db68002190aef89a4a2b7ac8a1", + C599E43B1A1C34D5A323Aedf75D3Adf6: "c599e43b1a1c34d5a323aedf75d3adf6", + B6Ccc1830Db4B1Babeb06A9Ac5F6Dd76: "b6ccc1830db4b1babeb06a9ac5f6dd76", +} as const; diff --git a/src/api/resources/products/types/ProductsUpdateRequestProductFieldDataSkuPropertiesItem.ts b/src/api/resources/products/types/ProductsUpdateRequestProductFieldDataSkuPropertiesItem.ts new file mode 100644 index 00000000..c6e011f9 --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateRequestProductFieldDataSkuPropertiesItem.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * A variant/option type for a SKU + */ +export interface ProductsUpdateRequestProductFieldDataSkuPropertiesItem { + /** Unique identifier for a collection of Product Variants */ + id: string; + /** Name of the collection of Product Variants */ + name: string; + /** The individual Product variants that are contained within the collection */ + enum: Webflow.ProductsUpdateRequestProductFieldDataSkuPropertiesItemEnumItem[]; +} diff --git a/src/api/resources/products/types/ProductsUpdateRequestProductFieldDataSkuPropertiesItemEnumItem.ts b/src/api/resources/products/types/ProductsUpdateRequestProductFieldDataSkuPropertiesItemEnumItem.ts new file mode 100644 index 00000000..19956ea9 --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateRequestProductFieldDataSkuPropertiesItemEnumItem.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Enumerated Product variants/Options for the SKU + */ +export interface ProductsUpdateRequestProductFieldDataSkuPropertiesItemEnumItem { + /** Unique identifier for a Product variant/Option */ + id: string; + /** Name of the Product variant/Option */ + name: string; + /** Slug for the Product variant/Option in the Site URL structure */ + slug: string; +} diff --git a/src/api/resources/products/types/ProductsUpdateRequestProductFieldDataTaxCategory.ts b/src/api/resources/products/types/ProductsUpdateRequestProductFieldDataTaxCategory.ts new file mode 100644 index 00000000..93c84ea3 --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateRequestProductFieldDataTaxCategory.ts @@ -0,0 +1,69 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Product tax class + */ +export type ProductsUpdateRequestProductFieldDataTaxCategory = + | "standard-taxable" + | "standard-exempt" + | "books-religious" + | "books-textbook" + | "clothing" + | "clothing-swimwear" + | "digital-goods" + | "digital-service" + | "drugs-non-prescription" + | "drugs-prescription" + | "food-bottled-water" + | "food-candy" + | "food-groceries" + | "food-prepared" + | "food-soda" + | "food-supplements" + | "magazine-individual" + | "magazine-subscription" + | "service-admission" + | "service-advertising" + | "service-dry-cleaning" + | "service-hairdressing" + | "service-installation" + | "service-miscellaneous" + | "service-parking" + | "service-printing" + | "service-professional" + | "service-repair" + | "service-training"; + +export const ProductsUpdateRequestProductFieldDataTaxCategory = { + StandardTaxable: "standard-taxable", + StandardExempt: "standard-exempt", + BooksReligious: "books-religious", + BooksTextbook: "books-textbook", + Clothing: "clothing", + ClothingSwimwear: "clothing-swimwear", + DigitalGoods: "digital-goods", + DigitalService: "digital-service", + DrugsNonPrescription: "drugs-non-prescription", + DrugsPrescription: "drugs-prescription", + FoodBottledWater: "food-bottled-water", + FoodCandy: "food-candy", + FoodGroceries: "food-groceries", + FoodPrepared: "food-prepared", + FoodSoda: "food-soda", + FoodSupplements: "food-supplements", + MagazineIndividual: "magazine-individual", + MagazineSubscription: "magazine-subscription", + ServiceAdmission: "service-admission", + ServiceAdvertising: "service-advertising", + ServiceDryCleaning: "service-dry-cleaning", + ServiceHairdressing: "service-hairdressing", + ServiceInstallation: "service-installation", + ServiceMiscellaneous: "service-miscellaneous", + ServiceParking: "service-parking", + ServicePrinting: "service-printing", + ServiceProfessional: "service-professional", + ServiceRepair: "service-repair", + ServiceTraining: "service-training", +} as const; diff --git a/src/api/resources/products/types/ProductsUpdateRequestPublishStatus.ts b/src/api/resources/products/types/ProductsUpdateRequestPublishStatus.ts new file mode 100644 index 00000000..7c384c32 --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateRequestPublishStatus.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Indicate whether your Product should be set as "staging" or "live" + */ +export type ProductsUpdateRequestPublishStatus = "staging" | "live"; + +export const ProductsUpdateRequestPublishStatus = { + Staging: "staging", + Live: "live", +} as const; diff --git a/src/api/resources/products/types/ProductsUpdateRequestSku.ts b/src/api/resources/products/types/ProductsUpdateRequestSku.ts new file mode 100644 index 00000000..eca55aed --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateRequestSku.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The SKU object + */ +export interface ProductsUpdateRequestSku { + /** Standard and Custom fields for a SKU */ + fieldData?: Webflow.ProductsUpdateRequestSkuFieldData; +} diff --git a/src/api/resources/products/types/ProductsUpdateRequestSkuFieldData.ts b/src/api/resources/products/types/ProductsUpdateRequestSkuFieldData.ts new file mode 100644 index 00000000..ddda9a48 --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateRequestSkuFieldData.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Standard and Custom fields for a SKU + */ +export interface ProductsUpdateRequestSkuFieldData { + /** A dictionary that maps a SKU property to a SKU value. The key of the dictionary is the SKU property ID, and the value is the SKU value ID. */ + skuValues?: Record; + /** Name of the Product */ + name: string; + /** URL structure of the Product in your site. */ + slug: string; + /** price of SKU */ + price: Webflow.ProductsUpdateRequestSkuFieldDataPrice; + /** comparison price of SKU */ + compareAtPrice?: Webflow.ProductsUpdateRequestSkuFieldDataCompareAtPrice; + ecSkuBillingMethod?: Webflow.ProductsUpdateRequestSkuFieldDataEcSkuBillingMethod; + ecSkuSubscriptionPlan?: Webflow.ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlan; + /** A boolean indicating whether inventory for this product should be tracked. */ + trackInventory?: boolean; + /** Quantity of SKU that will be tracked as items are ordered. */ + quantity?: number; +} diff --git a/src/api/resources/products/types/ProductsUpdateRequestSkuFieldDataCompareAtPrice.ts b/src/api/resources/products/types/ProductsUpdateRequestSkuFieldDataCompareAtPrice.ts new file mode 100644 index 00000000..63cd7829 --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateRequestSkuFieldDataCompareAtPrice.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * comparison price of SKU + */ +export interface ProductsUpdateRequestSkuFieldDataCompareAtPrice { + /** Price of SKU */ + value?: number; + /** Currency of Item */ + unit?: string; +} diff --git a/src/api/resources/products/types/ProductsUpdateRequestSkuFieldDataEcSkuBillingMethod.ts b/src/api/resources/products/types/ProductsUpdateRequestSkuFieldDataEcSkuBillingMethod.ts new file mode 100644 index 00000000..d2266ad3 --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateRequestSkuFieldDataEcSkuBillingMethod.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export type ProductsUpdateRequestSkuFieldDataEcSkuBillingMethod = "one-time" | "subscription"; + +export const ProductsUpdateRequestSkuFieldDataEcSkuBillingMethod = { + OneTime: "one-time", + Subscription: "subscription", +} as const; diff --git a/src/api/resources/products/types/ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlan.ts b/src/api/resources/products/types/ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlan.ts new file mode 100644 index 00000000..c2a13faa --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlan.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlan { + /** Interval of subscription renewal */ + interval?: Webflow.ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlanInterval; + /** Frequncy of billing within interval */ + frequency?: number; + /** Number of days of a trial */ + trial?: number; +} diff --git a/src/api/resources/products/types/ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlanInterval.ts b/src/api/resources/products/types/ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlanInterval.ts new file mode 100644 index 00000000..e61eb5dd --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlanInterval.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Interval of subscription renewal + */ +export type ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlanInterval = "day" | "week" | "month" | "year"; + +export const ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlanInterval = { + Day: "day", + Week: "week", + Month: "month", + Year: "year", +} as const; diff --git a/src/api/resources/products/types/ProductsUpdateRequestSkuFieldDataPrice.ts b/src/api/resources/products/types/ProductsUpdateRequestSkuFieldDataPrice.ts new file mode 100644 index 00000000..ef113ed2 --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateRequestSkuFieldDataPrice.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * price of SKU + */ +export interface ProductsUpdateRequestSkuFieldDataPrice { + /** Price of SKU */ + value?: number; + /** Currency of Item */ + unit?: string; +} diff --git a/src/api/resources/products/types/ProductsUpdateResponse.ts b/src/api/resources/products/types/ProductsUpdateResponse.ts new file mode 100644 index 00000000..e282cf1e --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateResponse.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The Product object + */ +export interface ProductsUpdateResponse { + /** Unique identifier for the Product */ + id?: string; + /** Identifier for the locale of the CMS item */ + cmsLocaleId?: string; + /** The date the Product was last published */ + lastPublished?: Date; + /** The date the Product was last updated */ + lastUpdated?: Date; + /** The date the Product was created */ + createdOn?: Date; + /** Boolean determining if the Product is set to archived */ + isArchived?: boolean; + /** Boolean determining if the Product is set to draft */ + isDraft?: boolean; + /** Contains content-specific details for a product, covering both standard (e.g., title, description) and custom fields tailored to the product setup. */ + fieldData?: Webflow.ProductsUpdateResponseFieldData; +} diff --git a/src/api/resources/products/types/ProductsUpdateResponseFieldData.ts b/src/api/resources/products/types/ProductsUpdateResponseFieldData.ts new file mode 100644 index 00000000..8016656a --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateResponseFieldData.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Contains content-specific details for a product, covering both standard (e.g., title, description) and custom fields tailored to the product setup. + */ +export interface ProductsUpdateResponseFieldData { + /** Name of the Product */ + name?: string; + /** URL structure of the Product in your site. */ + slug?: string; + /** A description of your product */ + description?: string; + /** Boolean determining if the Product is shippable */ + shippable?: boolean; + /** Variant types to include in SKUs */ + skuProperties?: Webflow.ProductsUpdateResponseFieldDataSkuPropertiesItem[]; + /** The categories your product belongs to. */ + categories?: string[]; + /** Product tax class */ + taxCategory?: Webflow.ProductsUpdateResponseFieldDataTaxCategory; + /** The default SKU associated with this product. */ + defaultSku?: string; + /** Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced" */ + ecProductType?: Webflow.ProductsUpdateResponseFieldDataEcProductType; +} diff --git a/src/api/resources/products/types/ProductsUpdateResponseFieldDataEcProductType.ts b/src/api/resources/products/types/ProductsUpdateResponseFieldDataEcProductType.ts new file mode 100644 index 00000000..086f72de --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateResponseFieldDataEcProductType.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced" + */ +export type ProductsUpdateResponseFieldDataEcProductType = + | "ff42fee0113744f693a764e3431a9cc2" + | "f22027db68002190aef89a4a2b7ac8a1" + | "c599e43b1a1c34d5a323aedf75d3adf6" + | "b6ccc1830db4b1babeb06a9ac5f6dd76"; + +export const ProductsUpdateResponseFieldDataEcProductType = { + Ff42Fee0113744F693A764E3431A9Cc2: "ff42fee0113744f693a764e3431a9cc2", + F22027Db68002190Aef89A4A2B7Ac8A1: "f22027db68002190aef89a4a2b7ac8a1", + C599E43B1A1C34D5A323Aedf75D3Adf6: "c599e43b1a1c34d5a323aedf75d3adf6", + B6Ccc1830Db4B1Babeb06A9Ac5F6Dd76: "b6ccc1830db4b1babeb06a9ac5f6dd76", +} as const; diff --git a/src/api/resources/products/types/ProductsUpdateResponseFieldDataSkuPropertiesItem.ts b/src/api/resources/products/types/ProductsUpdateResponseFieldDataSkuPropertiesItem.ts new file mode 100644 index 00000000..6825d14f --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateResponseFieldDataSkuPropertiesItem.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * A variant/option type for a SKU + */ +export interface ProductsUpdateResponseFieldDataSkuPropertiesItem { + /** Unique identifier for a collection of Product Variants */ + id: string; + /** Name of the collection of Product Variants */ + name: string; + /** The individual Product variants that are contained within the collection */ + enum: Webflow.ProductsUpdateResponseFieldDataSkuPropertiesItemEnumItem[]; +} diff --git a/src/api/resources/products/types/ProductsUpdateResponseFieldDataSkuPropertiesItemEnumItem.ts b/src/api/resources/products/types/ProductsUpdateResponseFieldDataSkuPropertiesItemEnumItem.ts new file mode 100644 index 00000000..799c3b69 --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateResponseFieldDataSkuPropertiesItemEnumItem.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Enumerated Product variants/Options for the SKU + */ +export interface ProductsUpdateResponseFieldDataSkuPropertiesItemEnumItem { + /** Unique identifier for a Product variant/Option */ + id: string; + /** Name of the Product variant/Option */ + name: string; + /** Slug for the Product variant/Option in the Site URL structure */ + slug: string; +} diff --git a/src/api/resources/products/types/ProductsUpdateResponseFieldDataTaxCategory.ts b/src/api/resources/products/types/ProductsUpdateResponseFieldDataTaxCategory.ts new file mode 100644 index 00000000..8f7625fb --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateResponseFieldDataTaxCategory.ts @@ -0,0 +1,69 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Product tax class + */ +export type ProductsUpdateResponseFieldDataTaxCategory = + | "standard-taxable" + | "standard-exempt" + | "books-religious" + | "books-textbook" + | "clothing" + | "clothing-swimwear" + | "digital-goods" + | "digital-service" + | "drugs-non-prescription" + | "drugs-prescription" + | "food-bottled-water" + | "food-candy" + | "food-groceries" + | "food-prepared" + | "food-soda" + | "food-supplements" + | "magazine-individual" + | "magazine-subscription" + | "service-admission" + | "service-advertising" + | "service-dry-cleaning" + | "service-hairdressing" + | "service-installation" + | "service-miscellaneous" + | "service-parking" + | "service-printing" + | "service-professional" + | "service-repair" + | "service-training"; + +export const ProductsUpdateResponseFieldDataTaxCategory = { + StandardTaxable: "standard-taxable", + StandardExempt: "standard-exempt", + BooksReligious: "books-religious", + BooksTextbook: "books-textbook", + Clothing: "clothing", + ClothingSwimwear: "clothing-swimwear", + DigitalGoods: "digital-goods", + DigitalService: "digital-service", + DrugsNonPrescription: "drugs-non-prescription", + DrugsPrescription: "drugs-prescription", + FoodBottledWater: "food-bottled-water", + FoodCandy: "food-candy", + FoodGroceries: "food-groceries", + FoodPrepared: "food-prepared", + FoodSoda: "food-soda", + FoodSupplements: "food-supplements", + MagazineIndividual: "magazine-individual", + MagazineSubscription: "magazine-subscription", + ServiceAdmission: "service-admission", + ServiceAdvertising: "service-advertising", + ServiceDryCleaning: "service-dry-cleaning", + ServiceHairdressing: "service-hairdressing", + ServiceInstallation: "service-installation", + ServiceMiscellaneous: "service-miscellaneous", + ServiceParking: "service-parking", + ServicePrinting: "service-printing", + ServiceProfessional: "service-professional", + ServiceRepair: "service-repair", + ServiceTraining: "service-training", +} as const; diff --git a/src/api/resources/products/types/ProductsUpdateSkuRequestPublishStatus.ts b/src/api/resources/products/types/ProductsUpdateSkuRequestPublishStatus.ts new file mode 100644 index 00000000..be9bc882 --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateSkuRequestPublishStatus.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Indicate whether your Product should be set as "staging" or "live" + */ +export type ProductsUpdateSkuRequestPublishStatus = "staging" | "live"; + +export const ProductsUpdateSkuRequestPublishStatus = { + Staging: "staging", + Live: "live", +} as const; diff --git a/src/api/resources/products/types/ProductsUpdateSkuRequestSku.ts b/src/api/resources/products/types/ProductsUpdateSkuRequestSku.ts new file mode 100644 index 00000000..979ed1ee --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateSkuRequestSku.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The SKU object + */ +export interface ProductsUpdateSkuRequestSku { + /** Standard and Custom fields for a SKU */ + fieldData?: Webflow.ProductsUpdateSkuRequestSkuFieldData; +} diff --git a/src/api/resources/products/types/ProductsUpdateSkuRequestSkuFieldData.ts b/src/api/resources/products/types/ProductsUpdateSkuRequestSkuFieldData.ts new file mode 100644 index 00000000..c4056121 --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateSkuRequestSkuFieldData.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Standard and Custom fields for a SKU + */ +export interface ProductsUpdateSkuRequestSkuFieldData { + /** A dictionary that maps a SKU property to a SKU value. The key of the dictionary is the SKU property ID, and the value is the SKU value ID. */ + skuValues?: Record; + /** Name of the Product */ + name: string; + /** URL structure of the Product in your site. */ + slug: string; + /** price of SKU */ + price: Webflow.ProductsUpdateSkuRequestSkuFieldDataPrice; + /** comparison price of SKU */ + compareAtPrice?: Webflow.ProductsUpdateSkuRequestSkuFieldDataCompareAtPrice; + ecSkuBillingMethod?: Webflow.ProductsUpdateSkuRequestSkuFieldDataEcSkuBillingMethod; + ecSkuSubscriptionPlan?: Webflow.ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlan; + /** A boolean indicating whether inventory for this product should be tracked. */ + trackInventory?: boolean; + /** Quantity of SKU that will be tracked as items are ordered. */ + quantity?: number; +} diff --git a/src/api/resources/products/types/ProductsUpdateSkuRequestSkuFieldDataCompareAtPrice.ts b/src/api/resources/products/types/ProductsUpdateSkuRequestSkuFieldDataCompareAtPrice.ts new file mode 100644 index 00000000..21190c4a --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateSkuRequestSkuFieldDataCompareAtPrice.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * comparison price of SKU + */ +export interface ProductsUpdateSkuRequestSkuFieldDataCompareAtPrice { + /** Price of SKU */ + value?: number; + /** Currency of Item */ + unit?: string; +} diff --git a/src/api/resources/products/types/ProductsUpdateSkuRequestSkuFieldDataEcSkuBillingMethod.ts b/src/api/resources/products/types/ProductsUpdateSkuRequestSkuFieldDataEcSkuBillingMethod.ts new file mode 100644 index 00000000..0c1c22b8 --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateSkuRequestSkuFieldDataEcSkuBillingMethod.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export type ProductsUpdateSkuRequestSkuFieldDataEcSkuBillingMethod = "one-time" | "subscription"; + +export const ProductsUpdateSkuRequestSkuFieldDataEcSkuBillingMethod = { + OneTime: "one-time", + Subscription: "subscription", +} as const; diff --git a/src/api/resources/products/types/ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlan.ts b/src/api/resources/products/types/ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlan.ts new file mode 100644 index 00000000..697855dc --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlan.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlan { + /** Interval of subscription renewal */ + interval?: Webflow.ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlanInterval; + /** Frequncy of billing within interval */ + frequency?: number; + /** Number of days of a trial */ + trial?: number; +} diff --git a/src/api/resources/products/types/ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlanInterval.ts b/src/api/resources/products/types/ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlanInterval.ts new file mode 100644 index 00000000..148f321b --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlanInterval.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Interval of subscription renewal + */ +export type ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlanInterval = "day" | "week" | "month" | "year"; + +export const ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlanInterval = { + Day: "day", + Week: "week", + Month: "month", + Year: "year", +} as const; diff --git a/src/api/resources/products/types/ProductsUpdateSkuRequestSkuFieldDataPrice.ts b/src/api/resources/products/types/ProductsUpdateSkuRequestSkuFieldDataPrice.ts new file mode 100644 index 00000000..b3450993 --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateSkuRequestSkuFieldDataPrice.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * price of SKU + */ +export interface ProductsUpdateSkuRequestSkuFieldDataPrice { + /** Price of SKU */ + value?: number; + /** Currency of Item */ + unit?: string; +} diff --git a/src/api/resources/products/types/ProductsUpdateSkuResponse.ts b/src/api/resources/products/types/ProductsUpdateSkuResponse.ts new file mode 100644 index 00000000..ec6e50a3 --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateSkuResponse.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The SKU object + */ +export interface ProductsUpdateSkuResponse { + /** Unique identifier for the Product */ + id?: string; + /** Identifier for the locale of the CMS item */ + cmsLocaleId?: string; + /** The date the Product was last published */ + lastPublished?: Date; + /** The date the Product was last updated */ + lastUpdated?: Date; + /** The date the Product was created */ + createdOn?: Date; + /** Standard and Custom fields for a SKU */ + fieldData?: Webflow.ProductsUpdateSkuResponseFieldData; +} diff --git a/src/api/resources/products/types/ProductsUpdateSkuResponseFieldData.ts b/src/api/resources/products/types/ProductsUpdateSkuResponseFieldData.ts new file mode 100644 index 00000000..ed9a20b3 --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateSkuResponseFieldData.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Standard and Custom fields for a SKU + */ +export interface ProductsUpdateSkuResponseFieldData { + /** A dictionary that maps a SKU property to a SKU value. The key of the dictionary is the SKU property ID, and the value is the SKU value ID. */ + skuValues?: Record; + /** Name of the Product */ + name: string; + /** URL structure of the Product in your site. */ + slug: string; + /** price of SKU */ + price: Webflow.ProductsUpdateSkuResponseFieldDataPrice; + /** comparison price of SKU */ + compareAtPrice?: Webflow.ProductsUpdateSkuResponseFieldDataCompareAtPrice; + ecSkuBillingMethod?: Webflow.ProductsUpdateSkuResponseFieldDataEcSkuBillingMethod; + ecSkuSubscriptionPlan?: Webflow.ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlan; + /** A boolean indicating whether inventory for this product should be tracked. */ + trackInventory?: boolean; + /** Quantity of SKU that will be tracked as items are ordered. */ + quantity?: number; +} diff --git a/src/api/resources/products/types/ProductsUpdateSkuResponseFieldDataCompareAtPrice.ts b/src/api/resources/products/types/ProductsUpdateSkuResponseFieldDataCompareAtPrice.ts new file mode 100644 index 00000000..22472bad --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateSkuResponseFieldDataCompareAtPrice.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * comparison price of SKU + */ +export interface ProductsUpdateSkuResponseFieldDataCompareAtPrice { + /** Price of SKU */ + value?: number; + /** Currency of Item */ + unit?: string; +} diff --git a/src/api/resources/products/types/ProductsUpdateSkuResponseFieldDataEcSkuBillingMethod.ts b/src/api/resources/products/types/ProductsUpdateSkuResponseFieldDataEcSkuBillingMethod.ts new file mode 100644 index 00000000..fa60dba3 --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateSkuResponseFieldDataEcSkuBillingMethod.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export type ProductsUpdateSkuResponseFieldDataEcSkuBillingMethod = "one-time" | "subscription"; + +export const ProductsUpdateSkuResponseFieldDataEcSkuBillingMethod = { + OneTime: "one-time", + Subscription: "subscription", +} as const; diff --git a/src/api/resources/products/types/ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlan.ts b/src/api/resources/products/types/ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlan.ts new file mode 100644 index 00000000..0e5b3d15 --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlan.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlan { + /** Interval of subscription renewal */ + interval?: Webflow.ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanInterval; + /** Frequncy of billing within interval */ + frequency?: number; + /** Number of days of a trial */ + trial?: number; + plans?: Webflow.ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItem[]; +} diff --git a/src/api/resources/products/types/ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanInterval.ts b/src/api/resources/products/types/ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanInterval.ts new file mode 100644 index 00000000..e4674eda --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanInterval.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Interval of subscription renewal + */ +export type ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanInterval = "day" | "week" | "month" | "year"; + +export const ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanInterval = { + Day: "day", + Week: "week", + Month: "month", + Year: "year", +} as const; diff --git a/src/api/resources/products/types/ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItem.ts b/src/api/resources/products/types/ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItem.ts new file mode 100644 index 00000000..0a011127 --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItem.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItem { + /** The platform of the subscription plan */ + platform?: "stripe"; + /** The unique identifier of the plan */ + id?: string; + /** The status of the plan */ + status?: Webflow.ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItemStatus; +} diff --git a/src/api/resources/products/types/ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts b/src/api/resources/products/types/ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts new file mode 100644 index 00000000..4c5797d1 --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The status of the plan + */ +export type ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItemStatus = "active" | "inactive" | "canceled"; + +export const ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItemStatus = { + Active: "active", + Inactive: "inactive", + Canceled: "canceled", +} as const; diff --git a/src/api/resources/products/types/ProductsUpdateSkuResponseFieldDataPrice.ts b/src/api/resources/products/types/ProductsUpdateSkuResponseFieldDataPrice.ts new file mode 100644 index 00000000..b1348965 --- /dev/null +++ b/src/api/resources/products/types/ProductsUpdateSkuResponseFieldDataPrice.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * price of SKU + */ +export interface ProductsUpdateSkuResponseFieldDataPrice { + /** Price of SKU */ + value?: number; + /** Currency of Item */ + unit?: string; +} diff --git a/src/api/resources/products/types/index.ts b/src/api/resources/products/types/index.ts index e286df49..a9d4c5d1 100644 --- a/src/api/resources/products/types/index.ts +++ b/src/api/resources/products/types/index.ts @@ -1 +1,119 @@ +export * from "./ProductsListResponseItemsItemProductFieldDataSkuPropertiesItemEnumItem"; +export * from "./ProductsListResponseItemsItemProductFieldDataSkuPropertiesItem"; +export * from "./ProductsListResponseItemsItemProductFieldDataTaxCategory"; +export * from "./ProductsListResponseItemsItemProductFieldDataEcProductType"; +export * from "./ProductsListResponseItemsItemProductFieldData"; +export * from "./ProductsListResponseItemsItemProduct"; +export * from "./ProductsListResponseItemsItemSkusItemFieldDataPrice"; +export * from "./ProductsListResponseItemsItemSkusItemFieldDataCompareAtPrice"; +export * from "./ProductsListResponseItemsItemSkusItemFieldDataEcSkuBillingMethod"; +export * from "./ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanInterval"; +export * from "./ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus"; +export * from "./ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItem"; +export * from "./ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlan"; +export * from "./ProductsListResponseItemsItemSkusItemFieldData"; +export * from "./ProductsListResponseItemsItemSkusItem"; +export * from "./ProductsListResponseItemsItem"; +export * from "./ProductsListResponsePagination"; +export * from "./ProductsListResponse"; +export * from "./ProductsCreateRequestPublishStatus"; +export * from "./ProductsCreateRequestProductFieldDataSkuPropertiesItemEnumItem"; +export * from "./ProductsCreateRequestProductFieldDataSkuPropertiesItem"; +export * from "./ProductsCreateRequestProductFieldDataTaxCategory"; +export * from "./ProductsCreateRequestProductFieldDataEcProductType"; +export * from "./ProductsCreateRequestProductFieldData"; +export * from "./ProductsCreateRequestProduct"; +export * from "./ProductsCreateRequestSkuFieldDataPrice"; +export * from "./ProductsCreateRequestSkuFieldDataCompareAtPrice"; +export * from "./ProductsCreateRequestSkuFieldDataEcSkuBillingMethod"; +export * from "./ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlanInterval"; +export * from "./ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlan"; +export * from "./ProductsCreateRequestSkuFieldData"; +export * from "./ProductsCreateRequestSku"; +export * from "./ProductsCreateResponseProductFieldDataSkuPropertiesItemEnumItem"; +export * from "./ProductsCreateResponseProductFieldDataSkuPropertiesItem"; +export * from "./ProductsCreateResponseProductFieldDataTaxCategory"; +export * from "./ProductsCreateResponseProductFieldDataEcProductType"; +export * from "./ProductsCreateResponseProductFieldData"; +export * from "./ProductsCreateResponseProduct"; +export * from "./ProductsCreateResponseSkusItemFieldDataPrice"; +export * from "./ProductsCreateResponseSkusItemFieldDataCompareAtPrice"; +export * from "./ProductsCreateResponseSkusItemFieldDataEcSkuBillingMethod"; +export * from "./ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval"; +export * from "./ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus"; +export * from "./ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem"; +export * from "./ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlan"; +export * from "./ProductsCreateResponseSkusItemFieldData"; +export * from "./ProductsCreateResponseSkusItem"; +export * from "./ProductsCreateResponse"; +export * from "./ProductsGetResponseProductFieldDataSkuPropertiesItemEnumItem"; +export * from "./ProductsGetResponseProductFieldDataSkuPropertiesItem"; +export * from "./ProductsGetResponseProductFieldDataTaxCategory"; +export * from "./ProductsGetResponseProductFieldDataEcProductType"; +export * from "./ProductsGetResponseProductFieldData"; +export * from "./ProductsGetResponseProduct"; +export * from "./ProductsGetResponseSkusItemFieldDataPrice"; +export * from "./ProductsGetResponseSkusItemFieldDataCompareAtPrice"; +export * from "./ProductsGetResponseSkusItemFieldDataEcSkuBillingMethod"; +export * from "./ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval"; +export * from "./ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus"; +export * from "./ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem"; +export * from "./ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlan"; +export * from "./ProductsGetResponseSkusItemFieldData"; +export * from "./ProductsGetResponseSkusItem"; +export * from "./ProductsGetResponse"; +export * from "./ProductsUpdateRequestPublishStatus"; +export * from "./ProductsUpdateRequestProductFieldDataSkuPropertiesItemEnumItem"; +export * from "./ProductsUpdateRequestProductFieldDataSkuPropertiesItem"; +export * from "./ProductsUpdateRequestProductFieldDataTaxCategory"; +export * from "./ProductsUpdateRequestProductFieldDataEcProductType"; +export * from "./ProductsUpdateRequestProductFieldData"; +export * from "./ProductsUpdateRequestProduct"; +export * from "./ProductsUpdateRequestSkuFieldDataPrice"; +export * from "./ProductsUpdateRequestSkuFieldDataCompareAtPrice"; +export * from "./ProductsUpdateRequestSkuFieldDataEcSkuBillingMethod"; +export * from "./ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlanInterval"; +export * from "./ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlan"; +export * from "./ProductsUpdateRequestSkuFieldData"; +export * from "./ProductsUpdateRequestSku"; +export * from "./ProductsUpdateResponseFieldDataSkuPropertiesItemEnumItem"; +export * from "./ProductsUpdateResponseFieldDataSkuPropertiesItem"; +export * from "./ProductsUpdateResponseFieldDataTaxCategory"; +export * from "./ProductsUpdateResponseFieldDataEcProductType"; +export * from "./ProductsUpdateResponseFieldData"; +export * from "./ProductsUpdateResponse"; +export * from "./ProductsCreateSkuRequestPublishStatus"; +export * from "./ProductsCreateSkuRequestSkusItemFieldDataPrice"; +export * from "./ProductsCreateSkuRequestSkusItemFieldDataCompareAtPrice"; +export * from "./ProductsCreateSkuRequestSkusItemFieldDataEcSkuBillingMethod"; +export * from "./ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlanInterval"; +export * from "./ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlan"; +export * from "./ProductsCreateSkuRequestSkusItemFieldData"; +export * from "./ProductsCreateSkuRequestSkusItem"; +export * from "./ProductsCreateSkuResponseSkusItemFieldDataPrice"; +export * from "./ProductsCreateSkuResponseSkusItemFieldDataCompareAtPrice"; +export * from "./ProductsCreateSkuResponseSkusItemFieldDataEcSkuBillingMethod"; +export * from "./ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval"; +export * from "./ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus"; +export * from "./ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem"; +export * from "./ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlan"; +export * from "./ProductsCreateSkuResponseSkusItemFieldData"; +export * from "./ProductsCreateSkuResponseSkusItem"; export * from "./ProductsCreateSkuResponse"; +export * from "./ProductsUpdateSkuRequestPublishStatus"; +export * from "./ProductsUpdateSkuRequestSkuFieldDataPrice"; +export * from "./ProductsUpdateSkuRequestSkuFieldDataCompareAtPrice"; +export * from "./ProductsUpdateSkuRequestSkuFieldDataEcSkuBillingMethod"; +export * from "./ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlanInterval"; +export * from "./ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlan"; +export * from "./ProductsUpdateSkuRequestSkuFieldData"; +export * from "./ProductsUpdateSkuRequestSku"; +export * from "./ProductsUpdateSkuResponseFieldDataPrice"; +export * from "./ProductsUpdateSkuResponseFieldDataCompareAtPrice"; +export * from "./ProductsUpdateSkuResponseFieldDataEcSkuBillingMethod"; +export * from "./ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanInterval"; +export * from "./ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItemStatus"; +export * from "./ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItem"; +export * from "./ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlan"; +export * from "./ProductsUpdateSkuResponseFieldData"; +export * from "./ProductsUpdateSkuResponse"; diff --git a/src/api/resources/scripts/client/Client.ts b/src/api/resources/scripts/client/Client.ts index 537efeb6..fe00e37e 100644 --- a/src/api/resources/scripts/client/Client.ts +++ b/src/api/resources/scripts/client/Client.ts @@ -29,7 +29,16 @@ export class Scripts { constructor(protected readonly _options: Scripts.Options) {} /** - * List of scripts registered to a Site.

In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate `custom_code` endpoints. Additionally, Scripts can be remotely hosted, or registered as inline snippets.
Access to this endpoint requires a bearer token from a Data Client App.
Required scope | `custom_code:read` + * List of scripts registered to a Site. + * + * In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered + * to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate + * `custom_code` endpoints. + * Additionally, Scripts can be remotely hosted, or registered as inline snippets. + * + *
Access to this endpoint requires a bearer token from a Data Client App.
+ * + * Required scope | `custom_code:read` * * @param {string} siteId - Unique identifier for a Site * @param {Scripts.RequestOptions} requestOptions - Request-specific configuration. @@ -43,7 +52,7 @@ export class Scripts { * @example * await client.scripts.list("580e63e98c9a982ac9b8b741") */ - public async list(siteId: string, requestOptions?: Scripts.RequestOptions): Promise { + public async list(siteId: string, requestOptions?: Scripts.RequestOptions): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -54,8 +63,8 @@ export class Scripts { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -66,7 +75,7 @@ export class Scripts { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.RegisteredScriptList.parseOrThrow(_response.body, { + return serializers.ScriptsListResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -84,15 +93,7 @@ export class Scripts { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -119,10 +120,19 @@ export class Scripts { } /** - * Add a script to a Site's Custom Code registry.

In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate `custom_code` endpoints. Additionally, Scripts can be remotely hosted, or registered as inline snippets.
Access to this endpoint requires a bearer token from a Data Client App.


Required scope | `custom_code:write` + * Add a script to a Site's Custom Code registry. + * + * In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered + * to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate + * `custom_code` endpoints. + * Additionally, Scripts can be remotely hosted, or registered as inline snippets. + * + *
Access to this endpoint requires a bearer token from a Data Client App.
+ * + * Required scope | `custom_code:write` * * @param {string} siteId - Unique identifier for a Site - * @param {Webflow.CustomCodeHostedRequest} request + * @param {Webflow.ScriptsRegisterHostedRequest} request * @param {Scripts.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Webflow.BadRequestError} @@ -133,17 +143,18 @@ export class Scripts { * * @example * await client.scripts.registerHosted("580e63e98c9a982ac9b8b741", { - * hostedLocation: "hostedLocation", - * integrityHash: "integrityHash", - * version: "version", - * displayName: "displayName" + * hostedLocation: "https://cdn.jsdelivr.net/.../cmsslider.js", + * integrityHash: "sha384-J+YlJ8v0gpaRoKH7SbFbEmxOZlAxLiwNjfSsBhDooGa5roXlPPpXbEevck4J7YZ+", + * canCopy: true, + * version: "1.0.0", + * displayName: "CMS Slider" * }) */ public async registerHosted( siteId: string, - request: Webflow.CustomCodeHostedRequest, + request: Webflow.ScriptsRegisterHostedRequest, requestOptions?: Scripts.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -154,20 +165,20 @@ export class Scripts { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", requestType: "json", - body: serializers.CustomCodeHostedRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), + body: serializers.ScriptsRegisterHostedRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.CustomCodeHostedResponse.parseOrThrow(_response.body, { + return serializers.ScriptsRegisterHostedResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -185,15 +196,7 @@ export class Scripts { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -220,10 +223,18 @@ export class Scripts { } /** - * Add a script to a Site's Custom Code registry. Inline scripts can be between 1 and 2000 characters.

In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate `custom_code` endpoints.

Access to this endpoint requires a bearer token from a Data Client App.
Required scope | `custom_code:write` + * Add a script to a Site's Custom Code registry. Inline scripts can be between 1 and 2000 characters. + * + * In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered + * to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate + * `custom_code` endpoints. + * + *
Access to this endpoint requires a bearer token from a Data Client App.
+ * + * Required scope | `custom_code:write` * * @param {string} siteId - Unique identifier for a Site - * @param {Webflow.CustomCodeInlineRequest} request + * @param {Webflow.ScriptsRegisterInlineRequest} request * @param {Scripts.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Webflow.BadRequestError} @@ -241,9 +252,9 @@ export class Scripts { */ public async registerInline( siteId: string, - request: Webflow.CustomCodeInlineRequest, + request: Webflow.ScriptsRegisterInlineRequest, requestOptions?: Scripts.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -254,20 +265,20 @@ export class Scripts { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", requestType: "json", - body: serializers.CustomCodeInlineRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), + body: serializers.ScriptsRegisterInlineRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.CustomCodeInlineResponse.parseOrThrow(_response.body, { + return serializers.ScriptsRegisterInlineResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -285,15 +296,7 @@ export class Scripts { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: diff --git a/src/api/resources/scripts/client/requests/CustomCodeHostedRequest.ts b/src/api/resources/scripts/client/requests/CustomCodeHostedRequest.ts deleted file mode 100644 index 3a5e5830..00000000 --- a/src/api/resources/scripts/client/requests/CustomCodeHostedRequest.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * @example - * { - * hostedLocation: "hostedLocation", - * integrityHash: "integrityHash", - * version: "version", - * displayName: "displayName" - * } - */ -export interface CustomCodeHostedRequest { - /** URI for an externally hosted script location */ - hostedLocation: string; - /** Sub-Resource Integrity Hash */ - integrityHash: string; - /** Define whether the script can be copied on site duplication and transfer */ - canCopy?: boolean; - /** A Semantic Version (SemVer) string, denoting the version of the script */ - version: string; - /** User-facing name for the script. Must be between 1 and 50 alphanumeric characters */ - displayName: string; -} diff --git a/src/api/resources/scripts/client/requests/CustomCodeInlineRequest.ts b/src/api/resources/scripts/client/requests/CustomCodeInlineRequest.ts deleted file mode 100644 index d65f3d0e..00000000 --- a/src/api/resources/scripts/client/requests/CustomCodeInlineRequest.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * @example - * { - * sourceCode: "alert('hello world');", - * version: "0.0.1", - * displayName: "Alert" - * } - */ -export interface CustomCodeInlineRequest { - /** The code to be added to the site (to be hosted by Webflow). */ - sourceCode: string; - /** Sub-Resource Integrity Hash. Only required for externally hosted scripts (passed via hostedLocation) */ - integrityHash?: string; - /** Define whether the script can be copied on site duplication and transfer */ - canCopy?: boolean; - /** A Semantic Version (SemVer) string, denoting the version of the script */ - version: string; - /** User-facing name for the script. Must be between 1 and 50 alphanumeric characters */ - displayName: string; -} diff --git a/src/api/resources/scripts/client/requests/ScriptsRegisterHostedRequest.ts b/src/api/resources/scripts/client/requests/ScriptsRegisterHostedRequest.ts new file mode 100644 index 00000000..6711d844 --- /dev/null +++ b/src/api/resources/scripts/client/requests/ScriptsRegisterHostedRequest.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * { + * hostedLocation: "https://cdn.jsdelivr.net/.../cmsslider.js", + * integrityHash: "sha384-J+YlJ8v0gpaRoKH7SbFbEmxOZlAxLiwNjfSsBhDooGa5roXlPPpXbEevck4J7YZ+", + * canCopy: true, + * version: "1.0.0", + * displayName: "CMS Slider" + * } + */ +export interface ScriptsRegisterHostedRequest { + /** URI for an externally hosted script location */ + hostedLocation: string; + /** Sub-Resource Integrity Hash */ + integrityHash: string; + /** Define whether the script can be copied on site duplication and transfer */ + canCopy?: boolean; + /** A Semantic Version (SemVer) string, denoting the version of the script */ + version: string; + /** User-facing name for the script. Must be between 1 and 50 alphanumeric characters */ + displayName: string; +} diff --git a/src/api/resources/scripts/client/requests/ScriptsRegisterInlineRequest.ts b/src/api/resources/scripts/client/requests/ScriptsRegisterInlineRequest.ts new file mode 100644 index 00000000..5c17a546 --- /dev/null +++ b/src/api/resources/scripts/client/requests/ScriptsRegisterInlineRequest.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * { + * sourceCode: "alert('hello world');", + * version: "0.0.1", + * displayName: "Alert" + * } + */ +export interface ScriptsRegisterInlineRequest { + /** The code to be added to the site (to be hosted by Webflow). */ + sourceCode: string; + /** Sub-Resource Integrity Hash. Only required for externally hosted scripts (passed via hostedLocation) */ + integrityHash?: string; + /** Define whether the script can be copied on site duplication and transfer */ + canCopy?: boolean; + /** A Semantic Version (SemVer) string, denoting the version of the script */ + version: string; + /** User-facing name for the script. Must be between 1 and 50 alphanumeric characters */ + displayName: string; +} diff --git a/src/api/resources/scripts/client/requests/index.ts b/src/api/resources/scripts/client/requests/index.ts index 30d6b835..a9c05dda 100644 --- a/src/api/resources/scripts/client/requests/index.ts +++ b/src/api/resources/scripts/client/requests/index.ts @@ -1,2 +1,2 @@ -export { type CustomCodeHostedRequest } from "./CustomCodeHostedRequest"; -export { type CustomCodeInlineRequest } from "./CustomCodeInlineRequest"; +export { type ScriptsRegisterHostedRequest } from "./ScriptsRegisterHostedRequest"; +export { type ScriptsRegisterInlineRequest } from "./ScriptsRegisterInlineRequest"; diff --git a/src/api/resources/scripts/index.ts b/src/api/resources/scripts/index.ts index 5ec76921..c9240f83 100644 --- a/src/api/resources/scripts/index.ts +++ b/src/api/resources/scripts/index.ts @@ -1 +1,2 @@ +export * from "./types"; export * from "./client"; diff --git a/src/api/resources/scripts/types/ScriptsListResponse.ts b/src/api/resources/scripts/types/ScriptsListResponse.ts new file mode 100644 index 00000000..22f22236 --- /dev/null +++ b/src/api/resources/scripts/types/ScriptsListResponse.ts @@ -0,0 +1,12 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * A list of scripts registered to the site + */ +export interface ScriptsListResponse { + registeredScripts?: Webflow.ScriptsListResponseRegisteredScriptsItem[]; +} diff --git a/src/api/resources/scripts/types/ScriptsListResponseRegisteredScriptsItem.ts b/src/api/resources/scripts/types/ScriptsListResponseRegisteredScriptsItem.ts new file mode 100644 index 00000000..25afa620 --- /dev/null +++ b/src/api/resources/scripts/types/ScriptsListResponseRegisteredScriptsItem.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Registered custom code for application + */ +export interface ScriptsListResponseRegisteredScriptsItem { + /** Human readable id, derived from the user-specified display name */ + id?: string; + /** Define whether the script can be copied on site duplication and transfer */ + canCopy?: boolean; + /** User-facing name for the script. Must be between 1 and 50 alphanumeric characters */ + displayName?: string; + /** URI for an externally hosted script location */ + hostedLocation?: string; + /** Sub-Resource Integrity Hash. Only required for externally hosted scripts (passed via hostedLocation) */ + integrityHash?: string; + /** Timestamp when the script version was created */ + createdOn?: string; + /** Timestamp when the script version was last updated */ + lastUpdated?: string; + /** A Semantic Version (SemVer) string, denoting the version of the script */ + version?: string; +} diff --git a/src/api/resources/scripts/types/ScriptsRegisterHostedResponse.ts b/src/api/resources/scripts/types/ScriptsRegisterHostedResponse.ts new file mode 100644 index 00000000..8998addc --- /dev/null +++ b/src/api/resources/scripts/types/ScriptsRegisterHostedResponse.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Registered custom code for application + */ +export interface ScriptsRegisterHostedResponse { + /** Human readable id, derived from the user-specified display name */ + id?: string; + /** Define whether the script can be copied on site duplication and transfer */ + canCopy?: boolean; + /** User-facing name for the script. Must be between 1 and 50 alphanumeric characters */ + displayName?: string; + /** URI for an externally hosted script location */ + hostedLocation?: string; + /** Sub-Resource Integrity Hash. Only required for externally hosted scripts (passed via hostedLocation) */ + integrityHash?: string; + /** Timestamp when the script version was created */ + createdOn?: string; + /** Timestamp when the script version was last updated */ + lastUpdated?: string; + /** A Semantic Version (SemVer) string, denoting the version of the script */ + version?: string; +} diff --git a/src/api/resources/scripts/types/ScriptsRegisterInlineResponse.ts b/src/api/resources/scripts/types/ScriptsRegisterInlineResponse.ts new file mode 100644 index 00000000..73faf00f --- /dev/null +++ b/src/api/resources/scripts/types/ScriptsRegisterInlineResponse.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Registered custom code for application + */ +export interface ScriptsRegisterInlineResponse { + /** Human readable id, derived from the user-specified display name */ + id?: string; + /** Define whether the script can be copied on site duplication and transfer */ + canCopy?: boolean; + /** User-facing name for the script. Must be between 1 and 50 alphanumeric characters */ + displayName?: string; + /** URI for an externally hosted script location */ + hostedLocation?: string; + /** Sub-Resource Integrity Hash. Only required for externally hosted scripts (passed via hostedLocation) */ + integrityHash?: string; + /** Timestamp when the script version was created */ + createdOn?: string; + /** Timestamp when the script version was last updated */ + lastUpdated?: string; + /** A Semantic Version (SemVer) string, denoting the version of the script */ + version?: string; +} diff --git a/src/api/resources/scripts/types/index.ts b/src/api/resources/scripts/types/index.ts new file mode 100644 index 00000000..ef42bd90 --- /dev/null +++ b/src/api/resources/scripts/types/index.ts @@ -0,0 +1,4 @@ +export * from "./ScriptsListResponseRegisteredScriptsItem"; +export * from "./ScriptsListResponse"; +export * from "./ScriptsRegisterHostedResponse"; +export * from "./ScriptsRegisterInlineResponse"; diff --git a/src/api/resources/sites/client/Client.ts b/src/api/resources/sites/client/Client.ts index ad6bf98d..137151d0 100644 --- a/src/api/resources/sites/client/Client.ts +++ b/src/api/resources/sites/client/Client.ts @@ -31,7 +31,9 @@ export class Sites { constructor(protected readonly _options: Sites.Options) {} /** - * List of all sites the provided access token is able to access.

Required scope | `sites:read` + * List of all sites the provided access token is able to access. + * + * Required scope | `sites:read` * * @param {Sites.RequestOptions} requestOptions - Request-specific configuration. * @@ -42,7 +44,7 @@ export class Sites { * @example * await client.sites.list() */ - public async list(requestOptions?: Sites.RequestOptions): Promise { + public async list(requestOptions?: Sites.RequestOptions): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -53,8 +55,8 @@ export class Sites { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -65,7 +67,7 @@ export class Sites { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.Sites.parseOrThrow(_response.body, { + return serializers.SitesListResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -81,15 +83,7 @@ export class Sites { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); default: throw new errors.WebflowError({ statusCode: _response.error.statusCode, @@ -114,7 +108,9 @@ export class Sites { } /** - * Get a site by site id

Required scope | `sites:read` + * Get details of a site. + * + * Required scope | `sites:read` * * @param {string} siteId - Unique identifier for a Site * @param {Sites.RequestOptions} requestOptions - Request-specific configuration. @@ -128,7 +124,7 @@ export class Sites { * @example * await client.sites.get("580e63e98c9a982ac9b8b741") */ - public async get(siteId: string, requestOptions?: Sites.RequestOptions): Promise { + public async get(siteId: string, requestOptions?: Sites.RequestOptions): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -139,8 +135,8 @@ export class Sites { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -151,7 +147,7 @@ export class Sites { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.Site.parseOrThrow(_response.body, { + return serializers.SitesGetResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -169,15 +165,7 @@ export class Sites { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -204,7 +192,9 @@ export class Sites { } /** - * Get a list of all custom domains related to site.

Required scope | `sites:read` + * Get a list of all custom domains related to site. + * + * Required scope | `sites:read` * * @param {string} siteId - Unique identifier for a Site * @param {Sites.RequestOptions} requestOptions - Request-specific configuration. @@ -218,7 +208,10 @@ export class Sites { * @example * await client.sites.getCustomDomain("580e63e98c9a982ac9b8b741") */ - public async getCustomDomain(siteId: string, requestOptions?: Sites.RequestOptions): Promise { + public async getCustomDomain( + siteId: string, + requestOptions?: Sites.RequestOptions + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -229,8 +222,8 @@ export class Sites { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -241,7 +234,7 @@ export class Sites { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.Domains.parseOrThrow(_response.body, { + return serializers.SitesGetCustomDomainResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -259,15 +252,7 @@ export class Sites { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -294,7 +279,11 @@ export class Sites { } /** - * Publish a site to one more more domains.

Required scope | `sites:write`

📘

Endpoint-specific rate limit

This endpoint has a limit of one successful publish queue per minute.

+ * Publishes a site to one or more more domains. + * + * This endpoint has a limit of one successful publish queue per minute. + * + * Required scope | `sites:write` * * @param {string} siteId - Unique identifier for a Site * @param {Webflow.SitesPublishRequest} request @@ -324,8 +313,8 @@ export class Sites { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -357,15 +346,7 @@ export class Sites { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); default: throw new errors.WebflowError({ statusCode: _response.error.statusCode, diff --git a/src/api/resources/sites/client/requests/SitesPublishRequest.ts b/src/api/resources/sites/client/requests/SitesPublishRequest.ts index c8fc5cbc..98d54bb0 100644 --- a/src/api/resources/sites/client/requests/SitesPublishRequest.ts +++ b/src/api/resources/sites/client/requests/SitesPublishRequest.ts @@ -7,7 +7,7 @@ * {} */ export interface SitesPublishRequest { - /** Array of Custom Domain ids to publish */ + /** Array of Custom Domain IDs to publish */ customDomains?: string[]; /** Choice of whether to publish to the default Webflow Subdomain */ publishToWebflowSubdomain?: boolean; diff --git a/src/api/resources/sites/index.ts b/src/api/resources/sites/index.ts index 848e75ab..a931b363 100644 --- a/src/api/resources/sites/index.ts +++ b/src/api/resources/sites/index.ts @@ -1,3 +1,3 @@ export * from "./types"; -export * from "./client"; export * from "./resources"; +export * from "./client"; diff --git a/src/api/resources/sites/resources/activityLogs/client/Client.ts b/src/api/resources/sites/resources/activityLogs/client/Client.ts index 5675d9c4..eecef393 100644 --- a/src/api/resources/sites/resources/activityLogs/client/Client.ts +++ b/src/api/resources/sites/resources/activityLogs/client/Client.ts @@ -47,7 +47,7 @@ export class ActivityLogs { siteId: string, request: Webflow.sites.ActivityLogsListRequest = {}, requestOptions?: ActivityLogs.RequestOptions - ): Promise { + ): Promise { const { limit, offset } = request; const _queryParams: Record = {}; if (limit != null) { @@ -68,8 +68,8 @@ export class ActivityLogs { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -81,7 +81,7 @@ export class ActivityLogs { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.SiteActivityLogResponse.parseOrThrow(_response.body, { + return serializers.sites.ActivityLogsListResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -97,15 +97,7 @@ export class ActivityLogs { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: diff --git a/src/api/resources/sites/resources/activityLogs/index.ts b/src/api/resources/sites/resources/activityLogs/index.ts index 5ec76921..c9240f83 100644 --- a/src/api/resources/sites/resources/activityLogs/index.ts +++ b/src/api/resources/sites/resources/activityLogs/index.ts @@ -1 +1,2 @@ +export * from "./types"; export * from "./client"; diff --git a/src/api/resources/sites/resources/activityLogs/types/ActivityLogsListResponse.ts b/src/api/resources/sites/resources/activityLogs/types/ActivityLogsListResponse.ts new file mode 100644 index 00000000..0760b163 --- /dev/null +++ b/src/api/resources/sites/resources/activityLogs/types/ActivityLogsListResponse.ts @@ -0,0 +1,11 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +export interface ActivityLogsListResponse { + items?: Webflow.sites.ActivityLogsListResponseItemsItem[]; + /** Pagination object */ + pagination?: Webflow.sites.ActivityLogsListResponsePagination; +} diff --git a/src/api/resources/sites/resources/activityLogs/types/ActivityLogsListResponseItemsItem.ts b/src/api/resources/sites/resources/activityLogs/types/ActivityLogsListResponseItemsItem.ts new file mode 100644 index 00000000..601e5142 --- /dev/null +++ b/src/api/resources/sites/resources/activityLogs/types/ActivityLogsListResponseItemsItem.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +export interface ActivityLogsListResponseItemsItem { + id?: string; + createdOn?: Date; + lastUpdated?: Date; + event?: Webflow.sites.ActivityLogsListResponseItemsItemEvent; + resourceOperation?: Webflow.sites.ActivityLogsListResponseItemsItemResourceOperation; + user?: Webflow.sites.ActivityLogsListResponseItemsItemUser; + resourceId?: string; + resourceName?: string; + newValue?: string; + previousValue?: string; + payload?: Record; +} diff --git a/src/api/resources/sites/resources/activityLogs/types/ActivityLogsListResponseItemsItemEvent.ts b/src/api/resources/sites/resources/activityLogs/types/ActivityLogsListResponseItemsItemEvent.ts new file mode 100644 index 00000000..cd4aa67c --- /dev/null +++ b/src/api/resources/sites/resources/activityLogs/types/ActivityLogsListResponseItemsItemEvent.ts @@ -0,0 +1,92 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export type ActivityLogsListResponseItemsItemEvent = + | "styles_modified" + | "site_published" + | "ix2_modified_on_page" + | "page_dom_modified" + | "cms_item" + | "backup_created" + | "page_custom_code_modified" + | "symbols_modified" + | "variable_modified" + | "variables_modified" + | "cms_collection" + | "page_settings_modified" + | "page_settings_custom_code_modified" + | "ix2_modified_on_component" + | "ix2_modified_on_class" + | "site_custom_code_modified" + | "page_duplicated" + | "secondary_locale_page_content_modified" + | "page_renamed" + | "page_created" + | "page_deleted" + | "site_unpublished" + | "backup_restored" + | "locale_added" + | "branch_created" + | "locale_display_name_updated" + | "locale_subdirectory_updated" + | "branch_merged" + | "locale_tag_updated" + | "branch_deleted" + | "locale_enabled" + | "locale_removed" + | "locale_disabled" + | "library_shared" + | "library_unshared" + | "library_installed" + | "library_uninstalled" + | "library_update_shared" + | "library_update_accepted" + | "branch_review_created" + | "branch_review_approved" + | "branch_review_canceled"; + +export const ActivityLogsListResponseItemsItemEvent = { + StylesModified: "styles_modified", + SitePublished: "site_published", + Ix2ModifiedOnPage: "ix2_modified_on_page", + PageDomModified: "page_dom_modified", + CmsItem: "cms_item", + BackupCreated: "backup_created", + PageCustomCodeModified: "page_custom_code_modified", + SymbolsModified: "symbols_modified", + VariableModified: "variable_modified", + VariablesModified: "variables_modified", + CmsCollection: "cms_collection", + PageSettingsModified: "page_settings_modified", + PageSettingsCustomCodeModified: "page_settings_custom_code_modified", + Ix2ModifiedOnComponent: "ix2_modified_on_component", + Ix2ModifiedOnClass: "ix2_modified_on_class", + SiteCustomCodeModified: "site_custom_code_modified", + PageDuplicated: "page_duplicated", + SecondaryLocalePageContentModified: "secondary_locale_page_content_modified", + PageRenamed: "page_renamed", + PageCreated: "page_created", + PageDeleted: "page_deleted", + SiteUnpublished: "site_unpublished", + BackupRestored: "backup_restored", + LocaleAdded: "locale_added", + BranchCreated: "branch_created", + LocaleDisplayNameUpdated: "locale_display_name_updated", + LocaleSubdirectoryUpdated: "locale_subdirectory_updated", + BranchMerged: "branch_merged", + LocaleTagUpdated: "locale_tag_updated", + BranchDeleted: "branch_deleted", + LocaleEnabled: "locale_enabled", + LocaleRemoved: "locale_removed", + LocaleDisabled: "locale_disabled", + LibraryShared: "library_shared", + LibraryUnshared: "library_unshared", + LibraryInstalled: "library_installed", + LibraryUninstalled: "library_uninstalled", + LibraryUpdateShared: "library_update_shared", + LibraryUpdateAccepted: "library_update_accepted", + BranchReviewCreated: "branch_review_created", + BranchReviewApproved: "branch_review_approved", + BranchReviewCanceled: "branch_review_canceled", +} as const; diff --git a/src/api/resources/sites/resources/activityLogs/types/ActivityLogsListResponseItemsItemResourceOperation.ts b/src/api/resources/sites/resources/activityLogs/types/ActivityLogsListResponseItemsItemResourceOperation.ts new file mode 100644 index 00000000..c5df54d4 --- /dev/null +++ b/src/api/resources/sites/resources/activityLogs/types/ActivityLogsListResponseItemsItemResourceOperation.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export type ActivityLogsListResponseItemsItemResourceOperation = + | "CREATED" + | "MODIFIED" + | "PUBLISHED" + | "UNPUBLISHED" + | "DELETED" + | "GROUP_REORDERED" + | "GROUP_CREATED" + | "GROUP_DELETED" + | "REORDERED"; + +export const ActivityLogsListResponseItemsItemResourceOperation = { + Created: "CREATED", + Modified: "MODIFIED", + Published: "PUBLISHED", + Unpublished: "UNPUBLISHED", + Deleted: "DELETED", + GroupReordered: "GROUP_REORDERED", + GroupCreated: "GROUP_CREATED", + GroupDeleted: "GROUP_DELETED", + Reordered: "REORDERED", +} as const; diff --git a/src/api/resources/sites/resources/activityLogs/types/ActivityLogsListResponseItemsItemUser.ts b/src/api/resources/sites/resources/activityLogs/types/ActivityLogsListResponseItemsItemUser.ts new file mode 100644 index 00000000..0963c8a9 --- /dev/null +++ b/src/api/resources/sites/resources/activityLogs/types/ActivityLogsListResponseItemsItemUser.ts @@ -0,0 +1,8 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface ActivityLogsListResponseItemsItemUser { + id?: string; + displayName?: string; +} diff --git a/src/api/resources/sites/resources/activityLogs/types/ActivityLogsListResponsePagination.ts b/src/api/resources/sites/resources/activityLogs/types/ActivityLogsListResponsePagination.ts new file mode 100644 index 00000000..6f3a58ab --- /dev/null +++ b/src/api/resources/sites/resources/activityLogs/types/ActivityLogsListResponsePagination.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Pagination object + */ +export interface ActivityLogsListResponsePagination { + /** The limit used for pagination */ + limit?: number; + /** The offset used for pagination */ + offset?: number; + /** The total number of records */ + total?: number; +} diff --git a/src/api/resources/sites/resources/activityLogs/types/index.ts b/src/api/resources/sites/resources/activityLogs/types/index.ts new file mode 100644 index 00000000..55429842 --- /dev/null +++ b/src/api/resources/sites/resources/activityLogs/types/index.ts @@ -0,0 +1,6 @@ +export * from "./ActivityLogsListResponseItemsItemEvent"; +export * from "./ActivityLogsListResponseItemsItemResourceOperation"; +export * from "./ActivityLogsListResponseItemsItemUser"; +export * from "./ActivityLogsListResponseItemsItem"; +export * from "./ActivityLogsListResponsePagination"; +export * from "./ActivityLogsListResponse"; diff --git a/src/api/resources/sites/resources/index.ts b/src/api/resources/sites/resources/index.ts index 9d23d5e4..1c226a88 100644 --- a/src/api/resources/sites/resources/index.ts +++ b/src/api/resources/sites/resources/index.ts @@ -1,4 +1,6 @@ export * as activityLogs from "./activityLogs"; +export * from "./activityLogs/types"; export * as scripts from "./scripts"; +export * from "./scripts/types"; export * from "./activityLogs/client/requests"; export * from "./scripts/client/requests"; diff --git a/src/api/resources/sites/resources/scripts/client/Client.ts b/src/api/resources/sites/resources/scripts/client/Client.ts index 16e13e45..edf454f6 100644 --- a/src/api/resources/sites/resources/scripts/client/Client.ts +++ b/src/api/resources/sites/resources/scripts/client/Client.ts @@ -29,7 +29,11 @@ export class Scripts { constructor(protected readonly _options: Scripts.Options) {} /** - * Get all registered scripts that have been applied to a specific Site.
Access to this endpoint requires a bearer token from a Data Client App.
Required scope | `custom_code:read` + * Get all registered scripts that have been applied to a specific Site. + * + *
Access to this endpoint requires a bearer token from a Data Client App.
+ * + * Required scope | `custom_code:read` * * @param {string} siteId - Unique identifier for a Site * @param {Scripts.RequestOptions} requestOptions - Request-specific configuration. @@ -46,7 +50,7 @@ export class Scripts { public async getCustomCode( siteId: string, requestOptions?: Scripts.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -57,8 +61,8 @@ export class Scripts { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -69,7 +73,7 @@ export class Scripts { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.ScriptApplyList.parseOrThrow(_response.body, { + return serializers.sites.ScriptsGetCustomCodeResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -87,15 +91,7 @@ export class Scripts { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -122,10 +118,18 @@ export class Scripts { } /** - * Add a registered script to a Site.

In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate `custom_code` endpoints.
Access to this endpoint requires a bearer token from a Data Client App.
Required scope | `custom_code:write` + * Add a registered script to a Site. + * + * In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered + * to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate + * `custom_code` endpoints. + * + *
Access to this endpoint requires a bearer token from a Data Client App.
+ * + * Required scope | `custom_code:write` * * @param {string} siteId - Unique identifier for a Site - * @param {Webflow.ScriptApplyList} request + * @param {Webflow.sites.ScriptsUpsertCustomCodeRequest} request * @param {Scripts.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Webflow.BadRequestError} @@ -152,9 +156,9 @@ export class Scripts { */ public async upsertCustomCode( siteId: string, - request: Webflow.ScriptApplyList, + request: Webflow.sites.ScriptsUpsertCustomCodeRequest = {}, requestOptions?: Scripts.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -165,20 +169,22 @@ export class Scripts { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", requestType: "json", - body: serializers.ScriptApplyList.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), + body: serializers.sites.ScriptsUpsertCustomCodeRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.ScriptApplyList.parseOrThrow(_response.body, { + return serializers.sites.ScriptsUpsertCustomCodeResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -196,15 +202,7 @@ export class Scripts { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -231,7 +229,11 @@ export class Scripts { } /** - * Delete the custom code block that an app created for a Site

Access to this endpoint requires a bearer token from a Data Client App.
Required scope | `custom_code:write` + * Delete the custom code block that an app created for a Site + * + *
Access to this endpoint requires a bearer token from a Data Client App.
+ * + * Required scope | `custom_code:write` * * @param {string} siteId - Unique identifier for a Site * @param {Scripts.RequestOptions} requestOptions - Request-specific configuration. @@ -256,8 +258,8 @@ export class Scripts { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -280,15 +282,7 @@ export class Scripts { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -315,7 +309,11 @@ export class Scripts { } /** - * Get all instances of Custom Code applied to a Site or Pages.
Access to this endpoint requires a bearer token from a Data Client App.
Required scope | `custom_code:read` + * Get all instances of Custom Code applied to a Site or Pages. + * + *
Access to this endpoint requires a bearer token from a Data Client App.
+ * + * Required scope | `custom_code:read` * * @param {string} siteId - Unique identifier for a Site * @param {Webflow.sites.ScriptsListCustomCodeBlocksRequest} request @@ -334,7 +332,7 @@ export class Scripts { siteId: string, request: Webflow.sites.ScriptsListCustomCodeBlocksRequest = {}, requestOptions?: Scripts.RequestOptions - ): Promise { + ): Promise { const { offset, limit } = request; const _queryParams: Record = {}; if (offset != null) { @@ -355,8 +353,8 @@ export class Scripts { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -368,7 +366,7 @@ export class Scripts { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.ListCustomCodeBlocks.parseOrThrow(_response.body, { + return serializers.sites.ScriptsListCustomCodeBlocksResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -386,15 +384,7 @@ export class Scripts { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: diff --git a/src/api/resources/sites/resources/scripts/client/requests/ScriptsUpsertCustomCodeRequest.ts b/src/api/resources/sites/resources/scripts/client/requests/ScriptsUpsertCustomCodeRequest.ts new file mode 100644 index 00000000..2b5e01e2 --- /dev/null +++ b/src/api/resources/sites/resources/scripts/client/requests/ScriptsUpsertCustomCodeRequest.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../../index"; + +/** + * @example + * { + * scripts: [{ + * id: "cms_slider", + * location: "header", + * version: "1.0.0", + * attributes: { + * "my-attribute": "some-value" + * } + * }, { + * id: "alert", + * location: "header", + * version: "0.0.1" + * }] + * } + */ +export interface ScriptsUpsertCustomCodeRequest { + /** A list of scripts applied to a Site or a Page */ + scripts?: Webflow.sites.ScriptsUpsertCustomCodeRequestScriptsItem[]; +} diff --git a/src/api/resources/sites/resources/scripts/client/requests/index.ts b/src/api/resources/sites/resources/scripts/client/requests/index.ts index 32e771fa..1ee68562 100644 --- a/src/api/resources/sites/resources/scripts/client/requests/index.ts +++ b/src/api/resources/sites/resources/scripts/client/requests/index.ts @@ -1 +1,2 @@ +export { type ScriptsUpsertCustomCodeRequest } from "./ScriptsUpsertCustomCodeRequest"; export { type ScriptsListCustomCodeBlocksRequest } from "./ScriptsListCustomCodeBlocksRequest"; diff --git a/src/api/resources/sites/resources/scripts/index.ts b/src/api/resources/sites/resources/scripts/index.ts index 5ec76921..c9240f83 100644 --- a/src/api/resources/sites/resources/scripts/index.ts +++ b/src/api/resources/sites/resources/scripts/index.ts @@ -1 +1,2 @@ +export * from "./types"; export * from "./client"; diff --git a/src/api/resources/sites/resources/scripts/types/ScriptsGetCustomCodeResponse.ts b/src/api/resources/sites/resources/scripts/types/ScriptsGetCustomCodeResponse.ts new file mode 100644 index 00000000..44f40e38 --- /dev/null +++ b/src/api/resources/sites/resources/scripts/types/ScriptsGetCustomCodeResponse.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +export interface ScriptsGetCustomCodeResponse { + /** A list of scripts applied to a Site or a Page */ + scripts?: Webflow.sites.ScriptsGetCustomCodeResponseScriptsItem[]; + /** Date when the Site's scripts were last updated */ + lastUpdated?: string; + /** Date when the Site's scripts were created */ + createdOn?: string; +} diff --git a/src/api/resources/sites/resources/scripts/types/ScriptsGetCustomCodeResponseScriptsItem.ts b/src/api/resources/sites/resources/scripts/types/ScriptsGetCustomCodeResponseScriptsItem.ts new file mode 100644 index 00000000..bbc38f2b --- /dev/null +++ b/src/api/resources/sites/resources/scripts/types/ScriptsGetCustomCodeResponseScriptsItem.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +export interface ScriptsGetCustomCodeResponseScriptsItem { + /** ID of the registered custom code script */ + id: string; + /** Location of the script, either in the header or footer of the published site */ + location: Webflow.sites.ScriptsGetCustomCodeResponseScriptsItemLocation; + /** Semantic Version String for the registered script _e.g. 0.0.1_ */ + version: string; + /** Developer-specified key/value pairs to be applied as attributes to the script */ + attributes?: Record; +} diff --git a/src/api/resources/sites/resources/scripts/types/ScriptsGetCustomCodeResponseScriptsItemLocation.ts b/src/api/resources/sites/resources/scripts/types/ScriptsGetCustomCodeResponseScriptsItemLocation.ts new file mode 100644 index 00000000..564e6caa --- /dev/null +++ b/src/api/resources/sites/resources/scripts/types/ScriptsGetCustomCodeResponseScriptsItemLocation.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Location of the script, either in the header or footer of the published site + */ +export type ScriptsGetCustomCodeResponseScriptsItemLocation = "header" | "footer"; + +export const ScriptsGetCustomCodeResponseScriptsItemLocation = { + Header: "header", + Footer: "footer", +} as const; diff --git a/src/api/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponse.ts b/src/api/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponse.ts new file mode 100644 index 00000000..ef31d076 --- /dev/null +++ b/src/api/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponse.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +/** + * Custom Code Blocks corresponding to where scripts were applied + */ +export interface ScriptsListCustomCodeBlocksResponse { + blocks?: Webflow.sites.ScriptsListCustomCodeBlocksResponseBlocksItem[]; + /** Pagination object */ + pagination?: Webflow.sites.ScriptsListCustomCodeBlocksResponsePagination; +} diff --git a/src/api/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponseBlocksItem.ts b/src/api/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponseBlocksItem.ts new file mode 100644 index 00000000..36a36923 --- /dev/null +++ b/src/api/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponseBlocksItem.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +/** + * A specific instance of Custom Code applied to a Site or Page + */ +export interface ScriptsListCustomCodeBlocksResponseBlocksItem { + /** The Site ID where the custom code was applied */ + siteId?: string; + /** The Page ID (if applied at Page-level) */ + pageId?: string; + /** Whether the Custom Code script is applied at the Site-level or Page-level */ + type?: Webflow.sites.ScriptsListCustomCodeBlocksResponseBlocksItemType; + /** A list of scripts applied to a Site or a Page */ + scripts?: Webflow.sites.ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItem[]; + /** The date the Block was created */ + createdOn?: Date; + /** The date the Block was most recently updated */ + lastUpdated?: Date; +} diff --git a/src/api/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItem.ts b/src/api/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItem.ts new file mode 100644 index 00000000..deea0536 --- /dev/null +++ b/src/api/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItem.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +export interface ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItem { + /** ID of the registered custom code script */ + id: string; + /** Location of the script, either in the header or footer of the published site */ + location: Webflow.sites.ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItemLocation; + /** Semantic Version String for the registered script _e.g. 0.0.1_ */ + version: string; + /** Developer-specified key/value pairs to be applied as attributes to the script */ + attributes?: Record; +} diff --git a/src/api/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItemLocation.ts b/src/api/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItemLocation.ts new file mode 100644 index 00000000..9422dfb5 --- /dev/null +++ b/src/api/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItemLocation.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Location of the script, either in the header or footer of the published site + */ +export type ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItemLocation = "header" | "footer"; + +export const ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItemLocation = { + Header: "header", + Footer: "footer", +} as const; diff --git a/src/api/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponseBlocksItemType.ts b/src/api/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponseBlocksItemType.ts new file mode 100644 index 00000000..024b7743 --- /dev/null +++ b/src/api/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponseBlocksItemType.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Whether the Custom Code script is applied at the Site-level or Page-level + */ +export type ScriptsListCustomCodeBlocksResponseBlocksItemType = "page" | "site"; + +export const ScriptsListCustomCodeBlocksResponseBlocksItemType = { + Page: "page", + Site: "site", +} as const; diff --git a/src/api/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponsePagination.ts b/src/api/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponsePagination.ts new file mode 100644 index 00000000..6e8f429a --- /dev/null +++ b/src/api/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponsePagination.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Pagination object + */ +export interface ScriptsListCustomCodeBlocksResponsePagination { + /** The limit used for pagination */ + limit?: number; + /** The offset used for pagination */ + offset?: number; + /** The total number of records */ + total?: number; +} diff --git a/src/api/resources/sites/resources/scripts/types/ScriptsUpsertCustomCodeRequestScriptsItem.ts b/src/api/resources/sites/resources/scripts/types/ScriptsUpsertCustomCodeRequestScriptsItem.ts new file mode 100644 index 00000000..24704c9c --- /dev/null +++ b/src/api/resources/sites/resources/scripts/types/ScriptsUpsertCustomCodeRequestScriptsItem.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +export interface ScriptsUpsertCustomCodeRequestScriptsItem { + /** ID of the registered custom code script */ + id: string; + /** Location of the script, either in the header or footer of the published site */ + location: Webflow.sites.ScriptsUpsertCustomCodeRequestScriptsItemLocation; + /** Semantic Version String for the registered script _e.g. 0.0.1_ */ + version: string; + /** Developer-specified key/value pairs to be applied as attributes to the script */ + attributes?: Record; +} diff --git a/src/api/resources/sites/resources/scripts/types/ScriptsUpsertCustomCodeRequestScriptsItemLocation.ts b/src/api/resources/sites/resources/scripts/types/ScriptsUpsertCustomCodeRequestScriptsItemLocation.ts new file mode 100644 index 00000000..b087b603 --- /dev/null +++ b/src/api/resources/sites/resources/scripts/types/ScriptsUpsertCustomCodeRequestScriptsItemLocation.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Location of the script, either in the header or footer of the published site + */ +export type ScriptsUpsertCustomCodeRequestScriptsItemLocation = "header" | "footer"; + +export const ScriptsUpsertCustomCodeRequestScriptsItemLocation = { + Header: "header", + Footer: "footer", +} as const; diff --git a/src/api/resources/sites/resources/scripts/types/ScriptsUpsertCustomCodeResponse.ts b/src/api/resources/sites/resources/scripts/types/ScriptsUpsertCustomCodeResponse.ts new file mode 100644 index 00000000..d3bfdf4e --- /dev/null +++ b/src/api/resources/sites/resources/scripts/types/ScriptsUpsertCustomCodeResponse.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +export interface ScriptsUpsertCustomCodeResponse { + /** A list of scripts applied to a Site or a Page */ + scripts?: Webflow.sites.ScriptsUpsertCustomCodeResponseScriptsItem[]; + /** Date when the Site's scripts were last updated */ + lastUpdated?: string; + /** Date when the Site's scripts were created */ + createdOn?: string; +} diff --git a/src/api/resources/sites/resources/scripts/types/ScriptsUpsertCustomCodeResponseScriptsItem.ts b/src/api/resources/sites/resources/scripts/types/ScriptsUpsertCustomCodeResponseScriptsItem.ts new file mode 100644 index 00000000..eecf90e8 --- /dev/null +++ b/src/api/resources/sites/resources/scripts/types/ScriptsUpsertCustomCodeResponseScriptsItem.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../../index"; + +export interface ScriptsUpsertCustomCodeResponseScriptsItem { + /** ID of the registered custom code script */ + id: string; + /** Location of the script, either in the header or footer of the published site */ + location: Webflow.sites.ScriptsUpsertCustomCodeResponseScriptsItemLocation; + /** Semantic Version String for the registered script _e.g. 0.0.1_ */ + version: string; + /** Developer-specified key/value pairs to be applied as attributes to the script */ + attributes?: Record; +} diff --git a/src/api/resources/sites/resources/scripts/types/ScriptsUpsertCustomCodeResponseScriptsItemLocation.ts b/src/api/resources/sites/resources/scripts/types/ScriptsUpsertCustomCodeResponseScriptsItemLocation.ts new file mode 100644 index 00000000..91359367 --- /dev/null +++ b/src/api/resources/sites/resources/scripts/types/ScriptsUpsertCustomCodeResponseScriptsItemLocation.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Location of the script, either in the header or footer of the published site + */ +export type ScriptsUpsertCustomCodeResponseScriptsItemLocation = "header" | "footer"; + +export const ScriptsUpsertCustomCodeResponseScriptsItemLocation = { + Header: "header", + Footer: "footer", +} as const; diff --git a/src/api/resources/sites/resources/scripts/types/index.ts b/src/api/resources/sites/resources/scripts/types/index.ts new file mode 100644 index 00000000..e2d1ca81 --- /dev/null +++ b/src/api/resources/sites/resources/scripts/types/index.ts @@ -0,0 +1,14 @@ +export * from "./ScriptsGetCustomCodeResponseScriptsItemLocation"; +export * from "./ScriptsGetCustomCodeResponseScriptsItem"; +export * from "./ScriptsGetCustomCodeResponse"; +export * from "./ScriptsUpsertCustomCodeRequestScriptsItemLocation"; +export * from "./ScriptsUpsertCustomCodeRequestScriptsItem"; +export * from "./ScriptsUpsertCustomCodeResponseScriptsItemLocation"; +export * from "./ScriptsUpsertCustomCodeResponseScriptsItem"; +export * from "./ScriptsUpsertCustomCodeResponse"; +export * from "./ScriptsListCustomCodeBlocksResponseBlocksItemType"; +export * from "./ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItemLocation"; +export * from "./ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItem"; +export * from "./ScriptsListCustomCodeBlocksResponseBlocksItem"; +export * from "./ScriptsListCustomCodeBlocksResponsePagination"; +export * from "./ScriptsListCustomCodeBlocksResponse"; diff --git a/src/api/resources/sites/types/SitePublishPayload.ts b/src/api/resources/sites/types/SitePublishPayload.ts new file mode 100644 index 00000000..3319de01 --- /dev/null +++ b/src/api/resources/sites/types/SitePublishPayload.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The Webhook payload for when a Site is published + */ +export interface SitePublishPayload { + /** The type of event that triggered the request */ + triggerType?: string; + /** The payload of data sent from Webflow */ + payload?: Webflow.SitePublishPayloadPayload; +} diff --git a/src/api/resources/sites/types/SitePublishPayloadPayload.ts b/src/api/resources/sites/types/SitePublishPayloadPayload.ts new file mode 100644 index 00000000..2da5da32 --- /dev/null +++ b/src/api/resources/sites/types/SitePublishPayloadPayload.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The payload of data sent from Webflow + */ +export interface SitePublishPayloadPayload { + /** The ID of the site that was published */ + siteId?: string; + /** The timestamp of the publish event */ + publishedOn?: Date; + /** The domains that were published */ + domains?: string[]; + /** The name andID of the user who published the site */ + publishedBy?: Record; +} diff --git a/src/api/resources/sites/types/SitesGetCustomDomainResponse.ts b/src/api/resources/sites/types/SitesGetCustomDomainResponse.ts new file mode 100644 index 00000000..38da6a02 --- /dev/null +++ b/src/api/resources/sites/types/SitesGetCustomDomainResponse.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface SitesGetCustomDomainResponse { + customDomains?: Webflow.SitesGetCustomDomainResponseCustomDomainsItem[]; +} diff --git a/src/api/resources/sites/types/SitesGetCustomDomainResponseCustomDomainsItem.ts b/src/api/resources/sites/types/SitesGetCustomDomainResponseCustomDomainsItem.ts new file mode 100644 index 00000000..0c8f58e2 --- /dev/null +++ b/src/api/resources/sites/types/SitesGetCustomDomainResponseCustomDomainsItem.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface SitesGetCustomDomainResponseCustomDomainsItem { + /** Unique identifier for the Domain */ + id: string; + /** The registered Domain name */ + url?: string; +} diff --git a/src/api/resources/sites/types/SitesGetResponse.ts b/src/api/resources/sites/types/SitesGetResponse.ts new file mode 100644 index 00000000..914bcd8c --- /dev/null +++ b/src/api/resources/sites/types/SitesGetResponse.ts @@ -0,0 +1,30 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface SitesGetResponse { + /** Unique identifier for the Site */ + id: string; + /** Unique identifier for the Workspace */ + workspaceId?: string; + /** Date the Site was created */ + createdOn?: Date; + /** Name given to Site */ + displayName?: string; + /** Slugified version of name */ + shortName?: string; + /** Date the Site was last published */ + lastPublished?: Date; + /** Date the Site was last updated */ + lastUpdated?: Date; + /** URL of a generated image for the given Site */ + previewUrl?: string; + /** Site timezone set under Site Settings */ + timeZone?: string; + /** The ID of the parent folder the Site exists in */ + parentFolderId?: string; + customDomains?: Webflow.SitesGetResponseCustomDomainsItem[]; + locales?: Webflow.SitesGetResponseLocales; +} diff --git a/src/api/resources/sites/types/SitesGetResponseCustomDomainsItem.ts b/src/api/resources/sites/types/SitesGetResponseCustomDomainsItem.ts new file mode 100644 index 00000000..1b528ee6 --- /dev/null +++ b/src/api/resources/sites/types/SitesGetResponseCustomDomainsItem.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface SitesGetResponseCustomDomainsItem { + /** Unique identifier for the Domain */ + id: string; + /** The registered Domain name */ + url?: string; +} diff --git a/src/api/resources/sites/types/SitesGetResponseLocales.ts b/src/api/resources/sites/types/SitesGetResponseLocales.ts new file mode 100644 index 00000000..f983d1e4 --- /dev/null +++ b/src/api/resources/sites/types/SitesGetResponseLocales.ts @@ -0,0 +1,12 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface SitesGetResponseLocales { + /** The primary locale for the site or application. */ + primary?: Webflow.SitesGetResponseLocalesPrimary; + /** A list of secondary locales available for the site or application. */ + secondary?: Webflow.SitesGetResponseLocalesSecondaryItem[]; +} diff --git a/src/api/resources/sites/types/SitesGetResponseLocalesPrimary.ts b/src/api/resources/sites/types/SitesGetResponseLocalesPrimary.ts new file mode 100644 index 00000000..984dfe3e --- /dev/null +++ b/src/api/resources/sites/types/SitesGetResponseLocalesPrimary.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The primary locale for the site or application. + */ +export interface SitesGetResponseLocalesPrimary { + /** The unique identifier for the locale. */ + id?: string; + /** A CMS-specific identifier for the locale. */ + cmsLocaleId?: string; + /** Indicates if the locale is enabled. */ + enabled?: boolean; + /** The display name of the locale, typically in English. */ + displayName?: string; + /** An optional ID for an image associated with the locale, nullable. */ + displayImageId?: string; + /** Determines if requests should redirect to the locale's subdirectory. */ + redirect?: boolean; + /** The subdirectory path for the locale, used in URLs. */ + subdirectory?: string; + /** A tag or code representing the locale, often following a standard format like 'en-US'. */ + tag?: string; +} diff --git a/src/api/resources/sites/types/SitesGetResponseLocalesSecondaryItem.ts b/src/api/resources/sites/types/SitesGetResponseLocalesSecondaryItem.ts new file mode 100644 index 00000000..35049af7 --- /dev/null +++ b/src/api/resources/sites/types/SitesGetResponseLocalesSecondaryItem.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface SitesGetResponseLocalesSecondaryItem { + /** The unique identifier for the locale. */ + id?: string; + /** A CMS-specific identifier for the locale. */ + cmsLocaleId?: string; + /** Indicates if the locale is enabled. */ + enabled?: boolean; + /** The display name of the locale, typically in English. */ + displayName?: string; + /** An optional ID for an image associated with the locale, nullable. */ + displayImageId?: string; + /** Determines if requests should redirect to the locale's subdirectory. */ + redirect?: boolean; + /** The subdirectory path for the locale, used in URLs. */ + subdirectory?: string; + /** A tag or code representing the locale, often following a standard format like 'en-US'. */ + tag?: string; +} diff --git a/src/api/resources/sites/types/SitesListResponse.ts b/src/api/resources/sites/types/SitesListResponse.ts new file mode 100644 index 00000000..dca3b7e5 --- /dev/null +++ b/src/api/resources/sites/types/SitesListResponse.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface SitesListResponse { + sites?: Webflow.SitesListResponseSitesItem[]; +} diff --git a/src/api/resources/sites/types/SitesListResponseSitesItem.ts b/src/api/resources/sites/types/SitesListResponseSitesItem.ts new file mode 100644 index 00000000..82d6a63d --- /dev/null +++ b/src/api/resources/sites/types/SitesListResponseSitesItem.ts @@ -0,0 +1,30 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface SitesListResponseSitesItem { + /** Unique identifier for the Site */ + id: string; + /** Unique identifier for the Workspace */ + workspaceId?: string; + /** Date the Site was created */ + createdOn?: Date; + /** Name given to Site */ + displayName?: string; + /** Slugified version of name */ + shortName?: string; + /** Date the Site was last published */ + lastPublished?: Date; + /** Date the Site was last updated */ + lastUpdated?: Date; + /** URL of a generated image for the given Site */ + previewUrl?: string; + /** Site timezone set under Site Settings */ + timeZone?: string; + /** The ID of the parent folder the Site exists in */ + parentFolderId?: string; + customDomains?: Webflow.SitesListResponseSitesItemCustomDomainsItem[]; + locales?: Webflow.SitesListResponseSitesItemLocales; +} diff --git a/src/api/resources/sites/types/SitesListResponseSitesItemCustomDomainsItem.ts b/src/api/resources/sites/types/SitesListResponseSitesItemCustomDomainsItem.ts new file mode 100644 index 00000000..83d23975 --- /dev/null +++ b/src/api/resources/sites/types/SitesListResponseSitesItemCustomDomainsItem.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface SitesListResponseSitesItemCustomDomainsItem { + /** Unique identifier for the Domain */ + id: string; + /** The registered Domain name */ + url?: string; +} diff --git a/src/api/resources/sites/types/SitesListResponseSitesItemLocales.ts b/src/api/resources/sites/types/SitesListResponseSitesItemLocales.ts new file mode 100644 index 00000000..76a45087 --- /dev/null +++ b/src/api/resources/sites/types/SitesListResponseSitesItemLocales.ts @@ -0,0 +1,12 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface SitesListResponseSitesItemLocales { + /** The primary locale for the site or application. */ + primary?: Webflow.SitesListResponseSitesItemLocalesPrimary; + /** A list of secondary locales available for the site or application. */ + secondary?: Webflow.SitesListResponseSitesItemLocalesSecondaryItem[]; +} diff --git a/src/api/resources/sites/types/SitesListResponseSitesItemLocalesPrimary.ts b/src/api/resources/sites/types/SitesListResponseSitesItemLocalesPrimary.ts new file mode 100644 index 00000000..2690df31 --- /dev/null +++ b/src/api/resources/sites/types/SitesListResponseSitesItemLocalesPrimary.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The primary locale for the site or application. + */ +export interface SitesListResponseSitesItemLocalesPrimary { + /** The unique identifier for the locale. */ + id?: string; + /** A CMS-specific identifier for the locale. */ + cmsLocaleId?: string; + /** Indicates if the locale is enabled. */ + enabled?: boolean; + /** The display name of the locale, typically in English. */ + displayName?: string; + /** An optional ID for an image associated with the locale, nullable. */ + displayImageId?: string; + /** Determines if requests should redirect to the locale's subdirectory. */ + redirect?: boolean; + /** The subdirectory path for the locale, used in URLs. */ + subdirectory?: string; + /** A tag or code representing the locale, often following a standard format like 'en-US'. */ + tag?: string; +} diff --git a/src/api/resources/sites/types/SitesListResponseSitesItemLocalesSecondaryItem.ts b/src/api/resources/sites/types/SitesListResponseSitesItemLocalesSecondaryItem.ts new file mode 100644 index 00000000..b3d61a9f --- /dev/null +++ b/src/api/resources/sites/types/SitesListResponseSitesItemLocalesSecondaryItem.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface SitesListResponseSitesItemLocalesSecondaryItem { + /** The unique identifier for the locale. */ + id?: string; + /** A CMS-specific identifier for the locale. */ + cmsLocaleId?: string; + /** Indicates if the locale is enabled. */ + enabled?: boolean; + /** The display name of the locale, typically in English. */ + displayName?: string; + /** An optional ID for an image associated with the locale, nullable. */ + displayImageId?: string; + /** Determines if requests should redirect to the locale's subdirectory. */ + redirect?: boolean; + /** The subdirectory path for the locale, used in URLs. */ + subdirectory?: string; + /** A tag or code representing the locale, often following a standard format like 'en-US'. */ + tag?: string; +} diff --git a/src/api/resources/sites/types/SitesPublishResponse.ts b/src/api/resources/sites/types/SitesPublishResponse.ts index e427b61a..e6564adc 100644 --- a/src/api/resources/sites/types/SitesPublishResponse.ts +++ b/src/api/resources/sites/types/SitesPublishResponse.ts @@ -6,7 +6,7 @@ import * as Webflow from "../../../index"; export interface SitesPublishResponse { /** Array of domains objects */ - customDomains?: Webflow.Domain[]; + customDomains?: Webflow.SitesPublishResponseCustomDomainsItem[]; /** Flag for publishing to webflow.io subdomain */ publishToWebflowSubdomain?: boolean; } diff --git a/src/api/resources/sites/types/SitesPublishResponseCustomDomainsItem.ts b/src/api/resources/sites/types/SitesPublishResponseCustomDomainsItem.ts new file mode 100644 index 00000000..e05a0c8d --- /dev/null +++ b/src/api/resources/sites/types/SitesPublishResponseCustomDomainsItem.ts @@ -0,0 +1,10 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface SitesPublishResponseCustomDomainsItem { + /** Unique identifier for the Domain */ + id: string; + /** The registered Domain name */ + url?: string; +} diff --git a/src/api/resources/sites/types/index.ts b/src/api/resources/sites/types/index.ts index 7708da86..837f6468 100644 --- a/src/api/resources/sites/types/index.ts +++ b/src/api/resources/sites/types/index.ts @@ -1 +1,17 @@ +export * from "./SitesListResponseSitesItemCustomDomainsItem"; +export * from "./SitesListResponseSitesItemLocalesPrimary"; +export * from "./SitesListResponseSitesItemLocalesSecondaryItem"; +export * from "./SitesListResponseSitesItemLocales"; +export * from "./SitesListResponseSitesItem"; +export * from "./SitesListResponse"; +export * from "./SitesGetResponseCustomDomainsItem"; +export * from "./SitesGetResponseLocalesPrimary"; +export * from "./SitesGetResponseLocalesSecondaryItem"; +export * from "./SitesGetResponseLocales"; +export * from "./SitesGetResponse"; +export * from "./SitesGetCustomDomainResponseCustomDomainsItem"; +export * from "./SitesGetCustomDomainResponse"; +export * from "./SitesPublishResponseCustomDomainsItem"; export * from "./SitesPublishResponse"; +export * from "./SitePublishPayloadPayload"; +export * from "./SitePublishPayload"; diff --git a/src/api/resources/token/client/Client.ts b/src/api/resources/token/client/Client.ts index 428ab59e..fc1e7e1a 100644 --- a/src/api/resources/token/client/Client.ts +++ b/src/api/resources/token/client/Client.ts @@ -29,7 +29,9 @@ export class Token { constructor(protected readonly _options: Token.Options) {} /** - * Information about the Authorized User

Required Scope | `authorized_user:read` + * Information about the Authorized User + * + * Required Scope | `authorized_user:read` * * @param {Token.RequestOptions} requestOptions - Request-specific configuration. * @@ -39,7 +41,7 @@ export class Token { * @example * await client.token.authorizedBy() */ - public async authorizedBy(requestOptions?: Token.RequestOptions): Promise { + public async authorizedBy(requestOptions?: Token.RequestOptions): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -50,8 +52,8 @@ export class Token { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -62,7 +64,7 @@ export class Token { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.AuthorizedUser.parseOrThrow(_response.body, { + return serializers.TokenAuthorizedByResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -101,7 +103,8 @@ export class Token { } /** - * Information about the authorization token
Access to this endpoint requires a bearer token from a Data Client App.
+ * Information about the authorization token + * Access to this endpoint requires a bearer token from a []>Data Client App](/data/docs/getting-started-data-clients). * * @param {Token.RequestOptions} requestOptions - Request-specific configuration. * @@ -110,7 +113,7 @@ export class Token { * @example * await client.token.introspect() */ - public async introspect(requestOptions?: Token.RequestOptions): Promise { + public async introspect(requestOptions?: Token.RequestOptions): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -121,8 +124,8 @@ export class Token { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -133,7 +136,7 @@ export class Token { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.Authorization.parseOrThrow(_response.body, { + return serializers.TokenIntrospectResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, diff --git a/src/api/resources/token/index.ts b/src/api/resources/token/index.ts index 5ec76921..c9240f83 100644 --- a/src/api/resources/token/index.ts +++ b/src/api/resources/token/index.ts @@ -1 +1,2 @@ +export * from "./types"; export * from "./client"; diff --git a/src/api/resources/token/types/TokenAuthorizedByResponse.ts b/src/api/resources/token/types/TokenAuthorizedByResponse.ts new file mode 100644 index 00000000..142dfc08 --- /dev/null +++ b/src/api/resources/token/types/TokenAuthorizedByResponse.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface TokenAuthorizedByResponse { + /** The unique ID of the user */ + id?: string; + /** The user's email address */ + email?: string; + /** The user's first name */ + firstName?: string; + /** The user's last name */ + lastName?: string; +} diff --git a/src/api/resources/token/types/TokenIntrospectResponse.ts b/src/api/resources/token/types/TokenIntrospectResponse.ts new file mode 100644 index 00000000..81e2c75b --- /dev/null +++ b/src/api/resources/token/types/TokenIntrospectResponse.ts @@ -0,0 +1,11 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface TokenIntrospectResponse { + /** The Authorization object */ + authorization?: Webflow.TokenIntrospectResponseAuthorization; + application?: unknown; +} diff --git a/src/api/resources/token/types/TokenIntrospectResponseAuthorization.ts b/src/api/resources/token/types/TokenIntrospectResponseAuthorization.ts new file mode 100644 index 00000000..09ed863b --- /dev/null +++ b/src/api/resources/token/types/TokenIntrospectResponseAuthorization.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The Authorization object + */ +export interface TokenIntrospectResponseAuthorization { + /** The unique ID of the Authorization instance */ + id?: string; + /** The date the Authorization was created */ + createdOn?: Date; + /** The date the Authorization was last used */ + lastUsed?: Date; + /** The grant type of the Authorization */ + grantType?: string; + /** The default rate limit for the Authorization (requests/min) */ + rateLimit?: number; + /** Comma separted list of OAuth scopes corresponding to the Authorization */ + scope?: string; + authorizedTo?: Webflow.TokenIntrospectResponseAuthorizationAuthorizedTo; +} diff --git a/src/api/resources/token/types/TokenIntrospectResponseAuthorizationAuthorizedTo.ts b/src/api/resources/token/types/TokenIntrospectResponseAuthorizationAuthorizedTo.ts new file mode 100644 index 00000000..dcc9a67a --- /dev/null +++ b/src/api/resources/token/types/TokenIntrospectResponseAuthorizationAuthorizedTo.ts @@ -0,0 +1,12 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface TokenIntrospectResponseAuthorizationAuthorizedTo { + /** Array of Sites this app is authorized to */ + siteIds?: unknown[]; + /** Array of Workspaces this app is authorized to */ + workspaceIds?: unknown[]; + /** Array of Users this app is authorized to */ + userIds?: unknown[]; +} diff --git a/src/api/resources/token/types/index.ts b/src/api/resources/token/types/index.ts new file mode 100644 index 00000000..e3ecbc9a --- /dev/null +++ b/src/api/resources/token/types/index.ts @@ -0,0 +1,4 @@ +export * from "./TokenAuthorizedByResponse"; +export * from "./TokenIntrospectResponseAuthorizationAuthorizedTo"; +export * from "./TokenIntrospectResponseAuthorization"; +export * from "./TokenIntrospectResponse"; diff --git a/src/api/resources/users/client/Client.ts b/src/api/resources/users/client/Client.ts index e8953e6b..7b8e5cd6 100644 --- a/src/api/resources/users/client/Client.ts +++ b/src/api/resources/users/client/Client.ts @@ -29,7 +29,9 @@ export class Users { constructor(protected readonly _options: Users.Options) {} /** - * Get a list of users for a site

Required scope | `users:read` + * Get a list of users for a site + * + * Required scope | `users:read` * * @param {string} siteId - Unique identifier for a Site * @param {Webflow.UsersListRequest} request @@ -49,7 +51,7 @@ export class Users { siteId: string, request: Webflow.UsersListRequest = {}, requestOptions?: Users.RequestOptions - ): Promise { + ): Promise { const { offset, limit, sort } = request; const _queryParams: Record = {}; if (offset != null) { @@ -74,8 +76,8 @@ export class Users { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -87,7 +89,7 @@ export class Users { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.UserList.parseOrThrow(_response.body, { + return serializers.UsersListResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -107,15 +109,7 @@ export class Users { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -142,7 +136,9 @@ export class Users { } /** - * Get a User by ID

Required scope | `users:read` + * Get a User by ID + * + * Required scope | `users:read` * * @param {string} siteId - Unique identifier for a Site * @param {string} userId - Unique identifier for a User @@ -158,7 +154,11 @@ export class Users { * @example * await client.users.get("580e63e98c9a982ac9b8b741", "580e63e98c9a982ac9b8b741") */ - public async get(siteId: string, userId: string, requestOptions?: Users.RequestOptions): Promise { + public async get( + siteId: string, + userId: string, + requestOptions?: Users.RequestOptions + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -169,8 +169,8 @@ export class Users { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -181,7 +181,7 @@ export class Users { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.User.parseOrThrow(_response.body, { + return serializers.UsersGetResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -201,15 +201,7 @@ export class Users { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -236,7 +228,9 @@ export class Users { } /** - * Delete a User by ID

Required scope | `users:write` + * Delete a User by ID + * + * Required scope | `users:write` * * @param {string} siteId - Unique identifier for a Site * @param {string} userId - Unique identifier for a User @@ -263,8 +257,8 @@ export class Users { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -289,15 +283,7 @@ export class Users { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -324,9 +310,12 @@ export class Users { } /** - * Update a User by ID

Required scope | `users:write` + * Update a User by ID + * + * Required scope | `users:write` * - * + * The email and password + * fields cannot be updated using this endpoint * * @param {string} siteId - Unique identifier for a Site * @param {string} userId - Unique identifier for a User @@ -355,7 +344,7 @@ export class Users { userId: string, request: Webflow.UsersUpdateRequest = {}, requestOptions?: Users.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -366,8 +355,8 @@ export class Users { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -379,7 +368,7 @@ export class Users { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.User.parseOrThrow(_response.body, { + return serializers.UsersUpdateResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -399,15 +388,7 @@ export class Users { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -434,7 +415,11 @@ export class Users { } /** - * Create and invite a user with an email address. The user will be sent and invite via email, which they will need to accept in order to join paid Access Groups.

Required scope | `users:write` + * Create and invite a user with an email address. + * + * The user will be sent and invite via email, which they will need to accept in order to join paid any paid access group. + * + * Required scope | `users:write` * * @param {string} siteId - Unique identifier for a Site * @param {Webflow.UsersInviteRequest} request @@ -458,7 +443,7 @@ export class Users { siteId: string, request: Webflow.UsersInviteRequest, requestOptions?: Users.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -469,8 +454,8 @@ export class Users { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -482,7 +467,7 @@ export class Users { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.User.parseOrThrow(_response.body, { + return serializers.UsersInviteResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -504,15 +489,7 @@ export class Users { case 409: throw new Webflow.ConflictError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: diff --git a/src/api/resources/users/types/UserAccountAddedPayload.ts b/src/api/resources/users/types/UserAccountAddedPayload.ts new file mode 100644 index 00000000..56e5df3b --- /dev/null +++ b/src/api/resources/users/types/UserAccountAddedPayload.ts @@ -0,0 +1,12 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface UserAccountAddedPayload { + /** The type of event that triggered the request */ + triggerType?: Webflow.UserAccountAddedPayloadTriggerType; + /** The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items */ + payload?: Webflow.UserAccountAddedPayloadPayload; +} diff --git a/src/api/resources/users/types/UserAccountAddedPayloadPayload.ts b/src/api/resources/users/types/UserAccountAddedPayloadPayload.ts new file mode 100644 index 00000000..e01beb4e --- /dev/null +++ b/src/api/resources/users/types/UserAccountAddedPayloadPayload.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + */ +export interface UserAccountAddedPayloadPayload { + /** Unique identifier for the User */ + id?: string; + /** Shows whether the user has verified their email address */ + isEmailVerified?: boolean; + /** The timestamp the user was updated */ + lastUpdated?: Date; + /** The timestamp the user was invited */ + invitedOn?: Date; + /** The timestamp the user was created */ + createdOn?: Date; + /** The timestamp the user was logged in */ + lastLogin?: Date; + /** The status of the user */ + status?: Webflow.UserAccountAddedPayloadPayloadStatus; + /** Access groups the user belongs to */ + accessGroups?: Webflow.UserAccountAddedPayloadPayloadAccessGroupsItem[]; + /** An object containing the User's basic info and custom fields */ + data?: Webflow.UserAccountAddedPayloadPayloadData; +} diff --git a/src/api/resources/users/types/UserAccountAddedPayloadPayloadAccessGroupsItem.ts b/src/api/resources/users/types/UserAccountAddedPayloadPayloadAccessGroupsItem.ts new file mode 100644 index 00000000..f223622e --- /dev/null +++ b/src/api/resources/users/types/UserAccountAddedPayloadPayloadAccessGroupsItem.ts @@ -0,0 +1,20 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Access group slugs and types + */ +export interface UserAccountAddedPayloadPayloadAccessGroupsItem { + /** Access group identifier for APIs */ + slug?: string; + /** + * The type of access group based on how it was assigned to the user. + * + * - `admin` - Assigned to the user via API or in the designer + * - `ecommerce` - Assigned to the user via an ecommerce purchase + */ + type?: Webflow.UserAccountAddedPayloadPayloadAccessGroupsItemType; +} diff --git a/src/api/resources/users/types/UserAccountAddedPayloadPayloadAccessGroupsItemType.ts b/src/api/resources/users/types/UserAccountAddedPayloadPayloadAccessGroupsItemType.ts new file mode 100644 index 00000000..5a326642 --- /dev/null +++ b/src/api/resources/users/types/UserAccountAddedPayloadPayloadAccessGroupsItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of access group based on how it was assigned to the user. + * + * - `admin` - Assigned to the user via API or in the designer + * - `ecommerce` - Assigned to the user via an ecommerce purchase + */ +export type UserAccountAddedPayloadPayloadAccessGroupsItemType = "admin" | "ecommerce"; + +export const UserAccountAddedPayloadPayloadAccessGroupsItemType = { + Admin: "admin", + Ecommerce: "ecommerce", +} as const; diff --git a/src/api/resources/users/types/UserAccountAddedPayloadPayloadData.ts b/src/api/resources/users/types/UserAccountAddedPayloadPayloadData.ts new file mode 100644 index 00000000..867494bc --- /dev/null +++ b/src/api/resources/users/types/UserAccountAddedPayloadPayloadData.ts @@ -0,0 +1,12 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * An object containing the User's basic info and custom fields + */ +export interface UserAccountAddedPayloadPayloadData { + data?: Webflow.UserAccountAddedPayloadPayloadDataData; +} diff --git a/src/api/resources/users/types/UserAccountAddedPayloadPayloadDataData.ts b/src/api/resources/users/types/UserAccountAddedPayloadPayloadDataData.ts new file mode 100644 index 00000000..a4ffab38 --- /dev/null +++ b/src/api/resources/users/types/UserAccountAddedPayloadPayloadDataData.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface UserAccountAddedPayloadPayloadDataData { + /** The name of the user */ + name?: string; + /** The email address of the user */ + email?: string; + /** Boolean indicating if the user has accepted the privacy policy */ + acceptPrivacy?: boolean; + /** Boolean indicating if the user has accepted to receive communications */ + acceptCommunications?: boolean; + /** Custom user attributes */ + additionalProperties?: string; +} diff --git a/src/api/resources/users/types/UserAccountAddedPayloadPayloadStatus.ts b/src/api/resources/users/types/UserAccountAddedPayloadPayloadStatus.ts new file mode 100644 index 00000000..d991a464 --- /dev/null +++ b/src/api/resources/users/types/UserAccountAddedPayloadPayloadStatus.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The status of the user + */ +export type UserAccountAddedPayloadPayloadStatus = "invited" | "verified" | "unverified"; + +export const UserAccountAddedPayloadPayloadStatus = { + Invited: "invited", + Verified: "verified", + Unverified: "unverified", +} as const; diff --git a/src/api/resources/users/types/UserAccountAddedPayloadTriggerType.ts b/src/api/resources/users/types/UserAccountAddedPayloadTriggerType.ts new file mode 100644 index 00000000..80f254c8 --- /dev/null +++ b/src/api/resources/users/types/UserAccountAddedPayloadTriggerType.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of event that triggered the request + */ +export type UserAccountAddedPayloadTriggerType = "user_account_added" | "user_account_updated" | "user_account_deleted"; + +export const UserAccountAddedPayloadTriggerType = { + UserAccountAdded: "user_account_added", + UserAccountUpdated: "user_account_updated", + UserAccountDeleted: "user_account_deleted", +} as const; diff --git a/src/api/resources/users/types/UserAccountDeletedPayload.ts b/src/api/resources/users/types/UserAccountDeletedPayload.ts new file mode 100644 index 00000000..6242f95b --- /dev/null +++ b/src/api/resources/users/types/UserAccountDeletedPayload.ts @@ -0,0 +1,12 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface UserAccountDeletedPayload { + /** The type of event that triggered the request */ + triggerType?: Webflow.UserAccountDeletedPayloadTriggerType; + /** The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items */ + payload?: Webflow.UserAccountDeletedPayloadPayload; +} diff --git a/src/api/resources/users/types/UserAccountDeletedPayloadPayload.ts b/src/api/resources/users/types/UserAccountDeletedPayloadPayload.ts new file mode 100644 index 00000000..1cce30b8 --- /dev/null +++ b/src/api/resources/users/types/UserAccountDeletedPayloadPayload.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + */ +export interface UserAccountDeletedPayloadPayload { + /** Unique identifier for the User */ + id?: string; + /** Shows whether the user has verified their email address */ + isEmailVerified?: boolean; + /** The timestamp the user was updated */ + lastUpdated?: Date; + /** The timestamp the user was invited */ + invitedOn?: Date; + /** The timestamp the user was created */ + createdOn?: Date; + /** The timestamp the user was logged in */ + lastLogin?: Date; + /** The status of the user */ + status?: Webflow.UserAccountDeletedPayloadPayloadStatus; + /** Access groups the user belongs to */ + accessGroups?: Webflow.UserAccountDeletedPayloadPayloadAccessGroupsItem[]; + /** An object containing the User's basic info and custom fields */ + data?: Webflow.UserAccountDeletedPayloadPayloadData; +} diff --git a/src/api/resources/users/types/UserAccountDeletedPayloadPayloadAccessGroupsItem.ts b/src/api/resources/users/types/UserAccountDeletedPayloadPayloadAccessGroupsItem.ts new file mode 100644 index 00000000..62a6e567 --- /dev/null +++ b/src/api/resources/users/types/UserAccountDeletedPayloadPayloadAccessGroupsItem.ts @@ -0,0 +1,20 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Access group slugs and types + */ +export interface UserAccountDeletedPayloadPayloadAccessGroupsItem { + /** Access group identifier for APIs */ + slug?: string; + /** + * The type of access group based on how it was assigned to the user. + * + * - `admin` - Assigned to the user via API or in the designer + * - `ecommerce` - Assigned to the user via an ecommerce purchase + */ + type?: Webflow.UserAccountDeletedPayloadPayloadAccessGroupsItemType; +} diff --git a/src/api/resources/users/types/UserAccountDeletedPayloadPayloadAccessGroupsItemType.ts b/src/api/resources/users/types/UserAccountDeletedPayloadPayloadAccessGroupsItemType.ts new file mode 100644 index 00000000..9ce0f89b --- /dev/null +++ b/src/api/resources/users/types/UserAccountDeletedPayloadPayloadAccessGroupsItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of access group based on how it was assigned to the user. + * + * - `admin` - Assigned to the user via API or in the designer + * - `ecommerce` - Assigned to the user via an ecommerce purchase + */ +export type UserAccountDeletedPayloadPayloadAccessGroupsItemType = "admin" | "ecommerce"; + +export const UserAccountDeletedPayloadPayloadAccessGroupsItemType = { + Admin: "admin", + Ecommerce: "ecommerce", +} as const; diff --git a/src/api/resources/users/types/UserAccountDeletedPayloadPayloadData.ts b/src/api/resources/users/types/UserAccountDeletedPayloadPayloadData.ts new file mode 100644 index 00000000..d60bc012 --- /dev/null +++ b/src/api/resources/users/types/UserAccountDeletedPayloadPayloadData.ts @@ -0,0 +1,12 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * An object containing the User's basic info and custom fields + */ +export interface UserAccountDeletedPayloadPayloadData { + data?: Webflow.UserAccountDeletedPayloadPayloadDataData; +} diff --git a/src/api/resources/users/types/UserAccountDeletedPayloadPayloadDataData.ts b/src/api/resources/users/types/UserAccountDeletedPayloadPayloadDataData.ts new file mode 100644 index 00000000..5905d801 --- /dev/null +++ b/src/api/resources/users/types/UserAccountDeletedPayloadPayloadDataData.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface UserAccountDeletedPayloadPayloadDataData { + /** The name of the user */ + name?: string; + /** The email address of the user */ + email?: string; + /** Boolean indicating if the user has accepted the privacy policy */ + acceptPrivacy?: boolean; + /** Boolean indicating if the user has accepted to receive communications */ + acceptCommunications?: boolean; + /** Custom user attributes */ + additionalProperties?: string; +} diff --git a/src/api/resources/users/types/UserAccountDeletedPayloadPayloadStatus.ts b/src/api/resources/users/types/UserAccountDeletedPayloadPayloadStatus.ts new file mode 100644 index 00000000..64790688 --- /dev/null +++ b/src/api/resources/users/types/UserAccountDeletedPayloadPayloadStatus.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The status of the user + */ +export type UserAccountDeletedPayloadPayloadStatus = "invited" | "verified" | "unverified"; + +export const UserAccountDeletedPayloadPayloadStatus = { + Invited: "invited", + Verified: "verified", + Unverified: "unverified", +} as const; diff --git a/src/api/resources/users/types/UserAccountDeletedPayloadTriggerType.ts b/src/api/resources/users/types/UserAccountDeletedPayloadTriggerType.ts new file mode 100644 index 00000000..87e1a194 --- /dev/null +++ b/src/api/resources/users/types/UserAccountDeletedPayloadTriggerType.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of event that triggered the request + */ +export type UserAccountDeletedPayloadTriggerType = + | "user_account_added" + | "user_account_updated" + | "user_account_deleted"; + +export const UserAccountDeletedPayloadTriggerType = { + UserAccountAdded: "user_account_added", + UserAccountUpdated: "user_account_updated", + UserAccountDeleted: "user_account_deleted", +} as const; diff --git a/src/api/resources/users/types/UserAccountUpdatedPayload.ts b/src/api/resources/users/types/UserAccountUpdatedPayload.ts new file mode 100644 index 00000000..2652665a --- /dev/null +++ b/src/api/resources/users/types/UserAccountUpdatedPayload.ts @@ -0,0 +1,12 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface UserAccountUpdatedPayload { + /** The type of event that triggered the request */ + triggerType?: Webflow.UserAccountUpdatedPayloadTriggerType; + /** The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items */ + payload?: Webflow.UserAccountUpdatedPayloadPayload; +} diff --git a/src/api/resources/users/types/UserAccountUpdatedPayloadPayload.ts b/src/api/resources/users/types/UserAccountUpdatedPayloadPayload.ts new file mode 100644 index 00000000..cbc6f5fe --- /dev/null +++ b/src/api/resources/users/types/UserAccountUpdatedPayloadPayload.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + */ +export interface UserAccountUpdatedPayloadPayload { + /** Unique identifier for the User */ + id?: string; + /** Shows whether the user has verified their email address */ + isEmailVerified?: boolean; + /** The timestamp the user was updated */ + lastUpdated?: Date; + /** The timestamp the user was invited */ + invitedOn?: Date; + /** The timestamp the user was created */ + createdOn?: Date; + /** The timestamp the user was logged in */ + lastLogin?: Date; + /** The status of the user */ + status?: Webflow.UserAccountUpdatedPayloadPayloadStatus; + /** Access groups the user belongs to */ + accessGroups?: Webflow.UserAccountUpdatedPayloadPayloadAccessGroupsItem[]; + /** An object containing the User's basic info and custom fields */ + data?: Webflow.UserAccountUpdatedPayloadPayloadData; +} diff --git a/src/api/resources/users/types/UserAccountUpdatedPayloadPayloadAccessGroupsItem.ts b/src/api/resources/users/types/UserAccountUpdatedPayloadPayloadAccessGroupsItem.ts new file mode 100644 index 00000000..ac677fee --- /dev/null +++ b/src/api/resources/users/types/UserAccountUpdatedPayloadPayloadAccessGroupsItem.ts @@ -0,0 +1,20 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Access group slugs and types + */ +export interface UserAccountUpdatedPayloadPayloadAccessGroupsItem { + /** Access group identifier for APIs */ + slug?: string; + /** + * The type of access group based on how it was assigned to the user. + * + * - `admin` - Assigned to the user via API or in the designer + * - `ecommerce` - Assigned to the user via an ecommerce purchase + */ + type?: Webflow.UserAccountUpdatedPayloadPayloadAccessGroupsItemType; +} diff --git a/src/api/resources/users/types/UserAccountUpdatedPayloadPayloadAccessGroupsItemType.ts b/src/api/resources/users/types/UserAccountUpdatedPayloadPayloadAccessGroupsItemType.ts new file mode 100644 index 00000000..f0d500d1 --- /dev/null +++ b/src/api/resources/users/types/UserAccountUpdatedPayloadPayloadAccessGroupsItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of access group based on how it was assigned to the user. + * + * - `admin` - Assigned to the user via API or in the designer + * - `ecommerce` - Assigned to the user via an ecommerce purchase + */ +export type UserAccountUpdatedPayloadPayloadAccessGroupsItemType = "admin" | "ecommerce"; + +export const UserAccountUpdatedPayloadPayloadAccessGroupsItemType = { + Admin: "admin", + Ecommerce: "ecommerce", +} as const; diff --git a/src/api/resources/users/types/UserAccountUpdatedPayloadPayloadData.ts b/src/api/resources/users/types/UserAccountUpdatedPayloadPayloadData.ts new file mode 100644 index 00000000..bd041133 --- /dev/null +++ b/src/api/resources/users/types/UserAccountUpdatedPayloadPayloadData.ts @@ -0,0 +1,12 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * An object containing the User's basic info and custom fields + */ +export interface UserAccountUpdatedPayloadPayloadData { + data?: Webflow.UserAccountUpdatedPayloadPayloadDataData; +} diff --git a/src/api/resources/users/types/UserAccountUpdatedPayloadPayloadDataData.ts b/src/api/resources/users/types/UserAccountUpdatedPayloadPayloadDataData.ts new file mode 100644 index 00000000..b8c9bc41 --- /dev/null +++ b/src/api/resources/users/types/UserAccountUpdatedPayloadPayloadDataData.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface UserAccountUpdatedPayloadPayloadDataData { + /** The name of the user */ + name?: string; + /** The email address of the user */ + email?: string; + /** Boolean indicating if the user has accepted the privacy policy */ + acceptPrivacy?: boolean; + /** Boolean indicating if the user has accepted to receive communications */ + acceptCommunications?: boolean; + /** Custom user attributes */ + additionalProperties?: string; +} diff --git a/src/api/resources/users/types/UserAccountUpdatedPayloadPayloadStatus.ts b/src/api/resources/users/types/UserAccountUpdatedPayloadPayloadStatus.ts new file mode 100644 index 00000000..493f34c3 --- /dev/null +++ b/src/api/resources/users/types/UserAccountUpdatedPayloadPayloadStatus.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The status of the user + */ +export type UserAccountUpdatedPayloadPayloadStatus = "invited" | "verified" | "unverified"; + +export const UserAccountUpdatedPayloadPayloadStatus = { + Invited: "invited", + Verified: "verified", + Unverified: "unverified", +} as const; diff --git a/src/api/resources/users/types/UserAccountUpdatedPayloadTriggerType.ts b/src/api/resources/users/types/UserAccountUpdatedPayloadTriggerType.ts new file mode 100644 index 00000000..44b6282c --- /dev/null +++ b/src/api/resources/users/types/UserAccountUpdatedPayloadTriggerType.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of event that triggered the request + */ +export type UserAccountUpdatedPayloadTriggerType = + | "user_account_added" + | "user_account_updated" + | "user_account_deleted"; + +export const UserAccountUpdatedPayloadTriggerType = { + UserAccountAdded: "user_account_added", + UserAccountUpdated: "user_account_updated", + UserAccountDeleted: "user_account_deleted", +} as const; diff --git a/src/api/resources/users/types/UsersGetResponse.ts b/src/api/resources/users/types/UsersGetResponse.ts new file mode 100644 index 00000000..04d16fd6 --- /dev/null +++ b/src/api/resources/users/types/UsersGetResponse.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + */ +export interface UsersGetResponse { + /** Unique identifier for the User */ + id?: string; + /** Shows whether the user has verified their email address */ + isEmailVerified?: boolean; + /** The timestamp the user was updated */ + lastUpdated?: Date; + /** The timestamp the user was invited */ + invitedOn?: Date; + /** The timestamp the user was created */ + createdOn?: Date; + /** The timestamp the user was logged in */ + lastLogin?: Date; + /** The status of the user */ + status?: Webflow.UsersGetResponseStatus; + /** Access groups the user belongs to */ + accessGroups?: Webflow.UsersGetResponseAccessGroupsItem[]; + /** An object containing the User's basic info and custom fields */ + data?: Webflow.UsersGetResponseData; +} diff --git a/src/api/resources/users/types/UsersGetResponseAccessGroupsItem.ts b/src/api/resources/users/types/UsersGetResponseAccessGroupsItem.ts new file mode 100644 index 00000000..3a5ce2bc --- /dev/null +++ b/src/api/resources/users/types/UsersGetResponseAccessGroupsItem.ts @@ -0,0 +1,20 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Access group slugs and types + */ +export interface UsersGetResponseAccessGroupsItem { + /** Access group identifier for APIs */ + slug?: string; + /** + * The type of access group based on how it was assigned to the user. + * + * - `admin` - Assigned to the user via API or in the designer + * - `ecommerce` - Assigned to the user via an ecommerce purchase + */ + type?: Webflow.UsersGetResponseAccessGroupsItemType; +} diff --git a/src/api/resources/users/types/UsersGetResponseAccessGroupsItemType.ts b/src/api/resources/users/types/UsersGetResponseAccessGroupsItemType.ts new file mode 100644 index 00000000..e7f1c08b --- /dev/null +++ b/src/api/resources/users/types/UsersGetResponseAccessGroupsItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of access group based on how it was assigned to the user. + * + * - `admin` - Assigned to the user via API or in the designer + * - `ecommerce` - Assigned to the user via an ecommerce purchase + */ +export type UsersGetResponseAccessGroupsItemType = "admin" | "ecommerce"; + +export const UsersGetResponseAccessGroupsItemType = { + Admin: "admin", + Ecommerce: "ecommerce", +} as const; diff --git a/src/api/resources/users/types/UsersGetResponseData.ts b/src/api/resources/users/types/UsersGetResponseData.ts new file mode 100644 index 00000000..9c6f9fb3 --- /dev/null +++ b/src/api/resources/users/types/UsersGetResponseData.ts @@ -0,0 +1,12 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * An object containing the User's basic info and custom fields + */ +export interface UsersGetResponseData { + data?: Webflow.UsersGetResponseDataData; +} diff --git a/src/api/resources/users/types/UsersGetResponseDataData.ts b/src/api/resources/users/types/UsersGetResponseDataData.ts new file mode 100644 index 00000000..a07d9167 --- /dev/null +++ b/src/api/resources/users/types/UsersGetResponseDataData.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface UsersGetResponseDataData { + /** The name of the user */ + name?: string; + /** The email address of the user */ + email?: string; + /** Boolean indicating if the user has accepted the privacy policy */ + acceptPrivacy?: boolean; + /** Boolean indicating if the user has accepted to receive communications */ + acceptCommunications?: boolean; + /** Custom user attributes */ + additionalProperties?: string; +} diff --git a/src/api/resources/users/types/UsersGetResponseStatus.ts b/src/api/resources/users/types/UsersGetResponseStatus.ts new file mode 100644 index 00000000..d39d79e5 --- /dev/null +++ b/src/api/resources/users/types/UsersGetResponseStatus.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The status of the user + */ +export type UsersGetResponseStatus = "invited" | "verified" | "unverified"; + +export const UsersGetResponseStatus = { + Invited: "invited", + Verified: "verified", + Unverified: "unverified", +} as const; diff --git a/src/api/resources/users/types/UsersInviteResponse.ts b/src/api/resources/users/types/UsersInviteResponse.ts new file mode 100644 index 00000000..dcd54b17 --- /dev/null +++ b/src/api/resources/users/types/UsersInviteResponse.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + */ +export interface UsersInviteResponse { + /** Unique identifier for the User */ + id?: string; + /** Shows whether the user has verified their email address */ + isEmailVerified?: boolean; + /** The timestamp the user was updated */ + lastUpdated?: Date; + /** The timestamp the user was invited */ + invitedOn?: Date; + /** The timestamp the user was created */ + createdOn?: Date; + /** The timestamp the user was logged in */ + lastLogin?: Date; + /** The status of the user */ + status?: Webflow.UsersInviteResponseStatus; + /** Access groups the user belongs to */ + accessGroups?: Webflow.UsersInviteResponseAccessGroupsItem[]; + /** An object containing the User's basic info and custom fields */ + data?: Webflow.UsersInviteResponseData; +} diff --git a/src/api/resources/users/types/UsersInviteResponseAccessGroupsItem.ts b/src/api/resources/users/types/UsersInviteResponseAccessGroupsItem.ts new file mode 100644 index 00000000..aad6fa57 --- /dev/null +++ b/src/api/resources/users/types/UsersInviteResponseAccessGroupsItem.ts @@ -0,0 +1,20 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Access group slugs and types + */ +export interface UsersInviteResponseAccessGroupsItem { + /** Access group identifier for APIs */ + slug?: string; + /** + * The type of access group based on how it was assigned to the user. + * + * - `admin` - Assigned to the user via API or in the designer + * - `ecommerce` - Assigned to the user via an ecommerce purchase + */ + type?: Webflow.UsersInviteResponseAccessGroupsItemType; +} diff --git a/src/api/resources/users/types/UsersInviteResponseAccessGroupsItemType.ts b/src/api/resources/users/types/UsersInviteResponseAccessGroupsItemType.ts new file mode 100644 index 00000000..ec0bce79 --- /dev/null +++ b/src/api/resources/users/types/UsersInviteResponseAccessGroupsItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of access group based on how it was assigned to the user. + * + * - `admin` - Assigned to the user via API or in the designer + * - `ecommerce` - Assigned to the user via an ecommerce purchase + */ +export type UsersInviteResponseAccessGroupsItemType = "admin" | "ecommerce"; + +export const UsersInviteResponseAccessGroupsItemType = { + Admin: "admin", + Ecommerce: "ecommerce", +} as const; diff --git a/src/api/resources/users/types/UsersInviteResponseData.ts b/src/api/resources/users/types/UsersInviteResponseData.ts new file mode 100644 index 00000000..3969fb6d --- /dev/null +++ b/src/api/resources/users/types/UsersInviteResponseData.ts @@ -0,0 +1,12 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * An object containing the User's basic info and custom fields + */ +export interface UsersInviteResponseData { + data?: Webflow.UsersInviteResponseDataData; +} diff --git a/src/api/resources/users/types/UsersInviteResponseDataData.ts b/src/api/resources/users/types/UsersInviteResponseDataData.ts new file mode 100644 index 00000000..a7b902c5 --- /dev/null +++ b/src/api/resources/users/types/UsersInviteResponseDataData.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface UsersInviteResponseDataData { + /** The name of the user */ + name?: string; + /** The email address of the user */ + email?: string; + /** Boolean indicating if the user has accepted the privacy policy */ + acceptPrivacy?: boolean; + /** Boolean indicating if the user has accepted to receive communications */ + acceptCommunications?: boolean; + /** Custom user attributes */ + additionalProperties?: string; +} diff --git a/src/api/resources/users/types/UsersInviteResponseStatus.ts b/src/api/resources/users/types/UsersInviteResponseStatus.ts new file mode 100644 index 00000000..eeb40fad --- /dev/null +++ b/src/api/resources/users/types/UsersInviteResponseStatus.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The status of the user + */ +export type UsersInviteResponseStatus = "invited" | "verified" | "unverified"; + +export const UsersInviteResponseStatus = { + Invited: "invited", + Verified: "verified", + Unverified: "unverified", +} as const; diff --git a/src/api/resources/users/types/UsersListResponse.ts b/src/api/resources/users/types/UsersListResponse.ts new file mode 100644 index 00000000..e7388ddc --- /dev/null +++ b/src/api/resources/users/types/UsersListResponse.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The list users results + */ +export interface UsersListResponse { + /** Number of users returned */ + count?: number; + /** The limit specified in the request */ + limit?: number; + /** The offset specified for pagination */ + offset?: number; + /** Total number of users in the collection */ + total?: number; + /** List of Users for a Site */ + users?: Webflow.UsersListResponseUsersItem[]; +} diff --git a/src/api/resources/users/types/UsersListResponseUsersItem.ts b/src/api/resources/users/types/UsersListResponseUsersItem.ts new file mode 100644 index 00000000..6f32b6f2 --- /dev/null +++ b/src/api/resources/users/types/UsersListResponseUsersItem.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + */ +export interface UsersListResponseUsersItem { + /** Unique identifier for the User */ + id?: string; + /** Shows whether the user has verified their email address */ + isEmailVerified?: boolean; + /** The timestamp the user was updated */ + lastUpdated?: Date; + /** The timestamp the user was invited */ + invitedOn?: Date; + /** The timestamp the user was created */ + createdOn?: Date; + /** The timestamp the user was logged in */ + lastLogin?: Date; + /** The status of the user */ + status?: Webflow.UsersListResponseUsersItemStatus; + /** Access groups the user belongs to */ + accessGroups?: Webflow.UsersListResponseUsersItemAccessGroupsItem[]; + /** An object containing the User's basic info and custom fields */ + data?: Webflow.UsersListResponseUsersItemData; +} diff --git a/src/api/resources/users/types/UsersListResponseUsersItemAccessGroupsItem.ts b/src/api/resources/users/types/UsersListResponseUsersItemAccessGroupsItem.ts new file mode 100644 index 00000000..55727413 --- /dev/null +++ b/src/api/resources/users/types/UsersListResponseUsersItemAccessGroupsItem.ts @@ -0,0 +1,20 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Access group slugs and types + */ +export interface UsersListResponseUsersItemAccessGroupsItem { + /** Access group identifier for APIs */ + slug?: string; + /** + * The type of access group based on how it was assigned to the user. + * + * - `admin` - Assigned to the user via API or in the designer + * - `ecommerce` - Assigned to the user via an ecommerce purchase + */ + type?: Webflow.UsersListResponseUsersItemAccessGroupsItemType; +} diff --git a/src/api/resources/users/types/UsersListResponseUsersItemAccessGroupsItemType.ts b/src/api/resources/users/types/UsersListResponseUsersItemAccessGroupsItemType.ts new file mode 100644 index 00000000..a7f03667 --- /dev/null +++ b/src/api/resources/users/types/UsersListResponseUsersItemAccessGroupsItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of access group based on how it was assigned to the user. + * + * - `admin` - Assigned to the user via API or in the designer + * - `ecommerce` - Assigned to the user via an ecommerce purchase + */ +export type UsersListResponseUsersItemAccessGroupsItemType = "admin" | "ecommerce"; + +export const UsersListResponseUsersItemAccessGroupsItemType = { + Admin: "admin", + Ecommerce: "ecommerce", +} as const; diff --git a/src/api/resources/users/types/UsersListResponseUsersItemData.ts b/src/api/resources/users/types/UsersListResponseUsersItemData.ts new file mode 100644 index 00000000..125daa25 --- /dev/null +++ b/src/api/resources/users/types/UsersListResponseUsersItemData.ts @@ -0,0 +1,12 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * An object containing the User's basic info and custom fields + */ +export interface UsersListResponseUsersItemData { + data?: Webflow.UsersListResponseUsersItemDataData; +} diff --git a/src/api/resources/users/types/UsersListResponseUsersItemDataData.ts b/src/api/resources/users/types/UsersListResponseUsersItemDataData.ts new file mode 100644 index 00000000..94b883fc --- /dev/null +++ b/src/api/resources/users/types/UsersListResponseUsersItemDataData.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface UsersListResponseUsersItemDataData { + /** The name of the user */ + name?: string; + /** The email address of the user */ + email?: string; + /** Boolean indicating if the user has accepted the privacy policy */ + acceptPrivacy?: boolean; + /** Boolean indicating if the user has accepted to receive communications */ + acceptCommunications?: boolean; + /** Custom user attributes */ + additionalProperties?: string; +} diff --git a/src/api/resources/users/types/UsersListResponseUsersItemStatus.ts b/src/api/resources/users/types/UsersListResponseUsersItemStatus.ts new file mode 100644 index 00000000..026efcc4 --- /dev/null +++ b/src/api/resources/users/types/UsersListResponseUsersItemStatus.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The status of the user + */ +export type UsersListResponseUsersItemStatus = "invited" | "verified" | "unverified"; + +export const UsersListResponseUsersItemStatus = { + Invited: "invited", + Verified: "verified", + Unverified: "unverified", +} as const; diff --git a/src/api/resources/users/types/UsersUpdateResponse.ts b/src/api/resources/users/types/UsersUpdateResponse.ts new file mode 100644 index 00000000..be7f4394 --- /dev/null +++ b/src/api/resources/users/types/UsersUpdateResponse.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items + */ +export interface UsersUpdateResponse { + /** Unique identifier for the User */ + id?: string; + /** Shows whether the user has verified their email address */ + isEmailVerified?: boolean; + /** The timestamp the user was updated */ + lastUpdated?: Date; + /** The timestamp the user was invited */ + invitedOn?: Date; + /** The timestamp the user was created */ + createdOn?: Date; + /** The timestamp the user was logged in */ + lastLogin?: Date; + /** The status of the user */ + status?: Webflow.UsersUpdateResponseStatus; + /** Access groups the user belongs to */ + accessGroups?: Webflow.UsersUpdateResponseAccessGroupsItem[]; + /** An object containing the User's basic info and custom fields */ + data?: Webflow.UsersUpdateResponseData; +} diff --git a/src/api/resources/users/types/UsersUpdateResponseAccessGroupsItem.ts b/src/api/resources/users/types/UsersUpdateResponseAccessGroupsItem.ts new file mode 100644 index 00000000..3d2ac537 --- /dev/null +++ b/src/api/resources/users/types/UsersUpdateResponseAccessGroupsItem.ts @@ -0,0 +1,20 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * Access group slugs and types + */ +export interface UsersUpdateResponseAccessGroupsItem { + /** Access group identifier for APIs */ + slug?: string; + /** + * The type of access group based on how it was assigned to the user. + * + * - `admin` - Assigned to the user via API or in the designer + * - `ecommerce` - Assigned to the user via an ecommerce purchase + */ + type?: Webflow.UsersUpdateResponseAccessGroupsItemType; +} diff --git a/src/api/resources/users/types/UsersUpdateResponseAccessGroupsItemType.ts b/src/api/resources/users/types/UsersUpdateResponseAccessGroupsItemType.ts new file mode 100644 index 00000000..012e35a4 --- /dev/null +++ b/src/api/resources/users/types/UsersUpdateResponseAccessGroupsItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The type of access group based on how it was assigned to the user. + * + * - `admin` - Assigned to the user via API or in the designer + * - `ecommerce` - Assigned to the user via an ecommerce purchase + */ +export type UsersUpdateResponseAccessGroupsItemType = "admin" | "ecommerce"; + +export const UsersUpdateResponseAccessGroupsItemType = { + Admin: "admin", + Ecommerce: "ecommerce", +} as const; diff --git a/src/api/resources/users/types/UsersUpdateResponseData.ts b/src/api/resources/users/types/UsersUpdateResponseData.ts new file mode 100644 index 00000000..f83fb211 --- /dev/null +++ b/src/api/resources/users/types/UsersUpdateResponseData.ts @@ -0,0 +1,12 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +/** + * An object containing the User's basic info and custom fields + */ +export interface UsersUpdateResponseData { + data?: Webflow.UsersUpdateResponseDataData; +} diff --git a/src/api/resources/users/types/UsersUpdateResponseDataData.ts b/src/api/resources/users/types/UsersUpdateResponseDataData.ts new file mode 100644 index 00000000..95471438 --- /dev/null +++ b/src/api/resources/users/types/UsersUpdateResponseDataData.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface UsersUpdateResponseDataData { + /** The name of the user */ + name?: string; + /** The email address of the user */ + email?: string; + /** Boolean indicating if the user has accepted the privacy policy */ + acceptPrivacy?: boolean; + /** Boolean indicating if the user has accepted to receive communications */ + acceptCommunications?: boolean; + /** Custom user attributes */ + additionalProperties?: string; +} diff --git a/src/api/resources/users/types/UsersUpdateResponseStatus.ts b/src/api/resources/users/types/UsersUpdateResponseStatus.ts new file mode 100644 index 00000000..556bf3fd --- /dev/null +++ b/src/api/resources/users/types/UsersUpdateResponseStatus.ts @@ -0,0 +1,14 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The status of the user + */ +export type UsersUpdateResponseStatus = "invited" | "verified" | "unverified"; + +export const UsersUpdateResponseStatus = { + Invited: "invited", + Verified: "verified", + Unverified: "unverified", +} as const; diff --git a/src/api/resources/users/types/index.ts b/src/api/resources/users/types/index.ts index 0baf5143..d155f4c8 100644 --- a/src/api/resources/users/types/index.ts +++ b/src/api/resources/users/types/index.ts @@ -1,2 +1,51 @@ export * from "./UsersListRequestSort"; +export * from "./UsersListResponseUsersItemStatus"; +export * from "./UsersListResponseUsersItemAccessGroupsItemType"; +export * from "./UsersListResponseUsersItemAccessGroupsItem"; +export * from "./UsersListResponseUsersItemDataData"; +export * from "./UsersListResponseUsersItemData"; +export * from "./UsersListResponseUsersItem"; +export * from "./UsersListResponse"; +export * from "./UsersGetResponseStatus"; +export * from "./UsersGetResponseAccessGroupsItemType"; +export * from "./UsersGetResponseAccessGroupsItem"; +export * from "./UsersGetResponseDataData"; +export * from "./UsersGetResponseData"; +export * from "./UsersGetResponse"; export * from "./UsersUpdateRequestData"; +export * from "./UsersUpdateResponseStatus"; +export * from "./UsersUpdateResponseAccessGroupsItemType"; +export * from "./UsersUpdateResponseAccessGroupsItem"; +export * from "./UsersUpdateResponseDataData"; +export * from "./UsersUpdateResponseData"; +export * from "./UsersUpdateResponse"; +export * from "./UsersInviteResponseStatus"; +export * from "./UsersInviteResponseAccessGroupsItemType"; +export * from "./UsersInviteResponseAccessGroupsItem"; +export * from "./UsersInviteResponseDataData"; +export * from "./UsersInviteResponseData"; +export * from "./UsersInviteResponse"; +export * from "./UserAccountAddedPayloadTriggerType"; +export * from "./UserAccountAddedPayloadPayloadStatus"; +export * from "./UserAccountAddedPayloadPayloadAccessGroupsItemType"; +export * from "./UserAccountAddedPayloadPayloadAccessGroupsItem"; +export * from "./UserAccountAddedPayloadPayloadDataData"; +export * from "./UserAccountAddedPayloadPayloadData"; +export * from "./UserAccountAddedPayloadPayload"; +export * from "./UserAccountAddedPayload"; +export * from "./UserAccountUpdatedPayloadTriggerType"; +export * from "./UserAccountUpdatedPayloadPayloadStatus"; +export * from "./UserAccountUpdatedPayloadPayloadAccessGroupsItemType"; +export * from "./UserAccountUpdatedPayloadPayloadAccessGroupsItem"; +export * from "./UserAccountUpdatedPayloadPayloadDataData"; +export * from "./UserAccountUpdatedPayloadPayloadData"; +export * from "./UserAccountUpdatedPayloadPayload"; +export * from "./UserAccountUpdatedPayload"; +export * from "./UserAccountDeletedPayloadTriggerType"; +export * from "./UserAccountDeletedPayloadPayloadStatus"; +export * from "./UserAccountDeletedPayloadPayloadAccessGroupsItemType"; +export * from "./UserAccountDeletedPayloadPayloadAccessGroupsItem"; +export * from "./UserAccountDeletedPayloadPayloadDataData"; +export * from "./UserAccountDeletedPayloadPayloadData"; +export * from "./UserAccountDeletedPayloadPayload"; +export * from "./UserAccountDeletedPayload"; diff --git a/src/api/resources/webhooks/client/Client.ts b/src/api/resources/webhooks/client/Client.ts index 281779cd..a7aee32b 100644 --- a/src/api/resources/webhooks/client/Client.ts +++ b/src/api/resources/webhooks/client/Client.ts @@ -29,7 +29,9 @@ export class Webhooks { constructor(protected readonly _options: Webhooks.Options) {} /** - * List all App-created Webhooks registered for a given site

Required scope | `sites:read` + * List all App-created Webhooks registered for a given site + * + * Required scope | `sites:read` * * @param {string} siteId - Unique identifier for a Site * @param {Webhooks.RequestOptions} requestOptions - Request-specific configuration. @@ -43,7 +45,7 @@ export class Webhooks { * @example * await client.webhooks.list("580e63e98c9a982ac9b8b741") */ - public async list(siteId: string, requestOptions?: Webhooks.RequestOptions): Promise { + public async list(siteId: string, requestOptions?: Webhooks.RequestOptions): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -54,8 +56,8 @@ export class Webhooks { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -66,7 +68,7 @@ export class Webhooks { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.WebhookList.parseOrThrow(_response.body, { + return serializers.WebhooksListResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -84,15 +86,7 @@ export class Webhooks { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -119,10 +113,15 @@ export class Webhooks { } /** - * Create a new Webhook, to be notified when Webflow resources change. Limit of 75 registrations per `triggerType`, per site.
Access to this endpoint requires a bearer token from a Data Client App.
Required scope | `sites:write` + * Create a new Webhook. + * + * Limit of 75 registrations per `triggerType`, per site. + * + *
Access to this endpoint requires a bearer token from a Data Client App.
+ * Required scope | `sites:write` * * @param {string} siteId - Unique identifier for a Site - * @param {Webflow.Webhook} request + * @param {Webflow.WebhooksCreateRequest} request * @param {Webhooks.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Webflow.BadRequestError} @@ -133,20 +132,15 @@ export class Webhooks { * * @example * await client.webhooks.create("580e63e98c9a982ac9b8b741", { - * id: "582266e0cd48de0f0e3c6d8b", * triggerType: "form_submission", - * url: "https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f", - * workspaceId: "4f4e46fd476ea8c507000001", - * siteId: "562ac0395358780a1f5e6fbd", - * lastTriggered: "2023-02-08T23:59:28Z", - * createdOn: "2022-11-08T23:59:28Z" + * url: "https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f" * }) */ public async create( siteId: string, - request: Webflow.Webhook, + request: Webflow.WebhooksCreateRequest = {}, requestOptions?: Webhooks.RequestOptions - ): Promise { + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -157,20 +151,20 @@ export class Webhooks { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, contentType: "application/json", requestType: "json", - body: serializers.Webhook.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), + body: serializers.WebhooksCreateRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, maxRetries: requestOptions?.maxRetries, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.Webhook.parseOrThrow(_response.body, { + return serializers.WebhooksCreateResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -188,15 +182,7 @@ export class Webhooks { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -225,6 +211,8 @@ export class Webhooks { /** * Get a specific Webhook instance * + * Required scope: `sites:read` + * * @param {string} webhookId - Unique identifier for a Webhook * @param {Webhooks.RequestOptions} requestOptions - Request-specific configuration. * @@ -237,7 +225,10 @@ export class Webhooks { * @example * await client.webhooks.get("580e64008c9a982ac9b8b754") */ - public async get(webhookId: string, requestOptions?: Webhooks.RequestOptions): Promise { + public async get( + webhookId: string, + requestOptions?: Webhooks.RequestOptions + ): Promise { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.WebflowEnvironment.Default, @@ -248,8 +239,8 @@ export class Webhooks { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -260,7 +251,7 @@ export class Webhooks { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.Webhook.parseOrThrow(_response.body, { + return serializers.WebhooksGetResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -278,15 +269,7 @@ export class Webhooks { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: @@ -315,6 +298,8 @@ export class Webhooks { /** * Remove a Webhook * + * Required scope: `sites:read` + * * @param {string} webhookId - Unique identifier for a Webhook * @param {Webhooks.RequestOptions} requestOptions - Request-specific configuration. * @@ -338,8 +323,8 @@ export class Webhooks { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "webflow-api", - "X-Fern-SDK-Version": "2.4.2", - "User-Agent": "webflow-api/2.4.2", + "X-Fern-SDK-Version": "2.5.0", + "User-Agent": "webflow-api/2.5.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, }, @@ -362,15 +347,7 @@ export class Webhooks { case 404: throw new Webflow.NotFoundError(_response.error.body); case 429: - throw new Webflow.TooManyRequestsError( - serializers.TooManyRequestsErrorBody.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }) - ); + throw new Webflow.TooManyRequestsError(_response.error.body); case 500: throw new Webflow.InternalServerError(_response.error.body); default: diff --git a/src/api/resources/webhooks/client/index.ts b/src/api/resources/webhooks/client/index.ts index cb0ff5c3..415726b7 100644 --- a/src/api/resources/webhooks/client/index.ts +++ b/src/api/resources/webhooks/client/index.ts @@ -1 +1 @@ -export {}; +export * from "./requests"; diff --git a/src/api/resources/webhooks/client/requests/WebhooksCreateRequest.ts b/src/api/resources/webhooks/client/requests/WebhooksCreateRequest.ts new file mode 100644 index 00000000..e861cd3a --- /dev/null +++ b/src/api/resources/webhooks/client/requests/WebhooksCreateRequest.ts @@ -0,0 +1,38 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../../index"; + +/** + * @example + * { + * triggerType: "form_submission", + * url: "https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f" + * } + */ +export interface WebhooksCreateRequest { + /** + * * `form_submission` - Sends the [form_submission](#form_submission) event + * * `site_publish` - Sends a [site_publish](#site_publish) event + * * `page_created` - Send the [page_created](#page_created) event + * * `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event + * * `page_deleted` - Sends the [page_deleted](#page_deleted) event + * * `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event + * * `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event + * * `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event + * * `user_account_added` - Sends the [user_account_added](#user_account_added) event + * * `user_account_updated` - Sends the [user_account_updated](#user_account_updated) event + * * `user_account_deleted` - Sends the [user_account_deleted](#user_account_deleted) event + * * `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event + * * `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event + * * `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event + * * `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event + * + */ + triggerType?: Webflow.WebhooksCreateRequestTriggerType; + /** URL to send the Webhook payload to */ + url?: string; + /** Only supported for the `form_submission` trigger type. Filter for the form you want Webhooks to be sent for. */ + filter?: Webflow.WebhooksCreateRequestFilter; +} diff --git a/src/api/resources/webhooks/client/requests/index.ts b/src/api/resources/webhooks/client/requests/index.ts new file mode 100644 index 00000000..321638de --- /dev/null +++ b/src/api/resources/webhooks/client/requests/index.ts @@ -0,0 +1 @@ +export { type WebhooksCreateRequest } from "./WebhooksCreateRequest"; diff --git a/src/api/resources/webhooks/index.ts b/src/api/resources/webhooks/index.ts index 5ec76921..c9240f83 100644 --- a/src/api/resources/webhooks/index.ts +++ b/src/api/resources/webhooks/index.ts @@ -1 +1,2 @@ +export * from "./types"; export * from "./client"; diff --git a/src/api/resources/webhooks/types/WebhooksCreateRequestFilter.ts b/src/api/resources/webhooks/types/WebhooksCreateRequestFilter.ts new file mode 100644 index 00000000..c95d6fd5 --- /dev/null +++ b/src/api/resources/webhooks/types/WebhooksCreateRequestFilter.ts @@ -0,0 +1,11 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Only supported for the `form_submission` trigger type. Filter for the form you want Webhooks to be sent for. + */ +export interface WebhooksCreateRequestFilter { + /** The name of the form you'd like to recieve notifications for. */ + name?: string; +} diff --git a/src/api/resources/webhooks/types/WebhooksCreateRequestTriggerType.ts b/src/api/resources/webhooks/types/WebhooksCreateRequestTriggerType.ts new file mode 100644 index 00000000..93b85df8 --- /dev/null +++ b/src/api/resources/webhooks/types/WebhooksCreateRequestTriggerType.ts @@ -0,0 +1,55 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * - `form_submission` - Sends the [form_submission](#form_submission) event + * - `site_publish` - Sends a [site_publish](#site_publish) event + * - `page_created` - Send the [page_created](#page_created) event + * - `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event + * - `page_deleted` - Sends the [page_deleted](#page_deleted) event + * - `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event + * - `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event + * - `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event + * - `user_account_added` - Sends the [user_account_added](#user_account_added) event + * - `user_account_updated` - Sends the [user_account_updated](#user_account_updated) event + * - `user_account_deleted` - Sends the [user_account_deleted](#user_account_deleted) event + * - `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event + * - `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event + * - `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event + * - `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event + */ +export type WebhooksCreateRequestTriggerType = + | "form_submission" + | "site_publish" + | "page_created" + | "page_metadata_updated" + | "page_deleted" + | "ecomm_new_order" + | "ecomm_order_changed" + | "ecomm_inventory_changed" + | "user_account_added" + | "user_account_updated" + | "user_account_deleted" + | "collection_item_created" + | "collection_item_changed" + | "collection_item_deleted" + | "collection_item_unpublished"; + +export const WebhooksCreateRequestTriggerType = { + FormSubmission: "form_submission", + SitePublish: "site_publish", + PageCreated: "page_created", + PageMetadataUpdated: "page_metadata_updated", + PageDeleted: "page_deleted", + EcommNewOrder: "ecomm_new_order", + EcommOrderChanged: "ecomm_order_changed", + EcommInventoryChanged: "ecomm_inventory_changed", + UserAccountAdded: "user_account_added", + UserAccountUpdated: "user_account_updated", + UserAccountDeleted: "user_account_deleted", + CollectionItemCreated: "collection_item_created", + CollectionItemChanged: "collection_item_changed", + CollectionItemDeleted: "collection_item_deleted", + CollectionItemUnpublished: "collection_item_unpublished", +} as const; diff --git a/src/api/resources/webhooks/types/WebhooksCreateResponse.ts b/src/api/resources/webhooks/types/WebhooksCreateResponse.ts new file mode 100644 index 00000000..334a4017 --- /dev/null +++ b/src/api/resources/webhooks/types/WebhooksCreateResponse.ts @@ -0,0 +1,40 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface WebhooksCreateResponse { + /** Unique identifier for the Webhook registration */ + id?: string; + /** + * - `form_submission` - Sends the [form_submission](#form_submission) event + * - `site_publish` - Sends a [site_publish](#site_publish) event + * - `page_created` - Send the [page_created](#page_created) event + * - `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event + * - `page_deleted` - Sends the [page_deleted](#page_deleted) event + * - `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event + * - `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event + * - `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event + * - `user_account_added` - Sends the [user_account_added](#user_account_added) event + * - `user_account_updated` - Sends the [user_account_updated](#user_account_updated) event + * - `user_account_deleted` - Sends the [user_account_deleted](#user_account_deleted) event + * - `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event + * - `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event + * - `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event + * - `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event + */ + triggerType?: Webflow.WebhooksCreateResponseTriggerType; + /** URL to send the Webhook payload to */ + url?: string; + /** Unique identifier for the Workspace the Webhook is registered in */ + workspaceId?: string; + /** Unique identifier for the Site the Webhook is registered in */ + siteId?: string; + /** Only supported for the `form_submission` trigger type. Filter for the form you want Webhooks to be sent for. */ + filter?: Webflow.WebhooksCreateResponseFilter; + /** Date the Webhook instance was last triggered */ + lastTriggered?: Date; + /** Date the Webhook registration was created */ + createdOn?: Date; +} diff --git a/src/api/resources/webhooks/types/WebhooksCreateResponseFilter.ts b/src/api/resources/webhooks/types/WebhooksCreateResponseFilter.ts new file mode 100644 index 00000000..05548124 --- /dev/null +++ b/src/api/resources/webhooks/types/WebhooksCreateResponseFilter.ts @@ -0,0 +1,11 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Only supported for the `form_submission` trigger type. Filter for the form you want Webhooks to be sent for. + */ +export interface WebhooksCreateResponseFilter { + /** The name of the form you'd like to recieve notifications for. */ + name?: string; +} diff --git a/src/api/resources/webhooks/types/WebhooksCreateResponseTriggerType.ts b/src/api/resources/webhooks/types/WebhooksCreateResponseTriggerType.ts new file mode 100644 index 00000000..35274938 --- /dev/null +++ b/src/api/resources/webhooks/types/WebhooksCreateResponseTriggerType.ts @@ -0,0 +1,55 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * - `form_submission` - Sends the [form_submission](#form_submission) event + * - `site_publish` - Sends a [site_publish](#site_publish) event + * - `page_created` - Send the [page_created](#page_created) event + * - `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event + * - `page_deleted` - Sends the [page_deleted](#page_deleted) event + * - `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event + * - `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event + * - `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event + * - `user_account_added` - Sends the [user_account_added](#user_account_added) event + * - `user_account_updated` - Sends the [user_account_updated](#user_account_updated) event + * - `user_account_deleted` - Sends the [user_account_deleted](#user_account_deleted) event + * - `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event + * - `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event + * - `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event + * - `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event + */ +export type WebhooksCreateResponseTriggerType = + | "form_submission" + | "site_publish" + | "page_created" + | "page_metadata_updated" + | "page_deleted" + | "ecomm_new_order" + | "ecomm_order_changed" + | "ecomm_inventory_changed" + | "user_account_added" + | "user_account_updated" + | "user_account_deleted" + | "collection_item_created" + | "collection_item_changed" + | "collection_item_deleted" + | "collection_item_unpublished"; + +export const WebhooksCreateResponseTriggerType = { + FormSubmission: "form_submission", + SitePublish: "site_publish", + PageCreated: "page_created", + PageMetadataUpdated: "page_metadata_updated", + PageDeleted: "page_deleted", + EcommNewOrder: "ecomm_new_order", + EcommOrderChanged: "ecomm_order_changed", + EcommInventoryChanged: "ecomm_inventory_changed", + UserAccountAdded: "user_account_added", + UserAccountUpdated: "user_account_updated", + UserAccountDeleted: "user_account_deleted", + CollectionItemCreated: "collection_item_created", + CollectionItemChanged: "collection_item_changed", + CollectionItemDeleted: "collection_item_deleted", + CollectionItemUnpublished: "collection_item_unpublished", +} as const; diff --git a/src/api/resources/webhooks/types/WebhooksGetResponse.ts b/src/api/resources/webhooks/types/WebhooksGetResponse.ts new file mode 100644 index 00000000..50bc902a --- /dev/null +++ b/src/api/resources/webhooks/types/WebhooksGetResponse.ts @@ -0,0 +1,40 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface WebhooksGetResponse { + /** Unique identifier for the Webhook registration */ + id?: string; + /** + * - `form_submission` - Sends the [form_submission](#form_submission) event + * - `site_publish` - Sends a [site_publish](#site_publish) event + * - `page_created` - Send the [page_created](#page_created) event + * - `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event + * - `page_deleted` - Sends the [page_deleted](#page_deleted) event + * - `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event + * - `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event + * - `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event + * - `user_account_added` - Sends the [user_account_added](#user_account_added) event + * - `user_account_updated` - Sends the [user_account_updated](#user_account_updated) event + * - `user_account_deleted` - Sends the [user_account_deleted](#user_account_deleted) event + * - `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event + * - `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event + * - `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event + * - `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event + */ + triggerType?: Webflow.WebhooksGetResponseTriggerType; + /** URL to send the Webhook payload to */ + url?: string; + /** Unique identifier for the Workspace the Webhook is registered in */ + workspaceId?: string; + /** Unique identifier for the Site the Webhook is registered in */ + siteId?: string; + /** Only supported for the `form_submission` trigger type. Filter for the form you want Webhooks to be sent for. */ + filter?: Webflow.WebhooksGetResponseFilter; + /** Date the Webhook instance was last triggered */ + lastTriggered?: Date; + /** Date the Webhook registration was created */ + createdOn?: Date; +} diff --git a/src/api/resources/webhooks/types/WebhooksGetResponseFilter.ts b/src/api/resources/webhooks/types/WebhooksGetResponseFilter.ts new file mode 100644 index 00000000..bee1b0e5 --- /dev/null +++ b/src/api/resources/webhooks/types/WebhooksGetResponseFilter.ts @@ -0,0 +1,11 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Only supported for the `form_submission` trigger type. Filter for the form you want Webhooks to be sent for. + */ +export interface WebhooksGetResponseFilter { + /** The name of the form you'd like to recieve notifications for. */ + name?: string; +} diff --git a/src/api/resources/webhooks/types/WebhooksGetResponseTriggerType.ts b/src/api/resources/webhooks/types/WebhooksGetResponseTriggerType.ts new file mode 100644 index 00000000..9e0e50cb --- /dev/null +++ b/src/api/resources/webhooks/types/WebhooksGetResponseTriggerType.ts @@ -0,0 +1,55 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * - `form_submission` - Sends the [form_submission](#form_submission) event + * - `site_publish` - Sends a [site_publish](#site_publish) event + * - `page_created` - Send the [page_created](#page_created) event + * - `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event + * - `page_deleted` - Sends the [page_deleted](#page_deleted) event + * - `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event + * - `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event + * - `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event + * - `user_account_added` - Sends the [user_account_added](#user_account_added) event + * - `user_account_updated` - Sends the [user_account_updated](#user_account_updated) event + * - `user_account_deleted` - Sends the [user_account_deleted](#user_account_deleted) event + * - `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event + * - `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event + * - `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event + * - `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event + */ +export type WebhooksGetResponseTriggerType = + | "form_submission" + | "site_publish" + | "page_created" + | "page_metadata_updated" + | "page_deleted" + | "ecomm_new_order" + | "ecomm_order_changed" + | "ecomm_inventory_changed" + | "user_account_added" + | "user_account_updated" + | "user_account_deleted" + | "collection_item_created" + | "collection_item_changed" + | "collection_item_deleted" + | "collection_item_unpublished"; + +export const WebhooksGetResponseTriggerType = { + FormSubmission: "form_submission", + SitePublish: "site_publish", + PageCreated: "page_created", + PageMetadataUpdated: "page_metadata_updated", + PageDeleted: "page_deleted", + EcommNewOrder: "ecomm_new_order", + EcommOrderChanged: "ecomm_order_changed", + EcommInventoryChanged: "ecomm_inventory_changed", + UserAccountAdded: "user_account_added", + UserAccountUpdated: "user_account_updated", + UserAccountDeleted: "user_account_deleted", + CollectionItemCreated: "collection_item_created", + CollectionItemChanged: "collection_item_changed", + CollectionItemDeleted: "collection_item_deleted", + CollectionItemUnpublished: "collection_item_unpublished", +} as const; diff --git a/src/api/resources/webhooks/types/WebhooksListResponse.ts b/src/api/resources/webhooks/types/WebhooksListResponse.ts new file mode 100644 index 00000000..a02da528 --- /dev/null +++ b/src/api/resources/webhooks/types/WebhooksListResponse.ts @@ -0,0 +1,11 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface WebhooksListResponse { + /** Pagination object */ + pagination?: Webflow.WebhooksListResponsePagination; + webhooks?: Webflow.WebhooksListResponseWebhooksItem[]; +} diff --git a/src/api/resources/webhooks/types/WebhooksListResponsePagination.ts b/src/api/resources/webhooks/types/WebhooksListResponsePagination.ts new file mode 100644 index 00000000..76c72333 --- /dev/null +++ b/src/api/resources/webhooks/types/WebhooksListResponsePagination.ts @@ -0,0 +1,15 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Pagination object + */ +export interface WebhooksListResponsePagination { + /** The limit used for pagination */ + limit?: number; + /** The offset used for pagination */ + offset?: number; + /** The total number of records */ + total?: number; +} diff --git a/src/api/resources/webhooks/types/WebhooksListResponseWebhooksItem.ts b/src/api/resources/webhooks/types/WebhooksListResponseWebhooksItem.ts new file mode 100644 index 00000000..84685c2d --- /dev/null +++ b/src/api/resources/webhooks/types/WebhooksListResponseWebhooksItem.ts @@ -0,0 +1,40 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../../../index"; + +export interface WebhooksListResponseWebhooksItem { + /** Unique identifier for the Webhook registration */ + id?: string; + /** + * - `form_submission` - Sends the [form_submission](#form_submission) event + * - `site_publish` - Sends a [site_publish](#site_publish) event + * - `page_created` - Send the [page_created](#page_created) event + * - `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event + * - `page_deleted` - Sends the [page_deleted](#page_deleted) event + * - `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event + * - `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event + * - `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event + * - `user_account_added` - Sends the [user_account_added](#user_account_added) event + * - `user_account_updated` - Sends the [user_account_updated](#user_account_updated) event + * - `user_account_deleted` - Sends the [user_account_deleted](#user_account_deleted) event + * - `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event + * - `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event + * - `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event + * - `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event + */ + triggerType?: Webflow.WebhooksListResponseWebhooksItemTriggerType; + /** URL to send the Webhook payload to */ + url?: string; + /** Unique identifier for the Workspace the Webhook is registered in */ + workspaceId?: string; + /** Unique identifier for the Site the Webhook is registered in */ + siteId?: string; + /** Only supported for the `form_submission` trigger type. Filter for the form you want Webhooks to be sent for. */ + filter?: Webflow.WebhooksListResponseWebhooksItemFilter; + /** Date the Webhook instance was last triggered */ + lastTriggered?: Date; + /** Date the Webhook registration was created */ + createdOn?: Date; +} diff --git a/src/api/resources/webhooks/types/WebhooksListResponseWebhooksItemFilter.ts b/src/api/resources/webhooks/types/WebhooksListResponseWebhooksItemFilter.ts new file mode 100644 index 00000000..1c10d0aa --- /dev/null +++ b/src/api/resources/webhooks/types/WebhooksListResponseWebhooksItemFilter.ts @@ -0,0 +1,11 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Only supported for the `form_submission` trigger type. Filter for the form you want Webhooks to be sent for. + */ +export interface WebhooksListResponseWebhooksItemFilter { + /** The name of the form you'd like to recieve notifications for. */ + name?: string; +} diff --git a/src/api/resources/webhooks/types/WebhooksListResponseWebhooksItemTriggerType.ts b/src/api/resources/webhooks/types/WebhooksListResponseWebhooksItemTriggerType.ts new file mode 100644 index 00000000..ccb4164c --- /dev/null +++ b/src/api/resources/webhooks/types/WebhooksListResponseWebhooksItemTriggerType.ts @@ -0,0 +1,55 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * - `form_submission` - Sends the [form_submission](#form_submission) event + * - `site_publish` - Sends a [site_publish](#site_publish) event + * - `page_created` - Send the [page_created](#page_created) event + * - `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event + * - `page_deleted` - Sends the [page_deleted](#page_deleted) event + * - `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event + * - `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event + * - `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event + * - `user_account_added` - Sends the [user_account_added](#user_account_added) event + * - `user_account_updated` - Sends the [user_account_updated](#user_account_updated) event + * - `user_account_deleted` - Sends the [user_account_deleted](#user_account_deleted) event + * - `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event + * - `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event + * - `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event + * - `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event + */ +export type WebhooksListResponseWebhooksItemTriggerType = + | "form_submission" + | "site_publish" + | "page_created" + | "page_metadata_updated" + | "page_deleted" + | "ecomm_new_order" + | "ecomm_order_changed" + | "ecomm_inventory_changed" + | "user_account_added" + | "user_account_updated" + | "user_account_deleted" + | "collection_item_created" + | "collection_item_changed" + | "collection_item_deleted" + | "collection_item_unpublished"; + +export const WebhooksListResponseWebhooksItemTriggerType = { + FormSubmission: "form_submission", + SitePublish: "site_publish", + PageCreated: "page_created", + PageMetadataUpdated: "page_metadata_updated", + PageDeleted: "page_deleted", + EcommNewOrder: "ecomm_new_order", + EcommOrderChanged: "ecomm_order_changed", + EcommInventoryChanged: "ecomm_inventory_changed", + UserAccountAdded: "user_account_added", + UserAccountUpdated: "user_account_updated", + UserAccountDeleted: "user_account_deleted", + CollectionItemCreated: "collection_item_created", + CollectionItemChanged: "collection_item_changed", + CollectionItemDeleted: "collection_item_deleted", + CollectionItemUnpublished: "collection_item_unpublished", +} as const; diff --git a/src/api/resources/webhooks/types/index.ts b/src/api/resources/webhooks/types/index.ts new file mode 100644 index 00000000..015f4d53 --- /dev/null +++ b/src/api/resources/webhooks/types/index.ts @@ -0,0 +1,13 @@ +export * from "./WebhooksListResponsePagination"; +export * from "./WebhooksListResponseWebhooksItemTriggerType"; +export * from "./WebhooksListResponseWebhooksItemFilter"; +export * from "./WebhooksListResponseWebhooksItem"; +export * from "./WebhooksListResponse"; +export * from "./WebhooksCreateRequestTriggerType"; +export * from "./WebhooksCreateRequestFilter"; +export * from "./WebhooksCreateResponseTriggerType"; +export * from "./WebhooksCreateResponseFilter"; +export * from "./WebhooksCreateResponse"; +export * from "./WebhooksGetResponseTriggerType"; +export * from "./WebhooksGetResponseFilter"; +export * from "./WebhooksGetResponse"; diff --git a/src/api/types/AccessGroup.ts b/src/api/types/AccessGroup.ts deleted file mode 100644 index d94688bc..00000000 --- a/src/api/types/AccessGroup.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -export interface AccessGroup { - /** Unique identifier for the Access Group */ - id?: string; - /** Name of the the Access Group */ - name?: string; - /** Shortened unique identifier based on name, optimized for its use in the user’s JWT */ - shortId?: string; - /** Shortened unique identifier based on name, optimized for human readability and public API use */ - slug?: string; - /** The date the Access Group was created */ - createdOn?: Date; -} diff --git a/src/api/types/AccessGroupList.ts b/src/api/types/AccessGroupList.ts deleted file mode 100644 index f76f25f1..00000000 --- a/src/api/types/AccessGroupList.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * The list access groups results - */ -export interface AccessGroupList { - /** Number of access groups returned */ - count?: number; - /** The limit specified in the request */ - limit?: number; - /** The offset specified for pagination */ - offset?: number; - /** Total number of access groups in the collection */ - total?: number; - /** List of Site Access Groups */ - accessGroups?: Webflow.AccessGroup[]; -} diff --git a/src/api/types/Application.ts b/src/api/types/Application.ts deleted file mode 100644 index ad9eebe6..00000000 --- a/src/api/types/Application.ts +++ /dev/null @@ -1,5 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -export type Application = unknown; diff --git a/src/api/types/Asset.ts b/src/api/types/Asset.ts deleted file mode 100644 index 73d237e5..00000000 --- a/src/api/types/Asset.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -export interface Asset { - /** Unique identifier for this asset */ - id?: string; - /** File format type */ - contentType?: string; - /** size in bytes */ - size?: number; - /** Unique identifier for the site that hosts this asset */ - siteId?: string; - /** Link to the asset */ - hostedUrl?: string; - /** Original file name at the time of upload */ - originalFileName?: string; - /** Display name of the asset */ - displayName?: string; - /** Date the asset metadata was last updated */ - lastUpdated?: Date; - /** Date the asset metadata was created */ - createdOn?: Date; - variants?: Webflow.AssetVariant[]; - /** The visual description of the asset */ - altText?: string; -} diff --git a/src/api/types/AssetFolder.ts b/src/api/types/AssetFolder.ts deleted file mode 100644 index 5e7d18a6..00000000 --- a/src/api/types/AssetFolder.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * Asset Folder details - */ -export interface AssetFolder { - /** Unique identifier for the Asset Folder */ - id?: string; - /** User visible name for the Asset Folder */ - displayName?: string; - /** Pointer to parent Asset Folder (or null if root) */ - parentFolder?: string; - /** Array of Asset instances in the folder */ - assets?: string[]; - /** The unique id of the site the Asset Folder belongs to */ - siteId?: string; - /** Date that the Asset Folder was created on */ - createdOn?: Date; - /** Date that the Asset Folder was last updated on */ - lastUpdated?: Date; -} diff --git a/src/api/types/AssetFolderList.ts b/src/api/types/AssetFolderList.ts deleted file mode 100644 index 7618d6cb..00000000 --- a/src/api/types/AssetFolderList.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * The Asset Folders object - */ -export interface AssetFolderList { - /** A list of Asset folders */ - assetFolders?: Webflow.AssetFolder[]; - pagination?: Webflow.Pagination; -} diff --git a/src/api/types/AssetUpload.ts b/src/api/types/AssetUpload.ts deleted file mode 100644 index 748fe76e..00000000 --- a/src/api/types/AssetUpload.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -export interface AssetUpload { - /** Metadata for uploading the asset binary */ - uploadDetails?: Webflow.AssetUploadUploadDetails; - contentType?: string; - id?: string; - /** Parent folder for the asset */ - parentFolder?: string; - uploadUrl?: string; - /** S3 link to the asset */ - assetUrl?: string; - /** Represents the link to the asset */ - hostedUrl?: string; - /** Original file name when uploaded. If not specified at time of upload, it may be extracted from the raw file name */ - originalFileName?: string; - /** Date the asset metadata was created */ - createdOn?: Date; - /** Date the asset metadata was last updated */ - lastUpdated?: Date; -} diff --git a/src/api/types/AssetUploadUploadDetails.ts b/src/api/types/AssetUploadUploadDetails.ts deleted file mode 100644 index 8226a132..00000000 --- a/src/api/types/AssetUploadUploadDetails.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * Metadata for uploading the asset binary - */ -export interface AssetUploadUploadDetails { - acl?: string; - bucket?: string; - xAmzAlgorithm?: string; - xAmzCredential?: string; - xAmzDate?: string; - key?: string; - policy?: string; - xAmzSignature?: string; - successActionStatus?: string; - contentType?: string; - cacheControl?: string; -} diff --git a/src/api/types/AssetVariant.ts b/src/api/types/AssetVariant.ts deleted file mode 100644 index 87190815..00000000 --- a/src/api/types/AssetVariant.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -export interface AssetVariant { - /** URL of where the asset variant is hosted */ - hostedUrl?: string; - /** Original file name of the variant */ - originalFileName?: string; - /** Display name of the variant */ - displayName?: string; - /** format of the variant */ - format?: string; - /** Width in pixels */ - width?: number; - /** Height in pixels */ - height?: number; - /** Value between 0 and 100 representing the image quality */ - quality?: number; - /** Any associated validation errors */ - error?: string; -} diff --git a/src/api/types/Assets.ts b/src/api/types/Assets.ts deleted file mode 100644 index ef06e1a0..00000000 --- a/src/api/types/Assets.ts +++ /dev/null @@ -1,12 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * A list of assets - */ -export interface Assets { - assets?: Webflow.Asset[]; -} diff --git a/src/api/types/Authorization.ts b/src/api/types/Authorization.ts deleted file mode 100644 index dda5cb25..00000000 --- a/src/api/types/Authorization.ts +++ /dev/null @@ -1,11 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -export interface Authorization { - /** The Authorization object */ - authorization?: Webflow.AuthorizationAuthorization; - application?: Webflow.Application | undefined; -} diff --git a/src/api/types/AuthorizationAuthorization.ts b/src/api/types/AuthorizationAuthorization.ts deleted file mode 100644 index 9609859a..00000000 --- a/src/api/types/AuthorizationAuthorization.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * The Authorization object - */ -export interface AuthorizationAuthorization { - /** The unique id of the Authorization instance */ - id?: string; - /** The date the Authorization was created */ - createdOn?: Date; - /** The date the Authorization was last used */ - lastUsed?: Date; - /** The grant type of the Authorization */ - grantType?: string; - /** The default rate limit for the Authorization (requests/min) */ - rateLimit?: number; - /** Comma separted list of OAuth scopes corresponding to the Authorization */ - scope?: string; - authorizedTo?: Webflow.AuthorizationAuthorizationAuthorizedTo; -} diff --git a/src/api/types/AuthorizationAuthorizationAuthorizedTo.ts b/src/api/types/AuthorizationAuthorizationAuthorizedTo.ts deleted file mode 100644 index 0e34e40c..00000000 --- a/src/api/types/AuthorizationAuthorizationAuthorizedTo.ts +++ /dev/null @@ -1,12 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -export interface AuthorizationAuthorizationAuthorizedTo { - /** Array of Sites this app is authorized to */ - siteIds?: unknown[]; - /** Array of Workspaces this app is authorized to */ - workspaceIds?: unknown[]; - /** Array of Users this app is authorized to */ - userIds?: unknown[]; -} diff --git a/src/api/types/AuthorizedUser.ts b/src/api/types/AuthorizedUser.ts deleted file mode 100644 index de8672df..00000000 --- a/src/api/types/AuthorizedUser.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -export interface AuthorizedUser { - /** The unique id of the user */ - id?: string; - /** The user's email address */ - email?: string; - /** The user's first name */ - firstName?: string; - /** The user's last name */ - lastName?: string; -} diff --git a/src/api/types/BadRequestErrorBody.ts b/src/api/types/BadRequestErrorBody.ts index 4cf0862f..38b1401d 100644 --- a/src/api/types/BadRequestErrorBody.ts +++ b/src/api/types/BadRequestErrorBody.ts @@ -4,4 +4,13 @@ import * as Webflow from "../index"; -export type BadRequestErrorBody = Webflow.InvalidDomain | undefined | Webflow.NoDomains | undefined; +export interface BadRequestErrorBody { + /** Error code */ + code?: Webflow.BadRequestErrorBodyCode; + /** Error message */ + message?: string; + /** Link to more information */ + externalReference?: string; + /** Array of errors */ + details?: Webflow.BadRequestErrorBodyDetailsItem[]; +} diff --git a/src/api/types/BadRequestErrorBodyCode.ts b/src/api/types/BadRequestErrorBodyCode.ts new file mode 100644 index 00000000..721c1676 --- /dev/null +++ b/src/api/types/BadRequestErrorBodyCode.ts @@ -0,0 +1,69 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Error code + */ +export type BadRequestErrorBodyCode = + | "bad_request" + | "collection_not_found" + | "conflict" + | "duplicate_collection" + | "duplicate_user_email" + | "ecommerce_not_enabled" + | "forbidden" + | "forms_require_republish" + | "incompatible_webhook_filter" + | "internal_error" + | "invalid_auth_version" + | "invalid_credentials" + | "invalid_domain" + | "invalid_user_email" + | "item_not_found" + | "missing_scopes" + | "no_domains" + | "not_authorized" + | "not_enterprise_plan_site" + | "not_enterprise_plan_workspace" + | "order_not_found" + | "resource_not_found" + | "too_many_requests" + | "unsupported_version" + | "unsupported_webhook_trigger_type" + | "user_limit_reached" + | "user_not_found" + | "users_not_enabled" + | "validation_error"; + +export const BadRequestErrorBodyCode = { + BadRequest: "bad_request", + CollectionNotFound: "collection_not_found", + Conflict: "conflict", + DuplicateCollection: "duplicate_collection", + DuplicateUserEmail: "duplicate_user_email", + EcommerceNotEnabled: "ecommerce_not_enabled", + Forbidden: "forbidden", + FormsRequireRepublish: "forms_require_republish", + IncompatibleWebhookFilter: "incompatible_webhook_filter", + InternalError: "internal_error", + InvalidAuthVersion: "invalid_auth_version", + InvalidCredentials: "invalid_credentials", + InvalidDomain: "invalid_domain", + InvalidUserEmail: "invalid_user_email", + ItemNotFound: "item_not_found", + MissingScopes: "missing_scopes", + NoDomains: "no_domains", + NotAuthorized: "not_authorized", + NotEnterprisePlanSite: "not_enterprise_plan_site", + NotEnterprisePlanWorkspace: "not_enterprise_plan_workspace", + OrderNotFound: "order_not_found", + ResourceNotFound: "resource_not_found", + TooManyRequests: "too_many_requests", + UnsupportedVersion: "unsupported_version", + UnsupportedWebhookTriggerType: "unsupported_webhook_trigger_type", + UserLimitReached: "user_limit_reached", + UserNotFound: "user_not_found", + UsersNotEnabled: "users_not_enabled", + ValidationError: "validation_error", +} as const; diff --git a/src/api/types/BadRequestErrorBodyDetailsItem.ts b/src/api/types/BadRequestErrorBodyDetailsItem.ts new file mode 100644 index 00000000..3a6fbfe7 --- /dev/null +++ b/src/api/types/BadRequestErrorBodyDetailsItem.ts @@ -0,0 +1,5 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export type BadRequestErrorBodyDetailsItem = string | Record; diff --git a/src/api/types/BulkCollectionItem.ts b/src/api/types/BulkCollectionItem.ts deleted file mode 100644 index f2618ee6..00000000 --- a/src/api/types/BulkCollectionItem.ts +++ /dev/null @@ -1,26 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items - */ -export interface BulkCollectionItem { - /** Unique identifier for the Item */ - id: string; - /** Array of identifiers for the locales where the item will be created */ - cmsLocaleIds?: string[]; - /** The date the item was last published */ - lastPublished?: string; - /** The date the item was last updated */ - lastUpdated?: string; - /** The date the item was created */ - createdOn?: string; - /** Boolean determining if the Item is set to archived */ - isArchived?: boolean; - /** Boolean determining if the Item is set to draft */ - isDraft?: boolean; - fieldData?: Webflow.BulkCollectionItemFieldData; -} diff --git a/src/api/types/BulkCollectionItemFieldData.ts b/src/api/types/BulkCollectionItemFieldData.ts deleted file mode 100644 index a3d4c6b1..00000000 --- a/src/api/types/BulkCollectionItemFieldData.ts +++ /dev/null @@ -1,12 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -export interface BulkCollectionItemFieldData { - /** Name of the Item */ - name?: string; - /** URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug. */ - slug?: string; - /** Additional CMS Item field properties with any name and any type */ - [key: string]: any; -} diff --git a/src/api/types/Collection.ts b/src/api/types/Collection.ts deleted file mode 100644 index 1dba545f..00000000 --- a/src/api/types/Collection.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * A collection object - */ -export interface Collection { - /** Unique identifier for a Collection */ - id: string; - /** Name given to the Collection */ - displayName?: string; - /** The name of one Item in Collection (e.g. ”Blog Post” if the Collection is called “Blog Posts”) */ - singularName?: string; - /** Slug of Collection in Site URL structure */ - slug?: string; - /** The date the collection was created */ - createdOn?: Date; - /** The date the collection was last updated */ - lastUpdated?: Date; - /** The list of fields in the Collection */ - fields: Webflow.Field[]; -} diff --git a/src/api/types/CollectionItem.ts b/src/api/types/CollectionItem.ts deleted file mode 100644 index b604d972..00000000 --- a/src/api/types/CollectionItem.ts +++ /dev/null @@ -1,26 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items - */ -export interface CollectionItem { - /** Unique identifier for the Item */ - id: string; - /** Identifier for the locale of the CMS item */ - cmsLocaleId?: string; - /** The date the item was last published */ - lastPublished?: string; - /** The date the item was last updated */ - lastUpdated?: string; - /** The date the item was created */ - createdOn?: string; - /** Boolean determining if the Item is set to archived */ - isArchived?: boolean; - /** Boolean determining if the Item is set to draft */ - isDraft?: boolean; - fieldData?: Webflow.CollectionItemFieldData; -} diff --git a/src/api/types/CollectionItemFieldData.ts b/src/api/types/CollectionItemFieldData.ts deleted file mode 100644 index 24f3be2c..00000000 --- a/src/api/types/CollectionItemFieldData.ts +++ /dev/null @@ -1,12 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -export interface CollectionItemFieldData { - /** Name of the Item */ - name?: string; - /** URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug. */ - slug?: string; - /** Additional CMS Item field properties with any name and any type */ - [key: string]: any; -} diff --git a/src/api/types/CollectionItemList.ts b/src/api/types/CollectionItemList.ts deleted file mode 100644 index 357eb694..00000000 --- a/src/api/types/CollectionItemList.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * Results from collection items list - */ -export interface CollectionItemList { - /** List of Items within the collection */ - items?: Webflow.CollectionItem[]; - pagination?: Webflow.CollectionItemListPagination; -} diff --git a/src/api/types/CollectionItemListPagination.ts b/src/api/types/CollectionItemListPagination.ts deleted file mode 100644 index f3631d75..00000000 --- a/src/api/types/CollectionItemListPagination.ts +++ /dev/null @@ -1,12 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -export interface CollectionItemListPagination { - /** The limit specified in the request */ - limit?: number; - /** The offset specified for pagination */ - offset?: number; - /** Total number of items in the collection */ - total?: number; -} diff --git a/src/api/types/CollectionList.ts b/src/api/types/CollectionList.ts deleted file mode 100644 index 74b6338c..00000000 --- a/src/api/types/CollectionList.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -export interface CollectionList { - /** An array of Collections */ - collections?: Webflow.CollectionListArrayItem[]; -} diff --git a/src/api/types/CollectionListArrayItem.ts b/src/api/types/CollectionListArrayItem.ts deleted file mode 100644 index 2c3ae253..00000000 --- a/src/api/types/CollectionListArrayItem.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * A collection object - */ -export interface CollectionListArrayItem { - /** Unique identifier for a Collection */ - id: string; - /** Name given to the Collection */ - displayName?: string; - /** The name of one Item in Collection (e.g. ”Blog Post” if the Collection is called “Blog Posts”) */ - singularName?: string; - /** Slug of Collection in Site URL structure */ - slug?: string; - /** The date the collection was created */ - createdOn?: Date; - /** The date the collection was last updated */ - lastUpdated?: Date; -} diff --git a/src/api/types/ConflictErrorBody.ts b/src/api/types/ConflictErrorBody.ts index 83105915..852c7bd2 100644 --- a/src/api/types/ConflictErrorBody.ts +++ b/src/api/types/ConflictErrorBody.ts @@ -6,11 +6,11 @@ import * as Webflow from "../index"; export interface ConflictErrorBody { /** Error code */ - code?: "ecommerce_not_enabled"; + code?: Webflow.ConflictErrorBodyCode; /** Error message */ message?: string; /** Link to more information */ externalReference?: string; /** Array of errors */ - details?: Webflow.ErrorDetailsItem[]; + details?: Webflow.ConflictErrorBodyDetailsItem[]; } diff --git a/src/api/types/ConflictErrorBodyCode.ts b/src/api/types/ConflictErrorBodyCode.ts new file mode 100644 index 00000000..1b4cc4ba --- /dev/null +++ b/src/api/types/ConflictErrorBodyCode.ts @@ -0,0 +1,69 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Error code + */ +export type ConflictErrorBodyCode = + | "bad_request" + | "collection_not_found" + | "conflict" + | "duplicate_collection" + | "duplicate_user_email" + | "ecommerce_not_enabled" + | "forbidden" + | "forms_require_republish" + | "incompatible_webhook_filter" + | "internal_error" + | "invalid_auth_version" + | "invalid_credentials" + | "invalid_domain" + | "invalid_user_email" + | "item_not_found" + | "missing_scopes" + | "no_domains" + | "not_authorized" + | "not_enterprise_plan_site" + | "not_enterprise_plan_workspace" + | "order_not_found" + | "resource_not_found" + | "too_many_requests" + | "unsupported_version" + | "unsupported_webhook_trigger_type" + | "user_limit_reached" + | "user_not_found" + | "users_not_enabled" + | "validation_error"; + +export const ConflictErrorBodyCode = { + BadRequest: "bad_request", + CollectionNotFound: "collection_not_found", + Conflict: "conflict", + DuplicateCollection: "duplicate_collection", + DuplicateUserEmail: "duplicate_user_email", + EcommerceNotEnabled: "ecommerce_not_enabled", + Forbidden: "forbidden", + FormsRequireRepublish: "forms_require_republish", + IncompatibleWebhookFilter: "incompatible_webhook_filter", + InternalError: "internal_error", + InvalidAuthVersion: "invalid_auth_version", + InvalidCredentials: "invalid_credentials", + InvalidDomain: "invalid_domain", + InvalidUserEmail: "invalid_user_email", + ItemNotFound: "item_not_found", + MissingScopes: "missing_scopes", + NoDomains: "no_domains", + NotAuthorized: "not_authorized", + NotEnterprisePlanSite: "not_enterprise_plan_site", + NotEnterprisePlanWorkspace: "not_enterprise_plan_workspace", + OrderNotFound: "order_not_found", + ResourceNotFound: "resource_not_found", + TooManyRequests: "too_many_requests", + UnsupportedVersion: "unsupported_version", + UnsupportedWebhookTriggerType: "unsupported_webhook_trigger_type", + UserLimitReached: "user_limit_reached", + UserNotFound: "user_not_found", + UsersNotEnabled: "users_not_enabled", + ValidationError: "validation_error", +} as const; diff --git a/src/api/types/ConflictErrorBodyDetailsItem.ts b/src/api/types/ConflictErrorBodyDetailsItem.ts new file mode 100644 index 00000000..a9115103 --- /dev/null +++ b/src/api/types/ConflictErrorBodyDetailsItem.ts @@ -0,0 +1,5 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export type ConflictErrorBodyDetailsItem = string | Record; diff --git a/src/api/types/CustomCodeBlock.ts b/src/api/types/CustomCodeBlock.ts deleted file mode 100644 index c82d6d34..00000000 --- a/src/api/types/CustomCodeBlock.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * A specific instance of Custom Code applied to a Site or Page - */ -export interface CustomCodeBlock { - /** The Site id where the custom code was applied */ - siteId?: string; - /** The Page id (if applied at Page-level) */ - pageId?: string; - /** Whether the Custom Code script is applied at the Site-level or Page-level */ - type?: Webflow.CustomCodeBlockType; - scripts?: Webflow.Scripts; - /** The date the Block was created */ - createdOn?: Date; - /** The date the Block was most recently updated */ - lastUpdated?: Date; -} diff --git a/src/api/types/CustomCodeBlockType.ts b/src/api/types/CustomCodeBlockType.ts deleted file mode 100644 index 4664679d..00000000 --- a/src/api/types/CustomCodeBlockType.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * Whether the Custom Code script is applied at the Site-level or Page-level - */ -export type CustomCodeBlockType = "page" | "site"; - -export const CustomCodeBlockType = { - Page: "page", - Site: "site", -} as const; diff --git a/src/api/types/CustomCodeHostedResponse.ts b/src/api/types/CustomCodeHostedResponse.ts deleted file mode 100644 index 8a8b1d08..00000000 --- a/src/api/types/CustomCodeHostedResponse.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * Registered custom code for application - */ -export interface CustomCodeHostedResponse { - /** Human readable id, derived from the user-specified display name */ - id?: string; - /** Define whether the script can be copied on site duplication and transfer */ - canCopy?: boolean; - /** User-facing name for the script. Must be between 1 and 50 alphanumeric characters */ - displayName?: string; - /** URI for an externally hosted script location */ - hostedLocation?: string; - /** Sub-Resource Integrity Hash. Only required for externally hosted scripts (passed via hostedLocation) */ - integrityHash?: string; - /** Timestamp when the script version was created */ - createdOn?: string; - /** Timestamp when the script version was last updated */ - lastUpdated?: string; - /** A Semantic Version (SemVer) string, denoting the version of the script */ - version?: string; -} diff --git a/src/api/types/CustomCodeInlineResponse.ts b/src/api/types/CustomCodeInlineResponse.ts deleted file mode 100644 index feb74a4b..00000000 --- a/src/api/types/CustomCodeInlineResponse.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * Registered custom code for application - */ -export interface CustomCodeInlineResponse { - /** Human readable id, derived from the user-specified display name */ - id?: string; - /** Define whether the script can be copied on site duplication and transfer */ - canCopy?: boolean; - /** User-facing name for the script. Must be between 1 and 50 alphanumeric characters */ - displayName?: string; - /** URI for an externally hosted script location */ - hostedLocation?: string; - /** Sub-Resource Integrity Hash. Only required for externally hosted scripts (passed via hostedLocation) */ - integrityHash?: string; - /** Timestamp when the script version was created */ - createdOn?: string; - /** Timestamp when the script version was last updated */ - lastUpdated?: string; - /** A Semantic Version (SemVer) string, denoting the version of the script */ - version?: string; -} diff --git a/src/api/types/Dom.ts b/src/api/types/Dom.ts deleted file mode 100644 index ff5f7c0b..00000000 --- a/src/api/types/Dom.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * The DOM (Document Object Model) schema represents the content structure of a web page. It captures various content nodes, such as text and images, along with their associated attributes. Each node has a unique identifier and can be of different types like text or image. The schema also provides pagination details for scenarios where the content nodes are too many to be fetched in a single request. - */ -export interface Dom { - /** Page ID */ - pageId?: string; - nodes?: Webflow.Node[]; - pagination?: Webflow.Pagination; -} diff --git a/src/api/types/Domain.ts b/src/api/types/Domain.ts deleted file mode 100644 index 64c69d4a..00000000 --- a/src/api/types/Domain.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -export interface Domain { - /** Unique identifier for the Domain */ - id: string; - /** The registered Domain name */ - url?: string; -} diff --git a/src/api/types/Domains.ts b/src/api/types/Domains.ts deleted file mode 100644 index 1e156571..00000000 --- a/src/api/types/Domains.ts +++ /dev/null @@ -1,9 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -export interface Domains { - customDomains?: Webflow.Domain[]; -} diff --git a/src/api/types/DuplicateUserEmail.ts b/src/api/types/DuplicateUserEmail.ts deleted file mode 100644 index e714016e..00000000 --- a/src/api/types/DuplicateUserEmail.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -export interface DuplicateUserEmail { - /** Error code */ - code?: string; - /** Error message */ - message?: string; - /** Link to more information */ - externalReference?: string; - /** Array of errors */ - details?: Webflow.ErrorDetailsItem[]; -} diff --git a/src/api/types/EcommerceSettings.ts b/src/api/types/EcommerceSettings.ts deleted file mode 100644 index fa755860..00000000 --- a/src/api/types/EcommerceSettings.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * Ecommerce settings for a Webflow Site - */ -export interface EcommerceSettings { - /** The identifier of the Site */ - siteId?: string; - /** Date that the Site was created on */ - createdOn?: Date; - /** The three-letter ISO currency code for the Site */ - defaultCurrency?: string; -} diff --git a/src/api/types/ErrorDetailsItem.ts b/src/api/types/ErrorDetailsItem.ts deleted file mode 100644 index d02087ac..00000000 --- a/src/api/types/ErrorDetailsItem.ts +++ /dev/null @@ -1,5 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -export type ErrorDetailsItem = string | Record; diff --git a/src/api/types/Error_.ts b/src/api/types/Error_.ts deleted file mode 100644 index d257bfb4..00000000 --- a/src/api/types/Error_.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -export interface Error_ { - /** Error code */ - code?: string; - /** Error message */ - message?: string; - /** Link to more information */ - externalReference?: string; - /** Array of errors */ - details?: Webflow.ErrorDetailsItem[]; -} diff --git a/src/api/types/Field.ts b/src/api/types/Field.ts deleted file mode 100644 index 4e32236f..00000000 --- a/src/api/types/Field.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * The details of a field in a collection - */ -export interface Field { - /** Unique identifier for a Field */ - id: string; - /** define whether a field is required in a collection */ - isRequired: boolean; - /** Define whether the field is editable */ - isEditable?: boolean; - /** Choose these appropriate field type for your collection data */ - type: Webflow.FieldType; - /** Slug of Field in Site URL structure. Slugs should be all lowercase with no spaces. Any spaces will be converted to "-." */ - slug?: string; - /** The name of a field */ - displayName: string; - /** Additional text to help anyone filling out this field */ - helpText?: string; -} diff --git a/src/api/types/FieldType.ts b/src/api/types/FieldType.ts deleted file mode 100644 index e495a8d3..00000000 --- a/src/api/types/FieldType.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * Choose these appropriate field type for your collection data - */ -export type FieldType = - | "PlainText" - | "RichText" - | "Image" - | "MultiImage" - | "Video" - | "Link" - | "Email" - | "Phone" - | "Number" - | "DateTime" - | "Switch" - | "Color" - | "ExtFileRef"; - -export const FieldType = { - PlainText: "PlainText", - RichText: "RichText", - Image: "Image", - MultiImage: "MultiImage", - Video: "Video", - Link: "Link", - Email: "Email", - Phone: "Phone", - Number: "Number", - DateTime: "DateTime", - Switch: "Switch", - Color: "Color", - ExtFileRef: "ExtFileRef", -} as const; diff --git a/src/api/types/ForbiddenErrorBody.ts b/src/api/types/ForbiddenErrorBody.ts index 636aaef2..28b2b651 100644 --- a/src/api/types/ForbiddenErrorBody.ts +++ b/src/api/types/ForbiddenErrorBody.ts @@ -2,10 +2,15 @@ * This file was auto-generated by Fern from our API Definition. */ +import * as Webflow from "../index"; + export interface ForbiddenErrorBody { - status?: number; + /** Error code */ + code?: Webflow.ForbiddenErrorBodyCode; + /** Error message */ message?: string; - publicErrorCode?: string; + /** Link to more information */ externalReference?: string; - details?: string[]; + /** Array of errors */ + details?: Webflow.ForbiddenErrorBodyDetailsItem[]; } diff --git a/src/api/types/ForbiddenErrorBodyCode.ts b/src/api/types/ForbiddenErrorBodyCode.ts new file mode 100644 index 00000000..bb3a6848 --- /dev/null +++ b/src/api/types/ForbiddenErrorBodyCode.ts @@ -0,0 +1,69 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Error code + */ +export type ForbiddenErrorBodyCode = + | "bad_request" + | "collection_not_found" + | "conflict" + | "duplicate_collection" + | "duplicate_user_email" + | "ecommerce_not_enabled" + | "forbidden" + | "forms_require_republish" + | "incompatible_webhook_filter" + | "internal_error" + | "invalid_auth_version" + | "invalid_credentials" + | "invalid_domain" + | "invalid_user_email" + | "item_not_found" + | "missing_scopes" + | "no_domains" + | "not_authorized" + | "not_enterprise_plan_site" + | "not_enterprise_plan_workspace" + | "order_not_found" + | "resource_not_found" + | "too_many_requests" + | "unsupported_version" + | "unsupported_webhook_trigger_type" + | "user_limit_reached" + | "user_not_found" + | "users_not_enabled" + | "validation_error"; + +export const ForbiddenErrorBodyCode = { + BadRequest: "bad_request", + CollectionNotFound: "collection_not_found", + Conflict: "conflict", + DuplicateCollection: "duplicate_collection", + DuplicateUserEmail: "duplicate_user_email", + EcommerceNotEnabled: "ecommerce_not_enabled", + Forbidden: "forbidden", + FormsRequireRepublish: "forms_require_republish", + IncompatibleWebhookFilter: "incompatible_webhook_filter", + InternalError: "internal_error", + InvalidAuthVersion: "invalid_auth_version", + InvalidCredentials: "invalid_credentials", + InvalidDomain: "invalid_domain", + InvalidUserEmail: "invalid_user_email", + ItemNotFound: "item_not_found", + MissingScopes: "missing_scopes", + NoDomains: "no_domains", + NotAuthorized: "not_authorized", + NotEnterprisePlanSite: "not_enterprise_plan_site", + NotEnterprisePlanWorkspace: "not_enterprise_plan_workspace", + OrderNotFound: "order_not_found", + ResourceNotFound: "resource_not_found", + TooManyRequests: "too_many_requests", + UnsupportedVersion: "unsupported_version", + UnsupportedWebhookTriggerType: "unsupported_webhook_trigger_type", + UserLimitReached: "user_limit_reached", + UserNotFound: "user_not_found", + UsersNotEnabled: "users_not_enabled", + ValidationError: "validation_error", +} as const; diff --git a/src/api/types/ForbiddenErrorBodyDetailsItem.ts b/src/api/types/ForbiddenErrorBodyDetailsItem.ts new file mode 100644 index 00000000..c1324905 --- /dev/null +++ b/src/api/types/ForbiddenErrorBodyDetailsItem.ts @@ -0,0 +1,5 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export type ForbiddenErrorBodyDetailsItem = string | Record; diff --git a/src/api/types/Form.ts b/src/api/types/Form.ts deleted file mode 100644 index 52ea2338..00000000 --- a/src/api/types/Form.ts +++ /dev/null @@ -1,35 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * A Webflow form - */ -export interface Form { - /** The Form name displayed on the site */ - displayName?: string; - /** Date that the Form was created on */ - createdOn?: Date; - /** Date that the Form was last updated on */ - lastUpdated?: Date; - /** A list of form fields */ - fields?: Webflow.FormField[]; - /** Settings for form responses */ - responseSettings?: Webflow.FormResponseSettings; - /** The unique id for the Form */ - id?: string; - /** The unique id of the Site the Form belongs to */ - siteId?: string; - /** The unique id corresponding to the site's Domain name */ - siteDomainId?: string; - /** The unique id for the Page on which the Form is placed */ - pageId?: string; - /** The user-visible name of the Page where the Form is placed */ - pageName?: string; - /** The unique id of the Form element */ - formElementId?: string; - /** The unique id of the Workspace the Site belongs to */ - workspaceId?: string; -} diff --git a/src/api/types/FormField.ts b/src/api/types/FormField.ts deleted file mode 100644 index 63d089ed..00000000 --- a/src/api/types/FormField.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * A collection of form fields with additional properties. - */ -export type FormField = Record; diff --git a/src/api/types/FormFieldValue.ts b/src/api/types/FormFieldValue.ts deleted file mode 100644 index 96717dd7..00000000 --- a/src/api/types/FormFieldValue.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * An object containing field info for a specific fieldID. - */ -export interface FormFieldValue { - /** The field name displayed on the site */ - displayName?: string; - /** The field type */ - type?: Webflow.FormFieldValueType; - /** The placeholder text for the field */ - placeholder?: string; - /** Whether the field is visible to the user */ - userVisible?: boolean; -} diff --git a/src/api/types/FormFieldValueType.ts b/src/api/types/FormFieldValueType.ts deleted file mode 100644 index 6bfb83be..00000000 --- a/src/api/types/FormFieldValueType.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * The field type - */ -export type FormFieldValueType = "Plain" | "Email" | "Password" | "Phone" | "Number"; - -export const FormFieldValueType = { - Plain: "Plain", - Email: "Email", - Password: "Password", - Phone: "Phone", - Number: "Number", -} as const; diff --git a/src/api/types/FormList.ts b/src/api/types/FormList.ts deleted file mode 100644 index cd9736be..00000000 --- a/src/api/types/FormList.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -export interface FormList { - forms?: Webflow.Form[]; - pagination?: Webflow.Pagination; -} diff --git a/src/api/types/FormResponseSettings.ts b/src/api/types/FormResponseSettings.ts deleted file mode 100644 index 0ad96213..00000000 --- a/src/api/types/FormResponseSettings.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * Settings for form responses - */ -export interface FormResponseSettings { - /** The url or path to redirect the user to after form submission */ - redirectUrl?: string; - /** The HTTP request method to use for the redirectUrl (eg. POST or GET) */ - redirectMethod?: string; - /** The action to take after form submission */ - redirectAction?: string; - /** Whether to send an email confirmation to the user */ - sendEmailConfirmation?: boolean; -} diff --git a/src/api/types/FormSubmission.ts b/src/api/types/FormSubmission.ts deleted file mode 100644 index 159cf192..00000000 --- a/src/api/types/FormSubmission.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -export interface FormSubmission { - /** The unique id of the Form submission */ - id?: string; - /** The Form name displayed on the site */ - displayName?: string; - /** The unique id of the Site the Form belongs to */ - siteId?: string; - /** The unique id of the Workspace the Site belongs to */ - workspaceId?: string; - /** Date that the Form was submitted on */ - dateSubmitted?: Date; - /** The data submitted in the Form */ - formResponse?: Record; -} diff --git a/src/api/types/FormSubmissionList.ts b/src/api/types/FormSubmissionList.ts deleted file mode 100644 index 0b55b4fb..00000000 --- a/src/api/types/FormSubmissionList.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -export interface FormSubmissionList { - formSubmissions?: Webflow.FormSubmission[]; - pagination?: Webflow.Pagination; -} diff --git a/src/api/types/ImageNode.ts b/src/api/types/ImageNode.ts deleted file mode 100644 index 11ff84db..00000000 --- a/src/api/types/ImageNode.ts +++ /dev/null @@ -1,11 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * Represents an image within the DOM. It contains details about the image, such as its alternative text (alt) for accessibility and an asset identifier for fetching the actual image resource. Additional attributes can be associated with the image for styling or other purposes. - */ -export interface ImageNode { - alt?: string; - assetId?: string; -} diff --git a/src/api/types/InternalServerErrorBody.ts b/src/api/types/InternalServerErrorBody.ts new file mode 100644 index 00000000..05937c9f --- /dev/null +++ b/src/api/types/InternalServerErrorBody.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../index"; + +export interface InternalServerErrorBody { + /** Error code */ + code?: Webflow.InternalServerErrorBodyCode; + /** Error message */ + message?: string; + /** Link to more information */ + externalReference?: string; + /** Array of errors */ + details?: Webflow.InternalServerErrorBodyDetailsItem[]; +} diff --git a/src/api/types/InternalServerErrorBodyCode.ts b/src/api/types/InternalServerErrorBodyCode.ts new file mode 100644 index 00000000..7d63eb29 --- /dev/null +++ b/src/api/types/InternalServerErrorBodyCode.ts @@ -0,0 +1,69 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Error code + */ +export type InternalServerErrorBodyCode = + | "bad_request" + | "collection_not_found" + | "conflict" + | "duplicate_collection" + | "duplicate_user_email" + | "ecommerce_not_enabled" + | "forbidden" + | "forms_require_republish" + | "incompatible_webhook_filter" + | "internal_error" + | "invalid_auth_version" + | "invalid_credentials" + | "invalid_domain" + | "invalid_user_email" + | "item_not_found" + | "missing_scopes" + | "no_domains" + | "not_authorized" + | "not_enterprise_plan_site" + | "not_enterprise_plan_workspace" + | "order_not_found" + | "resource_not_found" + | "too_many_requests" + | "unsupported_version" + | "unsupported_webhook_trigger_type" + | "user_limit_reached" + | "user_not_found" + | "users_not_enabled" + | "validation_error"; + +export const InternalServerErrorBodyCode = { + BadRequest: "bad_request", + CollectionNotFound: "collection_not_found", + Conflict: "conflict", + DuplicateCollection: "duplicate_collection", + DuplicateUserEmail: "duplicate_user_email", + EcommerceNotEnabled: "ecommerce_not_enabled", + Forbidden: "forbidden", + FormsRequireRepublish: "forms_require_republish", + IncompatibleWebhookFilter: "incompatible_webhook_filter", + InternalError: "internal_error", + InvalidAuthVersion: "invalid_auth_version", + InvalidCredentials: "invalid_credentials", + InvalidDomain: "invalid_domain", + InvalidUserEmail: "invalid_user_email", + ItemNotFound: "item_not_found", + MissingScopes: "missing_scopes", + NoDomains: "no_domains", + NotAuthorized: "not_authorized", + NotEnterprisePlanSite: "not_enterprise_plan_site", + NotEnterprisePlanWorkspace: "not_enterprise_plan_workspace", + OrderNotFound: "order_not_found", + ResourceNotFound: "resource_not_found", + TooManyRequests: "too_many_requests", + UnsupportedVersion: "unsupported_version", + UnsupportedWebhookTriggerType: "unsupported_webhook_trigger_type", + UserLimitReached: "user_limit_reached", + UserNotFound: "user_not_found", + UsersNotEnabled: "users_not_enabled", + ValidationError: "validation_error", +} as const; diff --git a/src/api/types/InternalServerErrorBodyDetailsItem.ts b/src/api/types/InternalServerErrorBodyDetailsItem.ts new file mode 100644 index 00000000..26dc7c80 --- /dev/null +++ b/src/api/types/InternalServerErrorBodyDetailsItem.ts @@ -0,0 +1,5 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export type InternalServerErrorBodyDetailsItem = string | Record; diff --git a/src/api/types/InvalidDomain.ts b/src/api/types/InvalidDomain.ts deleted file mode 100644 index 4da2028b..00000000 --- a/src/api/types/InvalidDomain.ts +++ /dev/null @@ -1,5 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -export type InvalidDomain = unknown; diff --git a/src/api/types/InventoryItem.ts b/src/api/types/InventoryItem.ts deleted file mode 100644 index 93cd7c00..00000000 --- a/src/api/types/InventoryItem.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * The availabile inventory for an item - */ -export interface InventoryItem { - /** Unique identifier for a SKU item */ - id?: string; - /** Total quantity of items remaining in inventory (if inventoryType is finite) */ - quantity?: number; - /** infinite or finite */ - inventoryType?: Webflow.InventoryItemInventoryType; -} diff --git a/src/api/types/InventoryItemInventoryType.ts b/src/api/types/InventoryItemInventoryType.ts deleted file mode 100644 index 1828edeb..00000000 --- a/src/api/types/InventoryItemInventoryType.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * infinite or finite - */ -export type InventoryItemInventoryType = "infinite" | "finite"; - -export const InventoryItemInventoryType = { - Infinite: "infinite", - Finite: "finite", -} as const; diff --git a/src/api/types/ListCustomCodeBlocks.ts b/src/api/types/ListCustomCodeBlocks.ts deleted file mode 100644 index 6518202a..00000000 --- a/src/api/types/ListCustomCodeBlocks.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * Custom Code Blocks corresponding to where scripts were applied - */ -export interface ListCustomCodeBlocks { - blocks?: Webflow.CustomCodeBlock[]; - pagination?: Webflow.Pagination; -} diff --git a/src/api/types/Locale.ts b/src/api/types/Locale.ts deleted file mode 100644 index 38974659..00000000 --- a/src/api/types/Locale.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -export interface Locale { - /** The unique identifier for the locale. */ - id?: string; - /** A CMS-specific identifier for the locale. */ - cmsLocaleId?: string; - /** Indicates if the locale is enabled. */ - enabled?: boolean; - /** The display name of the locale, typically in English. */ - displayName?: string; - /** An optional ID for an image associated with the locale, nullable. */ - displayImageId?: string; - /** Determines if requests should redirect to the locale's subdirectory. */ - redirect?: boolean; - /** The subdirectory path for the locale, used in URLs. */ - subdirectory?: string; - /** A tag or code representing the locale, often following a standard format like 'en-US'. */ - tag?: string; -} diff --git a/src/api/types/Locales.ts b/src/api/types/Locales.ts deleted file mode 100644 index f8dc0241..00000000 --- a/src/api/types/Locales.ts +++ /dev/null @@ -1,12 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -export interface Locales { - /** The primary locale for the site or application. */ - primary?: Webflow.Locale; - /** A list of secondary locales available for the site or application. */ - secondary?: Webflow.Locale[]; -} diff --git a/src/api/types/MissingScopes.ts b/src/api/types/MissingScopes.ts deleted file mode 100644 index 121a3a27..00000000 --- a/src/api/types/MissingScopes.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -export interface MissingScopes { - /** Error code */ - code?: "missing_scopes"; - /** Error message */ - message?: string; - /** Link to more information */ - externalReference?: string; - /** Array of errors */ - details?: Webflow.ErrorDetailsItem[]; -} diff --git a/src/api/types/NoDomains.ts b/src/api/types/NoDomains.ts deleted file mode 100644 index d00b6e30..00000000 --- a/src/api/types/NoDomains.ts +++ /dev/null @@ -1,5 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -export type NoDomains = unknown; diff --git a/src/api/types/Node.ts b/src/api/types/Node.ts deleted file mode 100644 index 4f8f21c3..00000000 --- a/src/api/types/Node.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * A generic representation of a content element within the Document Object Model (DOM). Each node has a unique identifier and a specific type that determines its content structure and attributes. - */ -export interface Node { - /** Node UUID */ - id?: string; - type?: Webflow.NodeType; - text?: Webflow.TextNode; - image?: Webflow.ImageNode; - /** The custom attributes of the node */ - attributes?: Record; -} diff --git a/src/api/types/NodeType.ts b/src/api/types/NodeType.ts deleted file mode 100644 index 30b5f886..00000000 --- a/src/api/types/NodeType.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -export type NodeType = "text" | "image"; - -export const NodeType = { - Text: "text", - Image: "image", -} as const; diff --git a/src/api/types/NotEnterprisePlanSite.ts b/src/api/types/NotEnterprisePlanSite.ts deleted file mode 100644 index 23d6c370..00000000 --- a/src/api/types/NotEnterprisePlanSite.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -export interface NotEnterprisePlanSite { - /** Error code */ - code?: "missing_scopes"; - /** Error message */ - message?: string; - /** Link to more information */ - externalReference?: string; - /** Array of errors */ - details?: Webflow.ErrorDetailsItem[]; -} diff --git a/src/api/types/NotFoundErrorBody.ts b/src/api/types/NotFoundErrorBody.ts new file mode 100644 index 00000000..1366d0df --- /dev/null +++ b/src/api/types/NotFoundErrorBody.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../index"; + +export interface NotFoundErrorBody { + /** Error code */ + code?: Webflow.NotFoundErrorBodyCode; + /** Error message */ + message?: string; + /** Link to more information */ + externalReference?: string; + /** Array of errors */ + details?: Webflow.NotFoundErrorBodyDetailsItem[]; +} diff --git a/src/api/types/NotFoundErrorBodyCode.ts b/src/api/types/NotFoundErrorBodyCode.ts new file mode 100644 index 00000000..7aa34a19 --- /dev/null +++ b/src/api/types/NotFoundErrorBodyCode.ts @@ -0,0 +1,69 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Error code + */ +export type NotFoundErrorBodyCode = + | "bad_request" + | "collection_not_found" + | "conflict" + | "duplicate_collection" + | "duplicate_user_email" + | "ecommerce_not_enabled" + | "forbidden" + | "forms_require_republish" + | "incompatible_webhook_filter" + | "internal_error" + | "invalid_auth_version" + | "invalid_credentials" + | "invalid_domain" + | "invalid_user_email" + | "item_not_found" + | "missing_scopes" + | "no_domains" + | "not_authorized" + | "not_enterprise_plan_site" + | "not_enterprise_plan_workspace" + | "order_not_found" + | "resource_not_found" + | "too_many_requests" + | "unsupported_version" + | "unsupported_webhook_trigger_type" + | "user_limit_reached" + | "user_not_found" + | "users_not_enabled" + | "validation_error"; + +export const NotFoundErrorBodyCode = { + BadRequest: "bad_request", + CollectionNotFound: "collection_not_found", + Conflict: "conflict", + DuplicateCollection: "duplicate_collection", + DuplicateUserEmail: "duplicate_user_email", + EcommerceNotEnabled: "ecommerce_not_enabled", + Forbidden: "forbidden", + FormsRequireRepublish: "forms_require_republish", + IncompatibleWebhookFilter: "incompatible_webhook_filter", + InternalError: "internal_error", + InvalidAuthVersion: "invalid_auth_version", + InvalidCredentials: "invalid_credentials", + InvalidDomain: "invalid_domain", + InvalidUserEmail: "invalid_user_email", + ItemNotFound: "item_not_found", + MissingScopes: "missing_scopes", + NoDomains: "no_domains", + NotAuthorized: "not_authorized", + NotEnterprisePlanSite: "not_enterprise_plan_site", + NotEnterprisePlanWorkspace: "not_enterprise_plan_workspace", + OrderNotFound: "order_not_found", + ResourceNotFound: "resource_not_found", + TooManyRequests: "too_many_requests", + UnsupportedVersion: "unsupported_version", + UnsupportedWebhookTriggerType: "unsupported_webhook_trigger_type", + UserLimitReached: "user_limit_reached", + UserNotFound: "user_not_found", + UsersNotEnabled: "users_not_enabled", + ValidationError: "validation_error", +} as const; diff --git a/src/api/types/NotFoundErrorBodyDetailsItem.ts b/src/api/types/NotFoundErrorBodyDetailsItem.ts new file mode 100644 index 00000000..c7ac5b35 --- /dev/null +++ b/src/api/types/NotFoundErrorBodyDetailsItem.ts @@ -0,0 +1,5 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export type NotFoundErrorBodyDetailsItem = string | Record; diff --git a/src/api/types/Order.ts b/src/api/types/Order.ts deleted file mode 100644 index 1ad23709..00000000 --- a/src/api/types/Order.ts +++ /dev/null @@ -1,69 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -export interface Order { - /** The order id. Will usually be 6 hex characters, but can also be 9 hex characters if the site has a very large number of Orders. Randomly assigned. */ - orderId?: string; - /** The status of the Order */ - status?: Webflow.OrderStatus; - /** A comment string for this Order, which is editable by API user (not used by Webflow). */ - comment?: string; - /** A comment that the customer left when making their Order */ - orderComment?: string; - /** The ISO8601 timestamp that an Order was placed. */ - acceptedOn?: Date; - /** When an Order is marked as 'fulfilled', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. */ - fulfilledOn?: Date; - /** When an Order is marked as 'refunded', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. */ - refundedOn?: Date; - /** When an Order is marked as 'disputed', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null. */ - disputedOn?: Date; - /** If an Order has been disputed by the customer, this key will be set to the ISO8601 timestamp of the last update received. If the Order is not disputed, the key will be null. */ - disputeUpdatedOn?: Date; - /** If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status). */ - disputeLastStatus?: Webflow.OrderDisputeLastStatus; - /** The total paid by the customer */ - customerPaid?: Webflow.OrderPrice; - /** The net amount after application fees */ - netAmount?: Webflow.OrderPrice; - /** The application fee assessed by the platform */ - applicationFee?: Webflow.OrderPrice; - /** All addresses provided by the customer during the ordering flow. */ - allAddresses?: Webflow.OrderAddress[]; - /** The shipping address */ - shippingAddress?: Webflow.OrderAddress; - /** The billing address */ - billingAddress?: Webflow.OrderAddress; - /** A string editable by the API user to note the shipping provider used (not used by Webflow). */ - shippingProvider?: string; - /** A string editable by the API user to note the shipping tracking number for the order (not used by Webflow). */ - shippingTracking?: string; - shippingTrackingUrl?: string; - /** An object with the keys `fullName` and `email`. */ - customerInfo?: Webflow.OrderCustomerInfo; - /** An array of all things that the Customer purchased. */ - purchasedItems?: Webflow.OrderPurchasedItem[]; - /** The sum of all 'count' fields in 'purchasedItems'. */ - purchasedItemsCount?: number; - stripeDetails?: Webflow.StripeDetails; - stripeCard?: Webflow.StripeCard; - paypalDetails?: Webflow.PaypalDetails; - /** An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value. */ - customData?: Record[]; - metadata?: Webflow.OrderMetadata; - /** A boolean indicating whether the customer has been deleted from the site. */ - isCustomerDeleted?: boolean; - /** A boolean indicating whether the order contains one or more purchased items that require shipping. */ - isShippingRequired?: boolean; - /** A boolean indicating whether the order contains one or more purchased items that are downloadable. */ - hasDownloads?: boolean; - /** A string indicating the payment processor used for this order. */ - paymentProcessor?: string; - /** An object describing various pricing totals */ - totals?: Webflow.OrderTotals; - /** An array of downloadable file objects. */ - downloadFiles?: Webflow.OrderDownloadFilesItem[]; -} diff --git a/src/api/types/OrderAddress.ts b/src/api/types/OrderAddress.ts deleted file mode 100644 index 2f3d1072..00000000 --- a/src/api/types/OrderAddress.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * A customer address - */ -export interface OrderAddress { - /** The type of the order address (billing or shipping) */ - type?: Webflow.OrderAddressType; - /** Represents a Japan-only address format. This field will only appear on orders placed from Japan. */ - japanType?: Webflow.OrderAddressJapanType; - /** Display name on the address */ - addressee?: string; - /** The first line of the address */ - line1?: string; - /** The second line of the address */ - line2?: string; - /** The city of the address. */ - city?: string; - /** The state or province of the address */ - state?: string; - /** The country of the address */ - country?: string; - /** The postal code of the address */ - postalCode?: string; -} diff --git a/src/api/types/OrderAddressJapanType.ts b/src/api/types/OrderAddressJapanType.ts deleted file mode 100644 index e7a85a94..00000000 --- a/src/api/types/OrderAddressJapanType.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * Represents a Japan-only address format. This field will only appear on orders placed from Japan. - */ -export type OrderAddressJapanType = "kana" | "kanji"; - -export const OrderAddressJapanType = { - Kana: "kana", - Kanji: "kanji", -} as const; diff --git a/src/api/types/OrderAddressType.ts b/src/api/types/OrderAddressType.ts deleted file mode 100644 index 46679b43..00000000 --- a/src/api/types/OrderAddressType.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * The type of the order address (billing or shipping) - */ -export type OrderAddressType = "shipping" | "billing"; - -export const OrderAddressType = { - Shipping: "shipping", - Billing: "billing", -} as const; diff --git a/src/api/types/OrderCustomerInfo.ts b/src/api/types/OrderCustomerInfo.ts deleted file mode 100644 index f774e405..00000000 --- a/src/api/types/OrderCustomerInfo.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * An object with the keys `fullName` and `email`. - */ -export interface OrderCustomerInfo { - /** The full name of the Customer */ - fullName?: string; - /** The Customer's email address */ - email?: string; -} diff --git a/src/api/types/OrderDisputeLastStatus.ts b/src/api/types/OrderDisputeLastStatus.ts deleted file mode 100644 index 224da645..00000000 --- a/src/api/types/OrderDisputeLastStatus.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status). - */ -export type OrderDisputeLastStatus = - | "warning_needs_response" - | "warning_under_review" - | "warning_closed" - | "needs_response" - | "under_review" - | "charge_refunded" - | "won" - | "lost"; - -export const OrderDisputeLastStatus = { - WarningNeedsResponse: "warning_needs_response", - WarningUnderReview: "warning_under_review", - WarningClosed: "warning_closed", - NeedsResponse: "needs_response", - UnderReview: "under_review", - ChargeRefunded: "charge_refunded", - Won: "won", - Lost: "lost", -} as const; diff --git a/src/api/types/OrderDownloadFilesItem.ts b/src/api/types/OrderDownloadFilesItem.ts deleted file mode 100644 index 13774268..00000000 --- a/src/api/types/OrderDownloadFilesItem.ts +++ /dev/null @@ -1,12 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -export interface OrderDownloadFilesItem { - /** The unique identifier for the downloadable file */ - id?: string; - /** The user-facing name for the downloadable file */ - name?: string; - /** The hosted location for the downloadable file */ - url?: string; -} diff --git a/src/api/types/OrderList.ts b/src/api/types/OrderList.ts deleted file mode 100644 index 25518c90..00000000 --- a/src/api/types/OrderList.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * Results from order list - */ -export interface OrderList { - /** List of orders */ - orders?: Webflow.Order[]; - pagination?: Webflow.Pagination; -} diff --git a/src/api/types/OrderMetadata.ts b/src/api/types/OrderMetadata.ts deleted file mode 100644 index 4e99ed3b..00000000 --- a/src/api/types/OrderMetadata.ts +++ /dev/null @@ -1,7 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -export interface OrderMetadata { - isBuyNow?: boolean; -} diff --git a/src/api/types/OrderPrice.ts b/src/api/types/OrderPrice.ts deleted file mode 100644 index 287163d4..00000000 --- a/src/api/types/OrderPrice.ts +++ /dev/null @@ -1,12 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -export interface OrderPrice { - /** The three-letter ISO currency code */ - unit?: string; - /** The numeric value in the base unit of the currency */ - value?: string; - /** The user-facing string representation of the amount */ - string?: string; -} diff --git a/src/api/types/OrderPurchasedItem.ts b/src/api/types/OrderPurchasedItem.ts deleted file mode 100644 index a27367bc..00000000 --- a/src/api/types/OrderPurchasedItem.ts +++ /dev/null @@ -1,40 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * An Item that was purchased - */ -export interface OrderPurchasedItem { - /** Number of Item purchased. */ - count?: number; - /** The total for the row */ - rowTotal?: Webflow.OrderPrice; - /** The unique identifier for the Product */ - productId?: string; - /** User-facing name of the Product */ - productName?: string; - /** Slug for the Product */ - productSlug?: string; - /** Identifier for the Product Variant (SKU) */ - variantId?: string; - /** User-facing name of the Product Variant (SKU) */ - variantName?: string; - /** Slug for the Product Variant (SKU) */ - variantSlug?: string; - /** The user-defined custom SKU of the Product Variant (SKU) */ - variantSku?: string; - variantImage?: Webflow.OrderPurchasedItemVariantImage; - /** The price corresponding to the variant */ - variantPrice?: Webflow.OrderPrice; - /** The physical weight of the variant if provided, or null */ - weight?: number; - /** The physical width of the variant if provided, or null */ - width?: number; - /** The physical height of the variant if provided, or null */ - height?: number; - /** The physical length of the variant if provided, or null */ - length?: number; -} diff --git a/src/api/types/OrderPurchasedItemVariantImage.ts b/src/api/types/OrderPurchasedItemVariantImage.ts deleted file mode 100644 index 540c32b5..00000000 --- a/src/api/types/OrderPurchasedItemVariantImage.ts +++ /dev/null @@ -1,11 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -export interface OrderPurchasedItemVariantImage { - /** The hosted location for the Variant's image */ - url?: string; - file?: Webflow.OrderPurchasedItemVariantImageFile; -} diff --git a/src/api/types/OrderPurchasedItemVariantImageFile.ts b/src/api/types/OrderPurchasedItemVariantImageFile.ts deleted file mode 100644 index f9ef3b8c..00000000 --- a/src/api/types/OrderPurchasedItemVariantImageFile.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -export interface OrderPurchasedItemVariantImageFile { - /** The image size in bytes */ - size?: number; - /** the original name of the image */ - originalFileName?: string; - /** The creation timestamp of the image */ - createdOn?: Date; - /** The MIME type of the image */ - contentType?: string; - /** The image width in pixels */ - width?: number; - /** The image height in pixels */ - height?: number; - /** Variants of the supplied image */ - variants?: Webflow.OrderPurchasedItemVariantImageFileVariantsItem[]; -} diff --git a/src/api/types/OrderPurchasedItemVariantImageFileVariantsItem.ts b/src/api/types/OrderPurchasedItemVariantImageFileVariantsItem.ts deleted file mode 100644 index 0c288fe3..00000000 --- a/src/api/types/OrderPurchasedItemVariantImageFileVariantsItem.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -export interface OrderPurchasedItemVariantImageFileVariantsItem { - /** The hosted location for the Variant's image */ - url?: string; - originalFileName?: string; - /** The image size in bytes */ - size?: number; - /** The image width in pixels */ - width?: number; - /** The image height in pixels */ - height?: number; -} diff --git a/src/api/types/OrderStatus.ts b/src/api/types/OrderStatus.ts deleted file mode 100644 index d37dc5ca..00000000 --- a/src/api/types/OrderStatus.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * The status of the Order - */ -export type OrderStatus = "pending" | "unfulfilled" | "fulfilled" | "disputed" | "dispute-lost" | "refunded"; - -export const OrderStatus = { - Pending: "pending", - Unfulfilled: "unfulfilled", - Fulfilled: "fulfilled", - Disputed: "disputed", - DisputeLost: "dispute-lost", - Refunded: "refunded", -} as const; diff --git a/src/api/types/OrderTotals.ts b/src/api/types/OrderTotals.ts deleted file mode 100644 index 7502e638..00000000 --- a/src/api/types/OrderTotals.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * An object describing various pricing totals - */ -export interface OrderTotals { - /** The subtotal price */ - subtotal?: Webflow.OrderPrice; - /** An array of extra items, includes discounts, shipping, and taxes. */ - extras?: Webflow.OrderTotalsExtrasItem[]; - /** The total price */ - total?: Webflow.OrderPrice; -} diff --git a/src/api/types/OrderTotalsExtrasItem.ts b/src/api/types/OrderTotalsExtrasItem.ts deleted file mode 100644 index 03f059db..00000000 --- a/src/api/types/OrderTotalsExtrasItem.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * Extra order items, includes discounts, shipping, and taxes. - */ -export interface OrderTotalsExtrasItem { - /** The type of extra item this is. */ - type?: Webflow.OrderTotalsExtrasItemType; - /** A human-readable (but English) name for this extra charge. */ - name?: string; - /** A human-readable (but English) description of this extra charge. */ - description?: string; - /** The price for the item */ - price?: Webflow.OrderPrice; -} diff --git a/src/api/types/OrderTotalsExtrasItemType.ts b/src/api/types/OrderTotalsExtrasItemType.ts deleted file mode 100644 index 2bb17a94..00000000 --- a/src/api/types/OrderTotalsExtrasItemType.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * The type of extra item this is. - */ -export type OrderTotalsExtrasItemType = "discount" | "discount-shipping" | "shipping" | "tax"; - -export const OrderTotalsExtrasItemType = { - Discount: "discount", - DiscountShipping: "discount-shipping", - Shipping: "shipping", - Tax: "tax", -} as const; diff --git a/src/api/types/Page.ts b/src/api/types/Page.ts deleted file mode 100644 index 6c02a76b..00000000 --- a/src/api/types/Page.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * The Page object - */ -export interface Page { - /** Unique identifier for the Page */ - id: string; - /** Unique identifier for the Site */ - siteId?: string; - /** Title of the Page */ - title?: string; - /** slug of the Page (derived from title) */ - slug?: string; - /** Identifier of the parent folder */ - parentId?: string; - /** Unique identifier for a linked Collection, value will be null if the Page is not part of a Collection. */ - collectionId?: string; - /** The date the Page was created */ - createdOn?: Date; - /** The date the Page was most recently updated */ - lastUpdated?: Date; - /** Whether the Page has been archived */ - archived?: boolean; - /** Whether the Page is a draft */ - draft?: boolean; - /** Indicates whether the Page supports [Page Branching](https://university.webflow.com/lesson/page-branching) */ - canBranch?: boolean; - /** Indicates whether the Page is restricted by [Memberships Controls](https://university.webflow.com/lesson/webflow-memberships-overview#how-to-manage-page-restrictions) */ - isMembersOnly?: boolean; - /** SEO-related fields for the Page */ - seo?: Webflow.PageSeo; - /** Open Graph fields for the Page */ - openGraph?: Webflow.PageOpenGraph; - /** Unique ID of the page locale */ - localeId?: string; - /** Relative path of the published page URL */ - publishedPath?: string; -} diff --git a/src/api/types/PageList.ts b/src/api/types/PageList.ts deleted file mode 100644 index 09f4f73f..00000000 --- a/src/api/types/PageList.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * The Page object - */ -export interface PageList { - pages?: Webflow.Page[]; - pagination?: Webflow.Pagination; -} diff --git a/src/api/types/PageOpenGraph.ts b/src/api/types/PageOpenGraph.ts deleted file mode 100644 index f288a304..00000000 --- a/src/api/types/PageOpenGraph.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * Open Graph fields for the Page - */ -export interface PageOpenGraph { - /** The title supplied to Open Graph annotations */ - title?: string; - /** Indicates the Open Graph title was copied from the SEO title */ - titleCopied?: boolean; - /** The description supplied to Open Graph annotations */ - description?: string; - /** Indicates the Open Graph description was copied from the SEO description */ - descriptionCopied?: boolean; -} diff --git a/src/api/types/PageSeo.ts b/src/api/types/PageSeo.ts deleted file mode 100644 index 42e5879b..00000000 --- a/src/api/types/PageSeo.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * SEO-related fields for the Page - */ -export interface PageSeo { - /** The Page title shown in search engine results */ - title?: string; - /** The Page description shown in search engine results */ - description?: string; -} diff --git a/src/api/types/Pagination.ts b/src/api/types/Pagination.ts deleted file mode 100644 index 1ee7cd06..00000000 --- a/src/api/types/Pagination.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * Pagination object - */ -export interface Pagination { - /** The limit used for pagination */ - limit?: number; - /** The offset used for pagination */ - offset?: number; - /** The total number of records */ - total?: number; -} diff --git a/src/api/types/PaypalDetails.ts b/src/api/types/PaypalDetails.ts deleted file mode 100644 index 522ef66a..00000000 --- a/src/api/types/PaypalDetails.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -export interface PaypalDetails { - /** PayPal order identifier */ - orderId?: string; - /** PayPal payer identifier */ - payerId?: string; - /** PayPal capture identifier */ - captureId?: string; - /** PayPal refund identifier */ - refundId?: string; - /** PayPal-issued reason for the refund */ - refundReason?: string; - /** PayPal dispute identifier */ - disputeId?: string; -} diff --git a/src/api/types/Product.ts b/src/api/types/Product.ts deleted file mode 100644 index cca3b59d..00000000 --- a/src/api/types/Product.ts +++ /dev/null @@ -1,26 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * The Product object - */ -export interface Product { - /** Unique identifier for the Product */ - id?: string; - /** Identifier for the locale of the CMS item */ - cmsLocaleId?: string; - /** The date the Product was last published */ - lastPublished?: Date; - /** The date the Product was last updated */ - lastUpdated?: Date; - /** The date the Product was created */ - createdOn?: Date; - /** Boolean determining if the Product is set to archived */ - isArchived?: boolean; - /** Boolean determining if the Product is set to draft */ - isDraft?: boolean; - fieldData?: Webflow.ProductFieldData; -} diff --git a/src/api/types/ProductAndSkUs.ts b/src/api/types/ProductAndSkUs.ts deleted file mode 100644 index e2ffc46d..00000000 --- a/src/api/types/ProductAndSkUs.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * A product and its SKUs. - */ -export interface ProductAndSkUs { - product?: Webflow.Product; - /** A list of SKU Objects */ - skus?: Webflow.Sku[]; -} diff --git a/src/api/types/ProductAndSkUsList.ts b/src/api/types/ProductAndSkUsList.ts deleted file mode 100644 index adbb5aad..00000000 --- a/src/api/types/ProductAndSkUsList.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * Results from product list - */ -export interface ProductAndSkUsList { - /** List of Item objects within the Collection. Contains product and skus keys for each Item */ - items?: Webflow.ProductAndSkUs[]; - pagination?: Webflow.Pagination; -} diff --git a/src/api/types/ProductFieldData.ts b/src/api/types/ProductFieldData.ts deleted file mode 100644 index a8c49373..00000000 --- a/src/api/types/ProductFieldData.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * Contains content-specific details for a product, covering both standard (e.g., title, description) and custom fields tailored to the product setup. - */ -export interface ProductFieldData { - /** Name of the Product */ - name?: string; - /** URL structure of the Product in your site. */ - slug?: string; - /** A description of your product */ - description?: string; - /** Boolean determining if the Product is shippable */ - shippable?: boolean; - /** Variant types to include in SKUs */ - skuProperties?: Webflow.SkuPropertyList[]; - /** The categories your product belongs to. */ - categories?: string[]; - /** Product tax class */ - taxCategory?: Webflow.ProductFieldDataTaxCategory; - /** The default SKU associated with this product. */ - defaultSku?: string; - /** Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced" */ - ecProductType?: Webflow.ProductFieldDataEcProductType; -} diff --git a/src/api/types/ProductFieldDataEcProductType.ts b/src/api/types/ProductFieldDataEcProductType.ts deleted file mode 100644 index a99ad2ef..00000000 --- a/src/api/types/ProductFieldDataEcProductType.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced" - */ -export type ProductFieldDataEcProductType = - | "ff42fee0113744f693a764e3431a9cc2" - | "f22027db68002190aef89a4a2b7ac8a1" - | "c599e43b1a1c34d5a323aedf75d3adf6" - | "b6ccc1830db4b1babeb06a9ac5f6dd76"; - -export const ProductFieldDataEcProductType = { - Ff42Fee0113744F693A764E3431A9Cc2: "ff42fee0113744f693a764e3431a9cc2", - F22027Db68002190Aef89A4A2B7Ac8A1: "f22027db68002190aef89a4a2b7ac8a1", - C599E43B1A1C34D5A323Aedf75D3Adf6: "c599e43b1a1c34d5a323aedf75d3adf6", - B6Ccc1830Db4B1Babeb06A9Ac5F6Dd76: "b6ccc1830db4b1babeb06a9ac5f6dd76", -} as const; diff --git a/src/api/types/ProductFieldDataTaxCategory.ts b/src/api/types/ProductFieldDataTaxCategory.ts deleted file mode 100644 index d59ca5df..00000000 --- a/src/api/types/ProductFieldDataTaxCategory.ts +++ /dev/null @@ -1,69 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * Product tax class - */ -export type ProductFieldDataTaxCategory = - | "standard-taxable" - | "standard-exempt" - | "books-religious" - | "books-textbook" - | "clothing" - | "clothing-swimwear" - | "digital-goods" - | "digital-service" - | "drugs-non-prescription" - | "drugs-prescription" - | "food-bottled-water" - | "food-candy" - | "food-groceries" - | "food-prepared" - | "food-soda" - | "food-supplements" - | "magazine-individual" - | "magazine-subscription" - | "service-admission" - | "service-advertising" - | "service-dry-cleaning" - | "service-hairdressing" - | "service-installation" - | "service-miscellaneous" - | "service-parking" - | "service-printing" - | "service-professional" - | "service-repair" - | "service-training"; - -export const ProductFieldDataTaxCategory = { - StandardTaxable: "standard-taxable", - StandardExempt: "standard-exempt", - BooksReligious: "books-religious", - BooksTextbook: "books-textbook", - Clothing: "clothing", - ClothingSwimwear: "clothing-swimwear", - DigitalGoods: "digital-goods", - DigitalService: "digital-service", - DrugsNonPrescription: "drugs-non-prescription", - DrugsPrescription: "drugs-prescription", - FoodBottledWater: "food-bottled-water", - FoodCandy: "food-candy", - FoodGroceries: "food-groceries", - FoodPrepared: "food-prepared", - FoodSoda: "food-soda", - FoodSupplements: "food-supplements", - MagazineIndividual: "magazine-individual", - MagazineSubscription: "magazine-subscription", - ServiceAdmission: "service-admission", - ServiceAdvertising: "service-advertising", - ServiceDryCleaning: "service-dry-cleaning", - ServiceHairdressing: "service-hairdressing", - ServiceInstallation: "service-installation", - ServiceMiscellaneous: "service-miscellaneous", - ServiceParking: "service-parking", - ServicePrinting: "service-printing", - ServiceProfessional: "service-professional", - ServiceRepair: "service-repair", - ServiceTraining: "service-training", -} as const; diff --git a/src/api/types/PublishStatus.ts b/src/api/types/PublishStatus.ts deleted file mode 100644 index 7b488fc3..00000000 --- a/src/api/types/PublishStatus.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * Indicate whether your Product should be set as "staging" or "live" - */ -export type PublishStatus = "staging" | "live"; - -export const PublishStatus = { - Staging: "staging", - Live: "live", -} as const; diff --git a/src/api/types/RegisteredScriptList.ts b/src/api/types/RegisteredScriptList.ts deleted file mode 100644 index f7314bca..00000000 --- a/src/api/types/RegisteredScriptList.ts +++ /dev/null @@ -1,12 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * A list of scripts registered to the site - */ -export interface RegisteredScriptList { - registeredScripts?: Webflow.CustomCodeHostedResponse[]; -} diff --git a/src/api/types/ScriptApply.ts b/src/api/types/ScriptApply.ts deleted file mode 100644 index bc8c0d7f..00000000 --- a/src/api/types/ScriptApply.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -export interface ScriptApply { - /** ID of the registered custom code script */ - id: string; - /** Location of the script, either in the header or footer of the published site */ - location: Webflow.ScriptApplyLocation; - /** Semantic Version String for the registered script _e.g. 0.0.1_ */ - version: string; - /** Developer-specified key/value pairs to be applied as attributes to the script */ - attributes?: Record; -} diff --git a/src/api/types/ScriptApplyList.ts b/src/api/types/ScriptApplyList.ts deleted file mode 100644 index 3d30c3d1..00000000 --- a/src/api/types/ScriptApplyList.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -export interface ScriptApplyList { - /** A list of scripts applied to a Site or a Page */ - scripts?: Webflow.ScriptApply[]; - /** Date when the Site's scripts were last updated */ - lastUpdated?: string; - /** Date when the Site's scripts were created */ - createdOn?: string; -} diff --git a/src/api/types/ScriptApplyLocation.ts b/src/api/types/ScriptApplyLocation.ts deleted file mode 100644 index 327a4b78..00000000 --- a/src/api/types/ScriptApplyLocation.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * Location of the script, either in the header or footer of the published site - */ -export type ScriptApplyLocation = "header" | "footer"; - -export const ScriptApplyLocation = { - Header: "header", - Footer: "footer", -} as const; diff --git a/src/api/types/Scripts.ts b/src/api/types/Scripts.ts deleted file mode 100644 index e3882ce2..00000000 --- a/src/api/types/Scripts.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * A list of scripts applied to a Site or a Page - */ -export type Scripts = Webflow.ScriptApply[]; diff --git a/src/api/types/Site.ts b/src/api/types/Site.ts deleted file mode 100644 index 15c053cd..00000000 --- a/src/api/types/Site.ts +++ /dev/null @@ -1,30 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -export interface Site { - /** Unique identifier for the Site */ - id: string; - /** Unique identifier for the Workspace */ - workspaceId?: string; - /** Date the Site was created */ - createdOn?: Date; - /** Name given to Site */ - displayName?: string; - /** Slugified version of name */ - shortName?: string; - /** Date the Site was last published */ - lastPublished?: Date; - /** Date the Site was last updated */ - lastUpdated?: Date; - /** URL of a generated image for the given Site */ - previewUrl?: string; - /** Site timezone set under Site Settings */ - timeZone?: string; - /** The ID of the parent folder the Site exists in */ - parentFolderId?: string; - customDomains?: Webflow.Domain[]; - locales?: Webflow.Locales; -} diff --git a/src/api/types/SiteActivityLogItem.ts b/src/api/types/SiteActivityLogItem.ts deleted file mode 100644 index 4f1a4bb0..00000000 --- a/src/api/types/SiteActivityLogItem.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -export interface SiteActivityLogItem { - id?: string; - createdOn?: Date; - lastUpdated?: Date; - event?: string; - resourceOperation?: Webflow.SiteActivityLogItemResourceOperation; - user?: Webflow.SiteActivityLogItemUser; - resourceId?: string; - resourceName?: string; - newValue?: string; - previousValue?: string; - payload?: Record; -} diff --git a/src/api/types/SiteActivityLogItemResourceOperation.ts b/src/api/types/SiteActivityLogItemResourceOperation.ts deleted file mode 100644 index 77ebc3c3..00000000 --- a/src/api/types/SiteActivityLogItemResourceOperation.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -export type SiteActivityLogItemResourceOperation = "CREATED" | "MODIFIED" | "PUBLISHED" | "UNPUBLISHED" | "DELETED"; - -export const SiteActivityLogItemResourceOperation = { - Created: "CREATED", - Modified: "MODIFIED", - Published: "PUBLISHED", - Unpublished: "UNPUBLISHED", - Deleted: "DELETED", -} as const; diff --git a/src/api/types/SiteActivityLogItemUser.ts b/src/api/types/SiteActivityLogItemUser.ts deleted file mode 100644 index 0645923a..00000000 --- a/src/api/types/SiteActivityLogItemUser.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -export interface SiteActivityLogItemUser { - id?: string; - displayName?: string; -} diff --git a/src/api/types/SiteActivityLogResponse.ts b/src/api/types/SiteActivityLogResponse.ts deleted file mode 100644 index 464261db..00000000 --- a/src/api/types/SiteActivityLogResponse.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -export interface SiteActivityLogResponse { - items?: Webflow.SiteActivityLogItem[]; - pagination?: Webflow.Pagination; -} diff --git a/src/api/types/Sites.ts b/src/api/types/Sites.ts deleted file mode 100644 index 08f27116..00000000 --- a/src/api/types/Sites.ts +++ /dev/null @@ -1,9 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -export interface Sites { - sites?: Webflow.Site[]; -} diff --git a/src/api/types/Sku.ts b/src/api/types/Sku.ts deleted file mode 100644 index 474348cd..00000000 --- a/src/api/types/Sku.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * The SKU object - */ -export interface Sku { - /** Unique identifier for the Product */ - id?: string; - /** Identifier for the locale of the CMS item */ - cmsLocaleId?: string; - /** The date the Product was last published */ - lastPublished?: Date; - /** The date the Product was last updated */ - lastUpdated?: Date; - /** The date the Product was created */ - createdOn?: Date; - fieldData?: Webflow.SkuFieldData; -} diff --git a/src/api/types/SkuFieldData.ts b/src/api/types/SkuFieldData.ts deleted file mode 100644 index bab27e58..00000000 --- a/src/api/types/SkuFieldData.ts +++ /dev/null @@ -1,26 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * Standard and Custom fields for a SKU - */ -export interface SkuFieldData { - skuValues?: Webflow.SkuValueList; - /** Name of the Product */ - name: string; - /** URL structure of the Product in your site. */ - slug: string; - /** price of SKU */ - price: Webflow.SkuFieldDataPrice; - /** comparison price of SKU */ - compareAtPrice?: Webflow.SkuFieldDataCompareAtPrice; - ecSkuBillingMethod?: Webflow.SkuFieldDataEcSkuBillingMethod; - ecSkuSubscriptionPlan?: Webflow.SkuFieldDataEcSkuSubscriptionPlan; - /** A boolean indicating whether inventory for this product should be tracked. */ - trackInventory?: boolean; - /** Quantity of SKU that will be tracked as items are ordered. */ - quantity?: number; -} diff --git a/src/api/types/SkuFieldDataCompareAtPrice.ts b/src/api/types/SkuFieldDataCompareAtPrice.ts deleted file mode 100644 index 5de20c20..00000000 --- a/src/api/types/SkuFieldDataCompareAtPrice.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * comparison price of SKU - */ -export interface SkuFieldDataCompareAtPrice { - /** Price of SKU */ - value?: number; - /** Currency of Item */ - unit?: string; -} diff --git a/src/api/types/SkuFieldDataEcSkuBillingMethod.ts b/src/api/types/SkuFieldDataEcSkuBillingMethod.ts deleted file mode 100644 index 3f89429a..00000000 --- a/src/api/types/SkuFieldDataEcSkuBillingMethod.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -export type SkuFieldDataEcSkuBillingMethod = "one-time" | "subscription"; - -export const SkuFieldDataEcSkuBillingMethod = { - OneTime: "one-time", - Subscription: "subscription", -} as const; diff --git a/src/api/types/SkuFieldDataEcSkuSubscriptionPlan.ts b/src/api/types/SkuFieldDataEcSkuSubscriptionPlan.ts deleted file mode 100644 index f6282e57..00000000 --- a/src/api/types/SkuFieldDataEcSkuSubscriptionPlan.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -export interface SkuFieldDataEcSkuSubscriptionPlan { - /** Interval of subscription renewal */ - interval?: Webflow.SkuFieldDataEcSkuSubscriptionPlanInterval; - /** Frequncy of billing within interval */ - frequency?: number; - /** Number of days of a trial */ - trial?: number; - plans?: Webflow.SkuFieldDataEcSkuSubscriptionPlanPlansItem[]; -} diff --git a/src/api/types/SkuFieldDataEcSkuSubscriptionPlanInterval.ts b/src/api/types/SkuFieldDataEcSkuSubscriptionPlanInterval.ts deleted file mode 100644 index 46896ac4..00000000 --- a/src/api/types/SkuFieldDataEcSkuSubscriptionPlanInterval.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * Interval of subscription renewal - */ -export type SkuFieldDataEcSkuSubscriptionPlanInterval = "day" | "week" | "month" | "year"; - -export const SkuFieldDataEcSkuSubscriptionPlanInterval = { - Day: "day", - Week: "week", - Month: "month", - Year: "year", -} as const; diff --git a/src/api/types/SkuFieldDataEcSkuSubscriptionPlanPlansItem.ts b/src/api/types/SkuFieldDataEcSkuSubscriptionPlanPlansItem.ts deleted file mode 100644 index 16299854..00000000 --- a/src/api/types/SkuFieldDataEcSkuSubscriptionPlanPlansItem.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -export interface SkuFieldDataEcSkuSubscriptionPlanPlansItem { - /** The platform of the subscription plan */ - platform?: "stripe"; - /** The unique identifier of the plan */ - id?: string; - /** The status of the plan */ - status?: Webflow.SkuFieldDataEcSkuSubscriptionPlanPlansItemStatus; -} diff --git a/src/api/types/SkuFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts b/src/api/types/SkuFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts deleted file mode 100644 index 0755b37c..00000000 --- a/src/api/types/SkuFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * The status of the plan - */ -export type SkuFieldDataEcSkuSubscriptionPlanPlansItemStatus = "active" | "inactive" | "canceled"; - -export const SkuFieldDataEcSkuSubscriptionPlanPlansItemStatus = { - Active: "active", - Inactive: "inactive", - Canceled: "canceled", -} as const; diff --git a/src/api/types/SkuFieldDataPrice.ts b/src/api/types/SkuFieldDataPrice.ts deleted file mode 100644 index 3266db3a..00000000 --- a/src/api/types/SkuFieldDataPrice.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * price of SKU - */ -export interface SkuFieldDataPrice { - /** Price of SKU */ - value?: number; - /** Currency of Item */ - unit?: string; -} diff --git a/src/api/types/SkuPropertyList.ts b/src/api/types/SkuPropertyList.ts deleted file mode 100644 index c35efef4..00000000 --- a/src/api/types/SkuPropertyList.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * A variant/option type for a SKU - */ -export interface SkuPropertyList { - /** Unique identifier for a collection of Product Variants */ - id: string; - /** Name of the collection of Product Variants */ - name: string; - /** The individual Product variants that are contained within the collection */ - enum: Webflow.SkuPropertyListEnumItem[]; -} diff --git a/src/api/types/SkuPropertyListEnumItem.ts b/src/api/types/SkuPropertyListEnumItem.ts deleted file mode 100644 index 037188ff..00000000 --- a/src/api/types/SkuPropertyListEnumItem.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * Enumerated Product variants/Options for the SKU - */ -export interface SkuPropertyListEnumItem { - /** Unique identifier for a Product variant/Option */ - id: string; - /** Name of the Product variant/Option */ - name: string; - /** Slug for the Product variant/Option in the Site URL structure */ - slug: string; -} diff --git a/src/api/types/SkuValueList.ts b/src/api/types/SkuValueList.ts deleted file mode 100644 index a090b5d2..00000000 --- a/src/api/types/SkuValueList.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * A dictionary that maps a SKU property to a SKU value. The key of the dictionary is the SKU property ID, and the value is the SKU value ID. - */ -export type SkuValueList = Record; diff --git a/src/api/types/StripeCard.ts b/src/api/types/StripeCard.ts deleted file mode 100644 index e8b0eca4..00000000 --- a/src/api/types/StripeCard.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * Details on the card used to fulfill this order, if this order was finalized with Stripe. - */ -export interface StripeCard { - /** The last 4 digits on the card as a string */ - last4?: string; - /** The card's brand (ie. credit card network) */ - brand?: Webflow.StripeCardBrand; - /** The name on the card. */ - ownerName?: string; - /** The card's expiration date. */ - expires?: Webflow.StripeCardExpires; -} diff --git a/src/api/types/StripeCardBrand.ts b/src/api/types/StripeCardBrand.ts deleted file mode 100644 index 7a333f7a..00000000 --- a/src/api/types/StripeCardBrand.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * The card's brand (ie. credit card network) - */ -export type StripeCardBrand = - | "Visa" - | "American Express" - | "MasterCard" - | "Discover" - | "JCB" - | "Diners Club" - | "Unknown"; - -export const StripeCardBrand = { - Visa: "Visa", - AmericanExpress: "American Express", - MasterCard: "MasterCard", - Discover: "Discover", - Jcb: "JCB", - DinersClub: "Diners Club", - Unknown: "Unknown", -} as const; diff --git a/src/api/types/StripeCardExpires.ts b/src/api/types/StripeCardExpires.ts deleted file mode 100644 index 219a0924..00000000 --- a/src/api/types/StripeCardExpires.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * The card's expiration date. - */ -export interface StripeCardExpires { - /** Year that the card expires */ - year?: number; - /** Month that the card expires */ - month?: number; -} diff --git a/src/api/types/StripeDetails.ts b/src/api/types/StripeDetails.ts deleted file mode 100644 index f0e4f937..00000000 --- a/src/api/types/StripeDetails.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * An object with various Stripe IDs, useful for linking into the stripe dashboard. - */ -export interface StripeDetails { - /** Stripe-generated identifier for the Subscription */ - subscriptionId?: string; - /** Stripe-generated identifier for the PaymentMethod used */ - paymentMethod?: string; - /** Stripe-generated identifier for the PaymentIntent, or null */ - paymentIntentId?: string; - /** Stripe-generated customer identifier, or null */ - customerId?: string; - /** Stripe-generated charge identifier, or null */ - chargeId?: string; - /** Stripe-generated dispute identifier, or null */ - disputeId?: string; - /** Stripe-generated refund identifier, or null */ - refundId?: string; - /** Stripe-generated refund reason, or null */ - refundReason?: string; -} diff --git a/src/api/types/TextNode.ts b/src/api/types/TextNode.ts deleted file mode 100644 index d40e72c5..00000000 --- a/src/api/types/TextNode.ts +++ /dev/null @@ -1,11 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * Represents textual content within the DOM. It contains both the raw text and its HTML representation, allowing for flexibility in rendering and processing. Additional attributes can be associated with the text for styling or other purposes. - */ -export interface TextNode { - html?: string; - text?: string; -} diff --git a/src/api/types/TooManyRequestsErrorBody.ts b/src/api/types/TooManyRequestsErrorBody.ts index bda6fafb..bb5ee2f5 100644 --- a/src/api/types/TooManyRequestsErrorBody.ts +++ b/src/api/types/TooManyRequestsErrorBody.ts @@ -2,9 +2,15 @@ * This file was auto-generated by Fern from our API Definition. */ +import * as Webflow from "../index"; + export interface TooManyRequestsErrorBody { + /** Error code */ + code?: Webflow.TooManyRequestsErrorBodyCode; + /** Error message */ message?: string; - code?: string; + /** Link to more information */ externalReference?: string; - details?: unknown[]; + /** Array of errors */ + details?: Webflow.TooManyRequestsErrorBodyDetailsItem[]; } diff --git a/src/api/types/TooManyRequestsErrorBodyCode.ts b/src/api/types/TooManyRequestsErrorBodyCode.ts new file mode 100644 index 00000000..0753de7a --- /dev/null +++ b/src/api/types/TooManyRequestsErrorBodyCode.ts @@ -0,0 +1,69 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Error code + */ +export type TooManyRequestsErrorBodyCode = + | "bad_request" + | "collection_not_found" + | "conflict" + | "duplicate_collection" + | "duplicate_user_email" + | "ecommerce_not_enabled" + | "forbidden" + | "forms_require_republish" + | "incompatible_webhook_filter" + | "internal_error" + | "invalid_auth_version" + | "invalid_credentials" + | "invalid_domain" + | "invalid_user_email" + | "item_not_found" + | "missing_scopes" + | "no_domains" + | "not_authorized" + | "not_enterprise_plan_site" + | "not_enterprise_plan_workspace" + | "order_not_found" + | "resource_not_found" + | "too_many_requests" + | "unsupported_version" + | "unsupported_webhook_trigger_type" + | "user_limit_reached" + | "user_not_found" + | "users_not_enabled" + | "validation_error"; + +export const TooManyRequestsErrorBodyCode = { + BadRequest: "bad_request", + CollectionNotFound: "collection_not_found", + Conflict: "conflict", + DuplicateCollection: "duplicate_collection", + DuplicateUserEmail: "duplicate_user_email", + EcommerceNotEnabled: "ecommerce_not_enabled", + Forbidden: "forbidden", + FormsRequireRepublish: "forms_require_republish", + IncompatibleWebhookFilter: "incompatible_webhook_filter", + InternalError: "internal_error", + InvalidAuthVersion: "invalid_auth_version", + InvalidCredentials: "invalid_credentials", + InvalidDomain: "invalid_domain", + InvalidUserEmail: "invalid_user_email", + ItemNotFound: "item_not_found", + MissingScopes: "missing_scopes", + NoDomains: "no_domains", + NotAuthorized: "not_authorized", + NotEnterprisePlanSite: "not_enterprise_plan_site", + NotEnterprisePlanWorkspace: "not_enterprise_plan_workspace", + OrderNotFound: "order_not_found", + ResourceNotFound: "resource_not_found", + TooManyRequests: "too_many_requests", + UnsupportedVersion: "unsupported_version", + UnsupportedWebhookTriggerType: "unsupported_webhook_trigger_type", + UserLimitReached: "user_limit_reached", + UserNotFound: "user_not_found", + UsersNotEnabled: "users_not_enabled", + ValidationError: "validation_error", +} as const; diff --git a/src/api/types/TooManyRequestsErrorBodyDetailsItem.ts b/src/api/types/TooManyRequestsErrorBodyDetailsItem.ts new file mode 100644 index 00000000..435a180c --- /dev/null +++ b/src/api/types/TooManyRequestsErrorBodyDetailsItem.ts @@ -0,0 +1,5 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export type TooManyRequestsErrorBodyDetailsItem = string | Record; diff --git a/src/api/types/TriggerType.ts b/src/api/types/TriggerType.ts deleted file mode 100644 index 771c4e92..00000000 --- a/src/api/types/TriggerType.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * - `form_submission` - Sends the [form_submission](#form_submission) event - * - `site_publish` - Sends a [site_publish](#site_publish) event - * - `page_created` - Send the [page_created](#page_created) event - * - `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event - * - `page_deleted` - Sends the [page_deleted](#page_deleted) event - * - `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event - * - `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event - * - `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event - * - `user_account_added` - Sends the [user_account_added](#user_account_added) event - * - `user_account_updated` - Sends the [user_account_updated](#user_account_updated) event - * - `user_account_deleted` - Sends the [user_account_deleted](#user_account_deleted) event - * - `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event - * - `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event - * - `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event - * - `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event - */ -export type TriggerType = - | "form_submission" - | "site_publish" - | "page_created" - | "page_metadata_updated" - | "page_deleted" - | "ecomm_new_order" - | "ecomm_order_changed" - | "ecomm_inventory_changed" - | "user_account_added" - | "user_account_updated" - | "user_account_deleted" - | "collection_item_created" - | "collection_item_changed" - | "collection_item_deleted" - | "collection_item_unpublished"; - -export const TriggerType = { - FormSubmission: "form_submission", - SitePublish: "site_publish", - PageCreated: "page_created", - PageMetadataUpdated: "page_metadata_updated", - PageDeleted: "page_deleted", - EcommNewOrder: "ecomm_new_order", - EcommOrderChanged: "ecomm_order_changed", - EcommInventoryChanged: "ecomm_inventory_changed", - UserAccountAdded: "user_account_added", - UserAccountUpdated: "user_account_updated", - UserAccountDeleted: "user_account_deleted", - CollectionItemCreated: "collection_item_created", - CollectionItemChanged: "collection_item_changed", - CollectionItemDeleted: "collection_item_deleted", - CollectionItemUnpublished: "collection_item_unpublished", -} as const; diff --git a/src/api/types/UnauthorizedErrorBody.ts b/src/api/types/UnauthorizedErrorBody.ts new file mode 100644 index 00000000..b8cfee44 --- /dev/null +++ b/src/api/types/UnauthorizedErrorBody.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Webflow from "../index"; + +export interface UnauthorizedErrorBody { + /** Error code */ + code?: Webflow.UnauthorizedErrorBodyCode; + /** Error message */ + message?: string; + /** Link to more information */ + externalReference?: string; + /** Array of errors */ + details?: Webflow.UnauthorizedErrorBodyDetailsItem[]; +} diff --git a/src/api/types/UnauthorizedErrorBodyCode.ts b/src/api/types/UnauthorizedErrorBodyCode.ts new file mode 100644 index 00000000..be5b50a2 --- /dev/null +++ b/src/api/types/UnauthorizedErrorBodyCode.ts @@ -0,0 +1,69 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * Error code + */ +export type UnauthorizedErrorBodyCode = + | "bad_request" + | "collection_not_found" + | "conflict" + | "duplicate_collection" + | "duplicate_user_email" + | "ecommerce_not_enabled" + | "forbidden" + | "forms_require_republish" + | "incompatible_webhook_filter" + | "internal_error" + | "invalid_auth_version" + | "invalid_credentials" + | "invalid_domain" + | "invalid_user_email" + | "item_not_found" + | "missing_scopes" + | "no_domains" + | "not_authorized" + | "not_enterprise_plan_site" + | "not_enterprise_plan_workspace" + | "order_not_found" + | "resource_not_found" + | "too_many_requests" + | "unsupported_version" + | "unsupported_webhook_trigger_type" + | "user_limit_reached" + | "user_not_found" + | "users_not_enabled" + | "validation_error"; + +export const UnauthorizedErrorBodyCode = { + BadRequest: "bad_request", + CollectionNotFound: "collection_not_found", + Conflict: "conflict", + DuplicateCollection: "duplicate_collection", + DuplicateUserEmail: "duplicate_user_email", + EcommerceNotEnabled: "ecommerce_not_enabled", + Forbidden: "forbidden", + FormsRequireRepublish: "forms_require_republish", + IncompatibleWebhookFilter: "incompatible_webhook_filter", + InternalError: "internal_error", + InvalidAuthVersion: "invalid_auth_version", + InvalidCredentials: "invalid_credentials", + InvalidDomain: "invalid_domain", + InvalidUserEmail: "invalid_user_email", + ItemNotFound: "item_not_found", + MissingScopes: "missing_scopes", + NoDomains: "no_domains", + NotAuthorized: "not_authorized", + NotEnterprisePlanSite: "not_enterprise_plan_site", + NotEnterprisePlanWorkspace: "not_enterprise_plan_workspace", + OrderNotFound: "order_not_found", + ResourceNotFound: "resource_not_found", + TooManyRequests: "too_many_requests", + UnsupportedVersion: "unsupported_version", + UnsupportedWebhookTriggerType: "unsupported_webhook_trigger_type", + UserLimitReached: "user_limit_reached", + UserNotFound: "user_not_found", + UsersNotEnabled: "users_not_enabled", + ValidationError: "validation_error", +} as const; diff --git a/src/api/types/UnauthorizedErrorBodyDetailsItem.ts b/src/api/types/UnauthorizedErrorBodyDetailsItem.ts new file mode 100644 index 00000000..be4aae50 --- /dev/null +++ b/src/api/types/UnauthorizedErrorBodyDetailsItem.ts @@ -0,0 +1,5 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export type UnauthorizedErrorBodyDetailsItem = string | Record; diff --git a/src/api/types/User.ts b/src/api/types/User.ts deleted file mode 100644 index 9549197d..00000000 --- a/src/api/types/User.ts +++ /dev/null @@ -1,28 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items - */ -export interface User { - /** Unique identifier for the User */ - id?: string; - /** Shows whether the user has verified their email address */ - isEmailVerified?: boolean; - /** The timestamp the user was updated */ - lastUpdated?: Date; - /** The timestamp the user was invited */ - invitedOn?: Date; - /** The timestamp the user was created */ - createdOn?: Date; - /** The timestamp the user was logged in */ - lastLogin?: Date; - /** The status of the user */ - status?: Webflow.UserStatus; - /** Access groups the user belongs to */ - accessGroups?: Webflow.UserAccessGroupsItem[]; - data?: Webflow.UserData; -} diff --git a/src/api/types/UserAccessGroupsItem.ts b/src/api/types/UserAccessGroupsItem.ts deleted file mode 100644 index 80ae6d9f..00000000 --- a/src/api/types/UserAccessGroupsItem.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * Access group slugs and types - */ -export interface UserAccessGroupsItem { - /** Access group identifier for APIs */ - slug?: string; - /** - * The type of access group based on how it was assigned to the user. - * - * - `admin` - Assigned to the user via API or in the designer - * - `ecommerce` - Assigned to the user via an ecommerce purchase - */ - type?: Webflow.UserAccessGroupsItemType; -} diff --git a/src/api/types/UserAccessGroupsItemType.ts b/src/api/types/UserAccessGroupsItemType.ts deleted file mode 100644 index 0057bea9..00000000 --- a/src/api/types/UserAccessGroupsItemType.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * The type of access group based on how it was assigned to the user. - * - * - `admin` - Assigned to the user via API or in the designer - * - `ecommerce` - Assigned to the user via an ecommerce purchase - */ -export type UserAccessGroupsItemType = "admin" | "ecommerce"; - -export const UserAccessGroupsItemType = { - Admin: "admin", - Ecommerce: "ecommerce", -} as const; diff --git a/src/api/types/UserData.ts b/src/api/types/UserData.ts deleted file mode 100644 index 1dacfea8..00000000 --- a/src/api/types/UserData.ts +++ /dev/null @@ -1,12 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * An object containing the User's basic info and custom fields - */ -export interface UserData { - data?: Webflow.UserDataData; -} diff --git a/src/api/types/UserDataData.ts b/src/api/types/UserDataData.ts deleted file mode 100644 index ad23a6ca..00000000 --- a/src/api/types/UserDataData.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -export interface UserDataData { - /** The name of the user */ - name?: string; - /** The email address of the user */ - email?: string; - /** Boolean indicating if the user has accepted the privacy policy */ - acceptPrivacy?: boolean; - /** Boolean indicating if the user has accepted to receive communications */ - acceptCommunications?: boolean; - /** Custom user attributes */ - additionalProperties?: string; -} diff --git a/src/api/types/UserLimitReached.ts b/src/api/types/UserLimitReached.ts deleted file mode 100644 index 8e614bdd..00000000 --- a/src/api/types/UserLimitReached.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -export interface UserLimitReached { - /** Error code */ - code?: string; - /** Error message */ - message?: string; - /** Link to more information */ - externalReference?: string; - /** Array of errors */ - details?: Webflow.ErrorDetailsItem[]; -} diff --git a/src/api/types/UserList.ts b/src/api/types/UserList.ts deleted file mode 100644 index f7b1869d..00000000 --- a/src/api/types/UserList.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -/** - * The list users results - */ -export interface UserList { - /** Number of users returned */ - count?: number; - /** The limit specified in the request */ - limit?: number; - /** The offset specified for pagination */ - offset?: number; - /** Total number of users in the collection */ - total?: number; - /** List of Users for a Site */ - users?: Webflow.User[]; -} diff --git a/src/api/types/UserStatus.ts b/src/api/types/UserStatus.ts deleted file mode 100644 index ccf9ae40..00000000 --- a/src/api/types/UserStatus.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * The status of the user - */ -export type UserStatus = "invited" | "verified" | "unverified"; - -export const UserStatus = { - Invited: "invited", - Verified: "verified", - Unverified: "unverified", -} as const; diff --git a/src/api/types/UsersNotEnabled.ts b/src/api/types/UsersNotEnabled.ts deleted file mode 100644 index aa1d20a2..00000000 --- a/src/api/types/UsersNotEnabled.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -export interface UsersNotEnabled { - /** Error code */ - code?: string; - /** Error message */ - message?: string; - /** Link to more information */ - externalReference?: string; - /** Array of errors */ - details?: Webflow.ErrorDetailsItem[]; -} diff --git a/src/api/types/Webhook.ts b/src/api/types/Webhook.ts deleted file mode 100644 index e68efb78..00000000 --- a/src/api/types/Webhook.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -export interface Webhook { - /** Unique identifier for the Webhook registration */ - id?: string; - triggerType?: Webflow.TriggerType; - /** URL to send the Webhook payload to */ - url?: string; - /** Unique identifier for the Workspace the Webhook is registered in */ - workspaceId?: string; - /** Unique identifier for the Site the Webhook is registered in */ - siteId?: string; - /** Only supported for the `form_submission` trigger type. Filter for the form you want Webhooks to be sent for. */ - filter?: Webflow.WebhookFilter; - /** Date the Webhook instance was last triggered */ - lastTriggered?: Date; - /** Date the Webhook registration was created */ - createdOn?: Date; -} diff --git a/src/api/types/WebhookFilter.ts b/src/api/types/WebhookFilter.ts deleted file mode 100644 index 36b41efb..00000000 --- a/src/api/types/WebhookFilter.ts +++ /dev/null @@ -1,11 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -/** - * Only supported for the `form_submission` trigger type. Filter for the form you want Webhooks to be sent for. - */ -export interface WebhookFilter { - /** The name of the form you'd like to recieve notifications for. */ - name?: string; -} diff --git a/src/api/types/WebhookList.ts b/src/api/types/WebhookList.ts deleted file mode 100644 index 69521be5..00000000 --- a/src/api/types/WebhookList.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Webflow from "../index"; - -export interface WebhookList { - pagination?: Webflow.Pagination; - webhooks?: Webflow.Webhook[]; -} diff --git a/src/api/types/index.ts b/src/api/types/index.ts index 1e6ee2ff..0ef00d6f 100644 --- a/src/api/types/index.ts +++ b/src/api/types/index.ts @@ -1,133 +1,21 @@ +export * from "./UnauthorizedErrorBodyCode"; +export * from "./UnauthorizedErrorBodyDetailsItem"; +export * from "./UnauthorizedErrorBody"; +export * from "./ForbiddenErrorBodyCode"; +export * from "./ForbiddenErrorBodyDetailsItem"; export * from "./ForbiddenErrorBody"; +export * from "./NotFoundErrorBodyCode"; +export * from "./NotFoundErrorBodyDetailsItem"; +export * from "./NotFoundErrorBody"; +export * from "./TooManyRequestsErrorBodyCode"; +export * from "./TooManyRequestsErrorBodyDetailsItem"; export * from "./TooManyRequestsErrorBody"; +export * from "./BadRequestErrorBodyCode"; +export * from "./BadRequestErrorBodyDetailsItem"; export * from "./BadRequestErrorBody"; +export * from "./InternalServerErrorBodyCode"; +export * from "./InternalServerErrorBodyDetailsItem"; +export * from "./InternalServerErrorBody"; +export * from "./ConflictErrorBodyCode"; +export * from "./ConflictErrorBodyDetailsItem"; export * from "./ConflictErrorBody"; -export * from "./ErrorDetailsItem"; -export * from "./AuthorizedUser"; -export * from "./Application"; -export * from "./AuthorizationAuthorizationAuthorizedTo"; -export * from "./AuthorizationAuthorization"; -export * from "./Authorization"; -export * from "./Domain"; -export * from "./Locale"; -export * from "./Locales"; -export * from "./Site"; -export * from "./Sites"; -export * from "./Domains"; -export * from "./InvalidDomain"; -export * from "./NoDomains"; -export * from "./SiteActivityLogItemResourceOperation"; -export * from "./SiteActivityLogItemUser"; -export * from "./SiteActivityLogItem"; -export * from "./Pagination"; -export * from "./SiteActivityLogResponse"; -export * from "./Error_"; -export * from "./MissingScopes"; -export * from "./NotEnterprisePlanSite"; -export * from "./CollectionListArrayItem"; -export * from "./CollectionList"; -export * from "./FieldType"; -export * from "./Field"; -export * from "./Collection"; -export * from "./CollectionItemFieldData"; -export * from "./CollectionItem"; -export * from "./CollectionItemListPagination"; -export * from "./CollectionItemList"; -export * from "./BulkCollectionItemFieldData"; -export * from "./BulkCollectionItem"; -export * from "./PageSeo"; -export * from "./PageOpenGraph"; -export * from "./Page"; -export * from "./PageList"; -export * from "./TextNode"; -export * from "./ImageNode"; -export * from "./NodeType"; -export * from "./Node"; -export * from "./Dom"; -export * from "./ScriptApplyLocation"; -export * from "./ScriptApply"; -export * from "./ScriptApplyList"; -export * from "./CustomCodeHostedResponse"; -export * from "./RegisteredScriptList"; -export * from "./CustomCodeInlineResponse"; -export * from "./Scripts"; -export * from "./CustomCodeBlockType"; -export * from "./CustomCodeBlock"; -export * from "./ListCustomCodeBlocks"; -export * from "./AssetVariant"; -export * from "./Asset"; -export * from "./Assets"; -export * from "./AssetUploadUploadDetails"; -export * from "./AssetUpload"; -export * from "./AssetFolder"; -export * from "./AssetFolderList"; -export * from "./TriggerType"; -export * from "./WebhookFilter"; -export * from "./Webhook"; -export * from "./WebhookList"; -export * from "./FormFieldValueType"; -export * from "./FormFieldValue"; -export * from "./FormField"; -export * from "./FormResponseSettings"; -export * from "./Form"; -export * from "./FormList"; -export * from "./FormSubmission"; -export * from "./FormSubmissionList"; -export * from "./UserDataData"; -export * from "./UserData"; -export * from "./UserStatus"; -export * from "./UserAccessGroupsItemType"; -export * from "./UserAccessGroupsItem"; -export * from "./User"; -export * from "./UserList"; -export * from "./UsersNotEnabled"; -export * from "./DuplicateUserEmail"; -export * from "./UserLimitReached"; -export * from "./AccessGroup"; -export * from "./AccessGroupList"; -export * from "./SkuPropertyListEnumItem"; -export * from "./SkuPropertyList"; -export * from "./ProductFieldDataTaxCategory"; -export * from "./ProductFieldDataEcProductType"; -export * from "./ProductFieldData"; -export * from "./Product"; -export * from "./SkuValueList"; -export * from "./SkuFieldDataPrice"; -export * from "./SkuFieldDataCompareAtPrice"; -export * from "./SkuFieldDataEcSkuBillingMethod"; -export * from "./SkuFieldDataEcSkuSubscriptionPlanInterval"; -export * from "./SkuFieldDataEcSkuSubscriptionPlanPlansItemStatus"; -export * from "./SkuFieldDataEcSkuSubscriptionPlanPlansItem"; -export * from "./SkuFieldDataEcSkuSubscriptionPlan"; -export * from "./SkuFieldData"; -export * from "./Sku"; -export * from "./ProductAndSkUs"; -export * from "./ProductAndSkUsList"; -export * from "./PublishStatus"; -export * from "./OrderPrice"; -export * from "./OrderAddressType"; -export * from "./OrderAddressJapanType"; -export * from "./OrderAddress"; -export * from "./OrderPurchasedItemVariantImageFileVariantsItem"; -export * from "./OrderPurchasedItemVariantImageFile"; -export * from "./OrderPurchasedItemVariantImage"; -export * from "./OrderPurchasedItem"; -export * from "./StripeDetails"; -export * from "./StripeCardBrand"; -export * from "./StripeCardExpires"; -export * from "./StripeCard"; -export * from "./PaypalDetails"; -export * from "./OrderStatus"; -export * from "./OrderDisputeLastStatus"; -export * from "./OrderCustomerInfo"; -export * from "./OrderMetadata"; -export * from "./OrderTotalsExtrasItemType"; -export * from "./OrderTotalsExtrasItem"; -export * from "./OrderTotals"; -export * from "./OrderDownloadFilesItem"; -export * from "./Order"; -export * from "./OrderList"; -export * from "./InventoryItemInventoryType"; -export * from "./InventoryItem"; -export * from "./EcommerceSettings"; -export * from "./OAuthScope"; diff --git a/src/core/fetcher/Fetcher.ts b/src/core/fetcher/Fetcher.ts index d67bc042..b8f23717 100644 --- a/src/core/fetcher/Fetcher.ts +++ b/src/core/fetcher/Fetcher.ts @@ -21,7 +21,7 @@ export declare namespace Fetcher { withCredentials?: boolean; abortSignal?: AbortSignal; requestType?: "json" | "file" | "bytes"; - responseType?: "json" | "blob" | "sse" | "streaming" | "text"; + responseType?: "json" | "blob" | "sse" | "streaming" | "text" | "arrayBuffer"; duplex?: "half"; } diff --git a/src/core/fetcher/getResponseBody.ts b/src/core/fetcher/getResponseBody.ts index a7a9c508..d046e6ea 100644 --- a/src/core/fetcher/getResponseBody.ts +++ b/src/core/fetcher/getResponseBody.ts @@ -3,6 +3,8 @@ import { chooseStreamWrapper } from "./stream-wrappers/chooseStreamWrapper"; export async function getResponseBody(response: Response, responseType?: string): Promise { if (response.body != null && responseType === "blob") { return await response.blob(); + } else if (response.body != null && responseType === "arrayBuffer") { + return await response.arrayBuffer(); } else if (response.body != null && responseType === "sse") { return response.body; } else if (response.body != null && responseType === "streaming") { diff --git a/src/core/fetcher/requestWithRetries.ts b/src/core/fetcher/requestWithRetries.ts index ff5dc3bb..8d5af9d5 100644 --- a/src/core/fetcher/requestWithRetries.ts +++ b/src/core/fetcher/requestWithRetries.ts @@ -1,6 +1,13 @@ -const INITIAL_RETRY_DELAY = 1; -const MAX_RETRY_DELAY = 60; +const INITIAL_RETRY_DELAY = 1000; // in milliseconds +const MAX_RETRY_DELAY = 60000; // in milliseconds const DEFAULT_MAX_RETRIES = 2; +const JITTER_FACTOR = 0.2; // 20% random jitter + +function addJitter(delay: number): number { + // Generate a random value between -JITTER_FACTOR and +JITTER_FACTOR + const jitterMultiplier = 1 + (Math.random() * 2 - 1) * JITTER_FACTOR; + return delay * jitterMultiplier; +} export async function requestWithRetries( requestFn: () => Promise, @@ -10,8 +17,13 @@ export async function requestWithRetries( for (let i = 0; i < maxRetries; ++i) { if ([408, 409, 429].includes(response.status) || response.status >= 500) { - const delay = Math.min(INITIAL_RETRY_DELAY * Math.pow(2, i), MAX_RETRY_DELAY); - await new Promise((resolve) => setTimeout(resolve, delay)); + // Calculate base delay using exponential backoff (in milliseconds) + const baseDelay = Math.min(INITIAL_RETRY_DELAY * Math.pow(2, i), MAX_RETRY_DELAY); + + // Add jitter to the delay + const delayWithJitter = addJitter(baseDelay); + + await new Promise((resolve) => setTimeout(resolve, delayWithJitter)); response = await requestFn(); } else { break; diff --git a/src/serialization/resources/accessGroups/types/AccessGroupsListResponse.ts b/src/serialization/resources/accessGroups/types/AccessGroupsListResponse.ts new file mode 100644 index 00000000..6a17a7f2 --- /dev/null +++ b/src/serialization/resources/accessGroups/types/AccessGroupsListResponse.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { AccessGroupsListResponseAccessGroupsItem } from "./AccessGroupsListResponseAccessGroupsItem"; + +export const AccessGroupsListResponse: core.serialization.ObjectSchema< + serializers.AccessGroupsListResponse.Raw, + Webflow.AccessGroupsListResponse +> = core.serialization.object({ + count: core.serialization.number().optional(), + limit: core.serialization.number().optional(), + offset: core.serialization.number().optional(), + total: core.serialization.number().optional(), + accessGroups: core.serialization.list(AccessGroupsListResponseAccessGroupsItem).optional(), +}); + +export declare namespace AccessGroupsListResponse { + interface Raw { + count?: number | null; + limit?: number | null; + offset?: number | null; + total?: number | null; + accessGroups?: AccessGroupsListResponseAccessGroupsItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/accessGroups/types/AccessGroupsListResponseAccessGroupsItem.ts b/src/serialization/resources/accessGroups/types/AccessGroupsListResponseAccessGroupsItem.ts new file mode 100644 index 00000000..012a66b4 --- /dev/null +++ b/src/serialization/resources/accessGroups/types/AccessGroupsListResponseAccessGroupsItem.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const AccessGroupsListResponseAccessGroupsItem: core.serialization.ObjectSchema< + serializers.AccessGroupsListResponseAccessGroupsItem.Raw, + Webflow.AccessGroupsListResponseAccessGroupsItem +> = core.serialization.object({ + id: core.serialization.string().optional(), + name: core.serialization.string().optional(), + shortId: core.serialization.string().optional(), + slug: core.serialization.string().optional(), + createdOn: core.serialization.date().optional(), +}); + +export declare namespace AccessGroupsListResponseAccessGroupsItem { + interface Raw { + id?: string | null; + name?: string | null; + shortId?: string | null; + slug?: string | null; + createdOn?: string | null; + } +} diff --git a/src/serialization/resources/accessGroups/types/index.ts b/src/serialization/resources/accessGroups/types/index.ts index 5b80efb0..b16a2fb8 100644 --- a/src/serialization/resources/accessGroups/types/index.ts +++ b/src/serialization/resources/accessGroups/types/index.ts @@ -1 +1,3 @@ export * from "./AccessGroupsListRequestSort"; +export * from "./AccessGroupsListResponseAccessGroupsItem"; +export * from "./AccessGroupsListResponse"; diff --git a/src/serialization/resources/assets/client/requests/AssetsUpdateRequest.ts b/src/serialization/resources/assets/client/requests/AssetsUpdateRequest.ts index 2ceb794f..d9907f60 100644 --- a/src/serialization/resources/assets/client/requests/AssetsUpdateRequest.ts +++ b/src/serialization/resources/assets/client/requests/AssetsUpdateRequest.ts @@ -10,11 +10,13 @@ export const AssetsUpdateRequest: core.serialization.Schema< serializers.AssetsUpdateRequest.Raw, Webflow.AssetsUpdateRequest > = core.serialization.object({ - displayName: core.serialization.string(), + localeId: core.serialization.string().optional(), + displayName: core.serialization.string().optional(), }); export declare namespace AssetsUpdateRequest { interface Raw { - displayName: string; + localeId?: string | null; + displayName?: string | null; } } diff --git a/src/serialization/resources/assets/index.ts b/src/serialization/resources/assets/index.ts index 5ec76921..c9240f83 100644 --- a/src/serialization/resources/assets/index.ts +++ b/src/serialization/resources/assets/index.ts @@ -1 +1,2 @@ +export * from "./types"; export * from "./client"; diff --git a/src/serialization/resources/assets/types/AssetsCreateFolderResponse.ts b/src/serialization/resources/assets/types/AssetsCreateFolderResponse.ts new file mode 100644 index 00000000..65a38a5d --- /dev/null +++ b/src/serialization/resources/assets/types/AssetsCreateFolderResponse.ts @@ -0,0 +1,32 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const AssetsCreateFolderResponse: core.serialization.ObjectSchema< + serializers.AssetsCreateFolderResponse.Raw, + Webflow.AssetsCreateFolderResponse +> = core.serialization.object({ + id: core.serialization.string().optional(), + displayName: core.serialization.string().optional(), + parentFolder: core.serialization.string().optional(), + assets: core.serialization.list(core.serialization.string()).optional(), + siteId: core.serialization.string().optional(), + createdOn: core.serialization.date().optional(), + lastUpdated: core.serialization.date().optional(), +}); + +export declare namespace AssetsCreateFolderResponse { + interface Raw { + id?: string | null; + displayName?: string | null; + parentFolder?: string | null; + assets?: string[] | null; + siteId?: string | null; + createdOn?: string | null; + lastUpdated?: string | null; + } +} diff --git a/src/serialization/resources/assets/types/AssetsCreateResponse.ts b/src/serialization/resources/assets/types/AssetsCreateResponse.ts new file mode 100644 index 00000000..f960480c --- /dev/null +++ b/src/serialization/resources/assets/types/AssetsCreateResponse.ts @@ -0,0 +1,39 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { AssetsCreateResponseUploadDetails } from "./AssetsCreateResponseUploadDetails"; + +export const AssetsCreateResponse: core.serialization.ObjectSchema< + serializers.AssetsCreateResponse.Raw, + Webflow.AssetsCreateResponse +> = core.serialization.object({ + uploadDetails: AssetsCreateResponseUploadDetails.optional(), + contentType: core.serialization.string().optional(), + id: core.serialization.string().optional(), + parentFolder: core.serialization.string().optional(), + uploadUrl: core.serialization.string().optional(), + assetUrl: core.serialization.string().optional(), + hostedUrl: core.serialization.string().optional(), + originalFileName: core.serialization.string().optional(), + createdOn: core.serialization.date().optional(), + lastUpdated: core.serialization.date().optional(), +}); + +export declare namespace AssetsCreateResponse { + interface Raw { + uploadDetails?: AssetsCreateResponseUploadDetails.Raw | null; + contentType?: string | null; + id?: string | null; + parentFolder?: string | null; + uploadUrl?: string | null; + assetUrl?: string | null; + hostedUrl?: string | null; + originalFileName?: string | null; + createdOn?: string | null; + lastUpdated?: string | null; + } +} diff --git a/src/serialization/resources/assets/types/AssetsCreateResponseUploadDetails.ts b/src/serialization/resources/assets/types/AssetsCreateResponseUploadDetails.ts new file mode 100644 index 00000000..5342828a --- /dev/null +++ b/src/serialization/resources/assets/types/AssetsCreateResponseUploadDetails.ts @@ -0,0 +1,40 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const AssetsCreateResponseUploadDetails: core.serialization.ObjectSchema< + serializers.AssetsCreateResponseUploadDetails.Raw, + Webflow.AssetsCreateResponseUploadDetails +> = core.serialization.object({ + acl: core.serialization.string().optional(), + bucket: core.serialization.string().optional(), + xAmzAlgorithm: core.serialization.property("X-Amz-Algorithm", core.serialization.string().optional()), + xAmzCredential: core.serialization.property("X-Amz-Credential", core.serialization.string().optional()), + xAmzDate: core.serialization.property("X-Amz-Date", core.serialization.string().optional()), + key: core.serialization.string().optional(), + policy: core.serialization.property("Policy", core.serialization.string().optional()), + xAmzSignature: core.serialization.property("X-Amz-Signature", core.serialization.string().optional()), + successActionStatus: core.serialization.property("success_action_status", core.serialization.string().optional()), + contentType: core.serialization.property("content-type", core.serialization.string().optional()), + cacheControl: core.serialization.property("Cache-Control", core.serialization.string().optional()), +}); + +export declare namespace AssetsCreateResponseUploadDetails { + interface Raw { + acl?: string | null; + bucket?: string | null; + "X-Amz-Algorithm"?: string | null; + "X-Amz-Credential"?: string | null; + "X-Amz-Date"?: string | null; + key?: string | null; + Policy?: string | null; + "X-Amz-Signature"?: string | null; + success_action_status?: string | null; + "content-type"?: string | null; + "Cache-Control"?: string | null; + } +} diff --git a/src/serialization/resources/assets/types/AssetsGetFolderResponse.ts b/src/serialization/resources/assets/types/AssetsGetFolderResponse.ts new file mode 100644 index 00000000..9a2651fe --- /dev/null +++ b/src/serialization/resources/assets/types/AssetsGetFolderResponse.ts @@ -0,0 +1,32 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const AssetsGetFolderResponse: core.serialization.ObjectSchema< + serializers.AssetsGetFolderResponse.Raw, + Webflow.AssetsGetFolderResponse +> = core.serialization.object({ + id: core.serialization.string().optional(), + displayName: core.serialization.string().optional(), + parentFolder: core.serialization.string().optional(), + assets: core.serialization.list(core.serialization.string()).optional(), + siteId: core.serialization.string().optional(), + createdOn: core.serialization.date().optional(), + lastUpdated: core.serialization.date().optional(), +}); + +export declare namespace AssetsGetFolderResponse { + interface Raw { + id?: string | null; + displayName?: string | null; + parentFolder?: string | null; + assets?: string[] | null; + siteId?: string | null; + createdOn?: string | null; + lastUpdated?: string | null; + } +} diff --git a/src/serialization/resources/assets/types/AssetsGetResponse.ts b/src/serialization/resources/assets/types/AssetsGetResponse.ts new file mode 100644 index 00000000..de961a3e --- /dev/null +++ b/src/serialization/resources/assets/types/AssetsGetResponse.ts @@ -0,0 +1,41 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { AssetsGetResponseVariantsItem } from "./AssetsGetResponseVariantsItem"; + +export const AssetsGetResponse: core.serialization.ObjectSchema< + serializers.AssetsGetResponse.Raw, + Webflow.AssetsGetResponse +> = core.serialization.object({ + id: core.serialization.string().optional(), + contentType: core.serialization.string().optional(), + size: core.serialization.number().optional(), + siteId: core.serialization.string().optional(), + hostedUrl: core.serialization.string().optional(), + originalFileName: core.serialization.string().optional(), + displayName: core.serialization.string().optional(), + lastUpdated: core.serialization.date().optional(), + createdOn: core.serialization.date().optional(), + variants: core.serialization.list(AssetsGetResponseVariantsItem).optional(), + altText: core.serialization.string().optional(), +}); + +export declare namespace AssetsGetResponse { + interface Raw { + id?: string | null; + contentType?: string | null; + size?: number | null; + siteId?: string | null; + hostedUrl?: string | null; + originalFileName?: string | null; + displayName?: string | null; + lastUpdated?: string | null; + createdOn?: string | null; + variants?: AssetsGetResponseVariantsItem.Raw[] | null; + altText?: string | null; + } +} diff --git a/src/serialization/resources/assets/types/AssetsGetResponseVariantsItem.ts b/src/serialization/resources/assets/types/AssetsGetResponseVariantsItem.ts new file mode 100644 index 00000000..d5ab57e9 --- /dev/null +++ b/src/serialization/resources/assets/types/AssetsGetResponseVariantsItem.ts @@ -0,0 +1,34 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const AssetsGetResponseVariantsItem: core.serialization.ObjectSchema< + serializers.AssetsGetResponseVariantsItem.Raw, + Webflow.AssetsGetResponseVariantsItem +> = core.serialization.object({ + hostedUrl: core.serialization.string().optional(), + originalFileName: core.serialization.string().optional(), + displayName: core.serialization.string().optional(), + format: core.serialization.string().optional(), + width: core.serialization.number().optional(), + height: core.serialization.number().optional(), + quality: core.serialization.number().optional(), + error: core.serialization.string().optional(), +}); + +export declare namespace AssetsGetResponseVariantsItem { + interface Raw { + hostedUrl?: string | null; + originalFileName?: string | null; + displayName?: string | null; + format?: string | null; + width?: number | null; + height?: number | null; + quality?: number | null; + error?: string | null; + } +} diff --git a/src/serialization/resources/assets/types/AssetsListFoldersResponse.ts b/src/serialization/resources/assets/types/AssetsListFoldersResponse.ts new file mode 100644 index 00000000..2087eb54 --- /dev/null +++ b/src/serialization/resources/assets/types/AssetsListFoldersResponse.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { AssetsListFoldersResponseAssetFoldersItem } from "./AssetsListFoldersResponseAssetFoldersItem"; +import { AssetsListFoldersResponsePagination } from "./AssetsListFoldersResponsePagination"; + +export const AssetsListFoldersResponse: core.serialization.ObjectSchema< + serializers.AssetsListFoldersResponse.Raw, + Webflow.AssetsListFoldersResponse +> = core.serialization.object({ + assetFolders: core.serialization.list(AssetsListFoldersResponseAssetFoldersItem).optional(), + pagination: AssetsListFoldersResponsePagination.optional(), +}); + +export declare namespace AssetsListFoldersResponse { + interface Raw { + assetFolders?: AssetsListFoldersResponseAssetFoldersItem.Raw[] | null; + pagination?: AssetsListFoldersResponsePagination.Raw | null; + } +} diff --git a/src/serialization/resources/assets/types/AssetsListFoldersResponseAssetFoldersItem.ts b/src/serialization/resources/assets/types/AssetsListFoldersResponseAssetFoldersItem.ts new file mode 100644 index 00000000..b30cfd76 --- /dev/null +++ b/src/serialization/resources/assets/types/AssetsListFoldersResponseAssetFoldersItem.ts @@ -0,0 +1,32 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const AssetsListFoldersResponseAssetFoldersItem: core.serialization.ObjectSchema< + serializers.AssetsListFoldersResponseAssetFoldersItem.Raw, + Webflow.AssetsListFoldersResponseAssetFoldersItem +> = core.serialization.object({ + id: core.serialization.string().optional(), + displayName: core.serialization.string().optional(), + parentFolder: core.serialization.string().optional(), + assets: core.serialization.list(core.serialization.string()).optional(), + siteId: core.serialization.string().optional(), + createdOn: core.serialization.date().optional(), + lastUpdated: core.serialization.date().optional(), +}); + +export declare namespace AssetsListFoldersResponseAssetFoldersItem { + interface Raw { + id?: string | null; + displayName?: string | null; + parentFolder?: string | null; + assets?: string[] | null; + siteId?: string | null; + createdOn?: string | null; + lastUpdated?: string | null; + } +} diff --git a/src/serialization/resources/assets/types/AssetsListFoldersResponsePagination.ts b/src/serialization/resources/assets/types/AssetsListFoldersResponsePagination.ts new file mode 100644 index 00000000..2d6f2e88 --- /dev/null +++ b/src/serialization/resources/assets/types/AssetsListFoldersResponsePagination.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const AssetsListFoldersResponsePagination: core.serialization.ObjectSchema< + serializers.AssetsListFoldersResponsePagination.Raw, + Webflow.AssetsListFoldersResponsePagination +> = core.serialization.object({ + limit: core.serialization.number().optional(), + offset: core.serialization.number().optional(), + total: core.serialization.number().optional(), +}); + +export declare namespace AssetsListFoldersResponsePagination { + interface Raw { + limit?: number | null; + offset?: number | null; + total?: number | null; + } +} diff --git a/src/serialization/resources/assets/types/AssetsListResponse.ts b/src/serialization/resources/assets/types/AssetsListResponse.ts new file mode 100644 index 00000000..f759a89e --- /dev/null +++ b/src/serialization/resources/assets/types/AssetsListResponse.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { AssetsListResponseAssetsItem } from "./AssetsListResponseAssetsItem"; + +export const AssetsListResponse: core.serialization.ObjectSchema< + serializers.AssetsListResponse.Raw, + Webflow.AssetsListResponse +> = core.serialization.object({ + assets: core.serialization.list(AssetsListResponseAssetsItem).optional(), +}); + +export declare namespace AssetsListResponse { + interface Raw { + assets?: AssetsListResponseAssetsItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/assets/types/AssetsListResponseAssetsItem.ts b/src/serialization/resources/assets/types/AssetsListResponseAssetsItem.ts new file mode 100644 index 00000000..ad8aba31 --- /dev/null +++ b/src/serialization/resources/assets/types/AssetsListResponseAssetsItem.ts @@ -0,0 +1,41 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { AssetsListResponseAssetsItemVariantsItem } from "./AssetsListResponseAssetsItemVariantsItem"; + +export const AssetsListResponseAssetsItem: core.serialization.ObjectSchema< + serializers.AssetsListResponseAssetsItem.Raw, + Webflow.AssetsListResponseAssetsItem +> = core.serialization.object({ + id: core.serialization.string().optional(), + contentType: core.serialization.string().optional(), + size: core.serialization.number().optional(), + siteId: core.serialization.string().optional(), + hostedUrl: core.serialization.string().optional(), + originalFileName: core.serialization.string().optional(), + displayName: core.serialization.string().optional(), + lastUpdated: core.serialization.date().optional(), + createdOn: core.serialization.date().optional(), + variants: core.serialization.list(AssetsListResponseAssetsItemVariantsItem).optional(), + altText: core.serialization.string().optional(), +}); + +export declare namespace AssetsListResponseAssetsItem { + interface Raw { + id?: string | null; + contentType?: string | null; + size?: number | null; + siteId?: string | null; + hostedUrl?: string | null; + originalFileName?: string | null; + displayName?: string | null; + lastUpdated?: string | null; + createdOn?: string | null; + variants?: AssetsListResponseAssetsItemVariantsItem.Raw[] | null; + altText?: string | null; + } +} diff --git a/src/serialization/resources/assets/types/AssetsListResponseAssetsItemVariantsItem.ts b/src/serialization/resources/assets/types/AssetsListResponseAssetsItemVariantsItem.ts new file mode 100644 index 00000000..26c29ac3 --- /dev/null +++ b/src/serialization/resources/assets/types/AssetsListResponseAssetsItemVariantsItem.ts @@ -0,0 +1,34 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const AssetsListResponseAssetsItemVariantsItem: core.serialization.ObjectSchema< + serializers.AssetsListResponseAssetsItemVariantsItem.Raw, + Webflow.AssetsListResponseAssetsItemVariantsItem +> = core.serialization.object({ + hostedUrl: core.serialization.string().optional(), + originalFileName: core.serialization.string().optional(), + displayName: core.serialization.string().optional(), + format: core.serialization.string().optional(), + width: core.serialization.number().optional(), + height: core.serialization.number().optional(), + quality: core.serialization.number().optional(), + error: core.serialization.string().optional(), +}); + +export declare namespace AssetsListResponseAssetsItemVariantsItem { + interface Raw { + hostedUrl?: string | null; + originalFileName?: string | null; + displayName?: string | null; + format?: string | null; + width?: number | null; + height?: number | null; + quality?: number | null; + error?: string | null; + } +} diff --git a/src/serialization/resources/assets/types/AssetsUpdateResponse.ts b/src/serialization/resources/assets/types/AssetsUpdateResponse.ts new file mode 100644 index 00000000..9c9257aa --- /dev/null +++ b/src/serialization/resources/assets/types/AssetsUpdateResponse.ts @@ -0,0 +1,41 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { AssetsUpdateResponseVariantsItem } from "./AssetsUpdateResponseVariantsItem"; + +export const AssetsUpdateResponse: core.serialization.ObjectSchema< + serializers.AssetsUpdateResponse.Raw, + Webflow.AssetsUpdateResponse +> = core.serialization.object({ + id: core.serialization.string().optional(), + contentType: core.serialization.string().optional(), + size: core.serialization.number().optional(), + siteId: core.serialization.string().optional(), + hostedUrl: core.serialization.string().optional(), + originalFileName: core.serialization.string().optional(), + displayName: core.serialization.string().optional(), + lastUpdated: core.serialization.date().optional(), + createdOn: core.serialization.date().optional(), + variants: core.serialization.list(AssetsUpdateResponseVariantsItem).optional(), + altText: core.serialization.string().optional(), +}); + +export declare namespace AssetsUpdateResponse { + interface Raw { + id?: string | null; + contentType?: string | null; + size?: number | null; + siteId?: string | null; + hostedUrl?: string | null; + originalFileName?: string | null; + displayName?: string | null; + lastUpdated?: string | null; + createdOn?: string | null; + variants?: AssetsUpdateResponseVariantsItem.Raw[] | null; + altText?: string | null; + } +} diff --git a/src/serialization/resources/assets/types/AssetsUpdateResponseVariantsItem.ts b/src/serialization/resources/assets/types/AssetsUpdateResponseVariantsItem.ts new file mode 100644 index 00000000..4a98e62d --- /dev/null +++ b/src/serialization/resources/assets/types/AssetsUpdateResponseVariantsItem.ts @@ -0,0 +1,34 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const AssetsUpdateResponseVariantsItem: core.serialization.ObjectSchema< + serializers.AssetsUpdateResponseVariantsItem.Raw, + Webflow.AssetsUpdateResponseVariantsItem +> = core.serialization.object({ + hostedUrl: core.serialization.string().optional(), + originalFileName: core.serialization.string().optional(), + displayName: core.serialization.string().optional(), + format: core.serialization.string().optional(), + width: core.serialization.number().optional(), + height: core.serialization.number().optional(), + quality: core.serialization.number().optional(), + error: core.serialization.string().optional(), +}); + +export declare namespace AssetsUpdateResponseVariantsItem { + interface Raw { + hostedUrl?: string | null; + originalFileName?: string | null; + displayName?: string | null; + format?: string | null; + width?: number | null; + height?: number | null; + quality?: number | null; + error?: string | null; + } +} diff --git a/src/serialization/resources/assets/types/index.ts b/src/serialization/resources/assets/types/index.ts new file mode 100644 index 00000000..d97b2eec --- /dev/null +++ b/src/serialization/resources/assets/types/index.ts @@ -0,0 +1,14 @@ +export * from "./AssetsListResponseAssetsItemVariantsItem"; +export * from "./AssetsListResponseAssetsItem"; +export * from "./AssetsListResponse"; +export * from "./AssetsCreateResponseUploadDetails"; +export * from "./AssetsCreateResponse"; +export * from "./AssetsGetResponseVariantsItem"; +export * from "./AssetsGetResponse"; +export * from "./AssetsUpdateResponseVariantsItem"; +export * from "./AssetsUpdateResponse"; +export * from "./AssetsListFoldersResponseAssetFoldersItem"; +export * from "./AssetsListFoldersResponsePagination"; +export * from "./AssetsListFoldersResponse"; +export * from "./AssetsCreateFolderResponse"; +export * from "./AssetsGetFolderResponse"; diff --git a/src/serialization/resources/collections/index.ts b/src/serialization/resources/collections/index.ts index 4ce0f390..a931b363 100644 --- a/src/serialization/resources/collections/index.ts +++ b/src/serialization/resources/collections/index.ts @@ -1,2 +1,3 @@ +export * from "./types"; export * from "./resources"; export * from "./client"; diff --git a/src/serialization/resources/collections/resources/fields/client/requests/FieldCreate.ts b/src/serialization/resources/collections/resources/fields/client/requests/FieldCreate.ts deleted file mode 100644 index 01459630..00000000 --- a/src/serialization/resources/collections/resources/fields/client/requests/FieldCreate.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../../../../../../index"; -import * as Webflow from "../../../../../../../api/index"; -import * as core from "../../../../../../../core"; -import { FieldCreateType } from "../../types/FieldCreateType"; - -export const FieldCreate: core.serialization.Schema< - serializers.collections.FieldCreate.Raw, - Webflow.collections.FieldCreate -> = core.serialization.object({ - isRequired: core.serialization.boolean().optional(), - type: FieldCreateType, - displayName: core.serialization.string(), - helpText: core.serialization.string().optional(), -}); - -export declare namespace FieldCreate { - interface Raw { - isRequired?: boolean | null; - type: FieldCreateType.Raw; - displayName: string; - helpText?: string | null; - } -} diff --git a/src/serialization/resources/collections/resources/fields/client/requests/FieldUpdate.ts b/src/serialization/resources/collections/resources/fields/client/requests/FieldUpdate.ts deleted file mode 100644 index d09ce2ba..00000000 --- a/src/serialization/resources/collections/resources/fields/client/requests/FieldUpdate.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../../../../../../index"; -import * as Webflow from "../../../../../../../api/index"; -import * as core from "../../../../../../../core"; - -export const FieldUpdate: core.serialization.Schema< - serializers.collections.FieldUpdate.Raw, - Webflow.collections.FieldUpdate -> = core.serialization.object({ - isRequired: core.serialization.boolean().optional(), - displayName: core.serialization.string().optional(), - helpText: core.serialization.string().optional(), -}); - -export declare namespace FieldUpdate { - interface Raw { - isRequired?: boolean | null; - displayName?: string | null; - helpText?: string | null; - } -} diff --git a/src/serialization/resources/collections/resources/fields/client/requests/FieldsCreateRequest.ts b/src/serialization/resources/collections/resources/fields/client/requests/FieldsCreateRequest.ts new file mode 100644 index 00000000..938935b9 --- /dev/null +++ b/src/serialization/resources/collections/resources/fields/client/requests/FieldsCreateRequest.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../../index"; +import * as Webflow from "../../../../../../../api/index"; +import * as core from "../../../../../../../core"; +import { FieldsCreateRequestType } from "../../types/FieldsCreateRequestType"; + +export const FieldsCreateRequest: core.serialization.Schema< + serializers.collections.FieldsCreateRequest.Raw, + Webflow.collections.FieldsCreateRequest +> = core.serialization.object({ + isRequired: core.serialization.boolean().optional(), + type: FieldsCreateRequestType, + displayName: core.serialization.string(), + helpText: core.serialization.string().optional(), +}); + +export declare namespace FieldsCreateRequest { + interface Raw { + isRequired?: boolean | null; + type: FieldsCreateRequestType.Raw; + displayName: string; + helpText?: string | null; + } +} diff --git a/src/serialization/resources/collections/resources/fields/client/requests/FieldsUpdateRequest.ts b/src/serialization/resources/collections/resources/fields/client/requests/FieldsUpdateRequest.ts new file mode 100644 index 00000000..c7455a50 --- /dev/null +++ b/src/serialization/resources/collections/resources/fields/client/requests/FieldsUpdateRequest.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../../index"; +import * as Webflow from "../../../../../../../api/index"; +import * as core from "../../../../../../../core"; + +export const FieldsUpdateRequest: core.serialization.Schema< + serializers.collections.FieldsUpdateRequest.Raw, + Webflow.collections.FieldsUpdateRequest +> = core.serialization.object({ + isRequired: core.serialization.boolean().optional(), + displayName: core.serialization.string().optional(), + helpText: core.serialization.string().optional(), +}); + +export declare namespace FieldsUpdateRequest { + interface Raw { + isRequired?: boolean | null; + displayName?: string | null; + helpText?: string | null; + } +} diff --git a/src/serialization/resources/collections/resources/fields/client/requests/index.ts b/src/serialization/resources/collections/resources/fields/client/requests/index.ts index 93f46db9..7a162493 100644 --- a/src/serialization/resources/collections/resources/fields/client/requests/index.ts +++ b/src/serialization/resources/collections/resources/fields/client/requests/index.ts @@ -1,2 +1,2 @@ -export { FieldCreate } from "./FieldCreate"; -export { FieldUpdate } from "./FieldUpdate"; +export { FieldsCreateRequest } from "./FieldsCreateRequest"; +export { FieldsUpdateRequest } from "./FieldsUpdateRequest"; diff --git a/src/serialization/resources/collections/resources/fields/types/FieldCreateType.ts b/src/serialization/resources/collections/resources/fields/types/FieldCreateType.ts deleted file mode 100644 index 36927784..00000000 --- a/src/serialization/resources/collections/resources/fields/types/FieldCreateType.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../../../../../index"; -import * as Webflow from "../../../../../../api/index"; -import * as core from "../../../../../../core"; - -export const FieldCreateType: core.serialization.Schema< - serializers.collections.FieldCreateType.Raw, - Webflow.collections.FieldCreateType -> = core.serialization.enum_([ - "PlainText", - "RichText", - "Image", - "MultiImage", - "Video", - "Link", - "Email", - "Phone", - "Number", - "DateTime", - "Switch", - "Color", - "File", -]); - -export declare namespace FieldCreateType { - type Raw = - | "PlainText" - | "RichText" - | "Image" - | "MultiImage" - | "Video" - | "Link" - | "Email" - | "Phone" - | "Number" - | "DateTime" - | "Switch" - | "Color" - | "File"; -} diff --git a/src/serialization/resources/collections/resources/fields/types/FieldsCreateRequestType.ts b/src/serialization/resources/collections/resources/fields/types/FieldsCreateRequestType.ts new file mode 100644 index 00000000..d8a2d5e2 --- /dev/null +++ b/src/serialization/resources/collections/resources/fields/types/FieldsCreateRequestType.ts @@ -0,0 +1,43 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const FieldsCreateRequestType: core.serialization.Schema< + serializers.collections.FieldsCreateRequestType.Raw, + Webflow.collections.FieldsCreateRequestType +> = core.serialization.enum_([ + "PlainText", + "RichText", + "Image", + "MultiImage", + "Video", + "Link", + "Email", + "Phone", + "Number", + "DateTime", + "Switch", + "Color", + "File", +]); + +export declare namespace FieldsCreateRequestType { + type Raw = + | "PlainText" + | "RichText" + | "Image" + | "MultiImage" + | "Video" + | "Link" + | "Email" + | "Phone" + | "Number" + | "DateTime" + | "Switch" + | "Color" + | "File"; +} diff --git a/src/serialization/resources/collections/resources/fields/types/FieldsCreateResponse.ts b/src/serialization/resources/collections/resources/fields/types/FieldsCreateResponse.ts new file mode 100644 index 00000000..56ab6aec --- /dev/null +++ b/src/serialization/resources/collections/resources/fields/types/FieldsCreateResponse.ts @@ -0,0 +1,33 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { FieldsCreateResponseType } from "./FieldsCreateResponseType"; + +export const FieldsCreateResponse: core.serialization.ObjectSchema< + serializers.collections.FieldsCreateResponse.Raw, + Webflow.collections.FieldsCreateResponse +> = core.serialization.object({ + id: core.serialization.string(), + isRequired: core.serialization.boolean(), + isEditable: core.serialization.boolean().optional(), + type: FieldsCreateResponseType, + slug: core.serialization.string().optional(), + displayName: core.serialization.string(), + helpText: core.serialization.string().optional(), +}); + +export declare namespace FieldsCreateResponse { + interface Raw { + id: string; + isRequired: boolean; + isEditable?: boolean | null; + type: FieldsCreateResponseType.Raw; + slug?: string | null; + displayName: string; + helpText?: string | null; + } +} diff --git a/src/serialization/resources/collections/resources/fields/types/FieldsCreateResponseType.ts b/src/serialization/resources/collections/resources/fields/types/FieldsCreateResponseType.ts new file mode 100644 index 00000000..7d8b847f --- /dev/null +++ b/src/serialization/resources/collections/resources/fields/types/FieldsCreateResponseType.ts @@ -0,0 +1,43 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const FieldsCreateResponseType: core.serialization.Schema< + serializers.collections.FieldsCreateResponseType.Raw, + Webflow.collections.FieldsCreateResponseType +> = core.serialization.enum_([ + "PlainText", + "RichText", + "Image", + "MultiImage", + "Video", + "Link", + "Email", + "Phone", + "Number", + "DateTime", + "Switch", + "Color", + "ExtFileRef", +]); + +export declare namespace FieldsCreateResponseType { + type Raw = + | "PlainText" + | "RichText" + | "Image" + | "MultiImage" + | "Video" + | "Link" + | "Email" + | "Phone" + | "Number" + | "DateTime" + | "Switch" + | "Color" + | "ExtFileRef"; +} diff --git a/src/serialization/resources/collections/resources/fields/types/FieldsUpdateResponse.ts b/src/serialization/resources/collections/resources/fields/types/FieldsUpdateResponse.ts new file mode 100644 index 00000000..6264b9cb --- /dev/null +++ b/src/serialization/resources/collections/resources/fields/types/FieldsUpdateResponse.ts @@ -0,0 +1,33 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { FieldsUpdateResponseType } from "./FieldsUpdateResponseType"; + +export const FieldsUpdateResponse: core.serialization.ObjectSchema< + serializers.collections.FieldsUpdateResponse.Raw, + Webflow.collections.FieldsUpdateResponse +> = core.serialization.object({ + id: core.serialization.string(), + isRequired: core.serialization.boolean(), + isEditable: core.serialization.boolean().optional(), + type: FieldsUpdateResponseType, + slug: core.serialization.string().optional(), + displayName: core.serialization.string(), + helpText: core.serialization.string().optional(), +}); + +export declare namespace FieldsUpdateResponse { + interface Raw { + id: string; + isRequired: boolean; + isEditable?: boolean | null; + type: FieldsUpdateResponseType.Raw; + slug?: string | null; + displayName: string; + helpText?: string | null; + } +} diff --git a/src/serialization/resources/collections/resources/fields/types/FieldsUpdateResponseType.ts b/src/serialization/resources/collections/resources/fields/types/FieldsUpdateResponseType.ts new file mode 100644 index 00000000..511f4564 --- /dev/null +++ b/src/serialization/resources/collections/resources/fields/types/FieldsUpdateResponseType.ts @@ -0,0 +1,43 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const FieldsUpdateResponseType: core.serialization.Schema< + serializers.collections.FieldsUpdateResponseType.Raw, + Webflow.collections.FieldsUpdateResponseType +> = core.serialization.enum_([ + "PlainText", + "RichText", + "Image", + "MultiImage", + "Video", + "Link", + "Email", + "Phone", + "Number", + "DateTime", + "Switch", + "Color", + "ExtFileRef", +]); + +export declare namespace FieldsUpdateResponseType { + type Raw = + | "PlainText" + | "RichText" + | "Image" + | "MultiImage" + | "Video" + | "Link" + | "Email" + | "Phone" + | "Number" + | "DateTime" + | "Switch" + | "Color" + | "ExtFileRef"; +} diff --git a/src/serialization/resources/collections/resources/fields/types/index.ts b/src/serialization/resources/collections/resources/fields/types/index.ts index 56f55977..488647f5 100644 --- a/src/serialization/resources/collections/resources/fields/types/index.ts +++ b/src/serialization/resources/collections/resources/fields/types/index.ts @@ -1 +1,5 @@ -export * from "./FieldCreateType"; +export * from "./FieldsCreateRequestType"; +export * from "./FieldsCreateResponseType"; +export * from "./FieldsCreateResponse"; +export * from "./FieldsUpdateResponseType"; +export * from "./FieldsUpdateResponse"; diff --git a/src/serialization/resources/collections/resources/items/client/requests/ItemsCreateItemsRequest.ts b/src/serialization/resources/collections/resources/items/client/requests/ItemsCreateItemsRequest.ts new file mode 100644 index 00000000..533369ab --- /dev/null +++ b/src/serialization/resources/collections/resources/items/client/requests/ItemsCreateItemsRequest.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../../index"; +import * as Webflow from "../../../../../../../api/index"; +import * as core from "../../../../../../../core"; +import { ItemsCreateItemsRequestFieldData } from "../../types/ItemsCreateItemsRequestFieldData"; + +export const ItemsCreateItemsRequest: core.serialization.Schema< + serializers.collections.ItemsCreateItemsRequest.Raw, + Webflow.collections.ItemsCreateItemsRequest +> = core.serialization.object({ + cmsLocaleIds: core.serialization.list(core.serialization.string()).optional(), + isArchived: core.serialization.boolean().optional(), + isDraft: core.serialization.boolean().optional(), + fieldData: ItemsCreateItemsRequestFieldData.optional(), +}); + +export declare namespace ItemsCreateItemsRequest { + interface Raw { + cmsLocaleIds?: string[] | null; + isArchived?: boolean | null; + isDraft?: boolean | null; + fieldData?: ItemsCreateItemsRequestFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/client/requests/ItemsDeleteItemsLiveRequest.ts b/src/serialization/resources/collections/resources/items/client/requests/ItemsDeleteItemsLiveRequest.ts new file mode 100644 index 00000000..cb601ac2 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/client/requests/ItemsDeleteItemsLiveRequest.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../../index"; +import * as Webflow from "../../../../../../../api/index"; +import * as core from "../../../../../../../core"; +import { ItemsDeleteItemsLiveRequestItemsItem } from "../../types/ItemsDeleteItemsLiveRequestItemsItem"; + +export const ItemsDeleteItemsLiveRequest: core.serialization.Schema< + serializers.collections.ItemsDeleteItemsLiveRequest.Raw, + Webflow.collections.ItemsDeleteItemsLiveRequest +> = core.serialization.object({ + items: core.serialization.list(ItemsDeleteItemsLiveRequestItemsItem).optional(), +}); + +export declare namespace ItemsDeleteItemsLiveRequest { + interface Raw { + items?: ItemsDeleteItemsLiveRequestItemsItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/client/requests/ItemsDeleteItemsRequest.ts b/src/serialization/resources/collections/resources/items/client/requests/ItemsDeleteItemsRequest.ts new file mode 100644 index 00000000..28d2785c --- /dev/null +++ b/src/serialization/resources/collections/resources/items/client/requests/ItemsDeleteItemsRequest.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../../index"; +import * as Webflow from "../../../../../../../api/index"; +import * as core from "../../../../../../../core"; +import { ItemsDeleteItemsRequestItemsItem } from "../../types/ItemsDeleteItemsRequestItemsItem"; + +export const ItemsDeleteItemsRequest: core.serialization.Schema< + serializers.collections.ItemsDeleteItemsRequest.Raw, + Webflow.collections.ItemsDeleteItemsRequest +> = core.serialization.object({ + items: core.serialization.list(ItemsDeleteItemsRequestItemsItem).optional(), +}); + +export declare namespace ItemsDeleteItemsRequest { + interface Raw { + items?: ItemsDeleteItemsRequestItemsItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/client/requests/ItemsUpdateItemLiveRequest.ts b/src/serialization/resources/collections/resources/items/client/requests/ItemsUpdateItemLiveRequest.ts new file mode 100644 index 00000000..91c789e1 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/client/requests/ItemsUpdateItemLiveRequest.ts @@ -0,0 +1,35 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../../index"; +import * as Webflow from "../../../../../../../api/index"; +import * as core from "../../../../../../../core"; +import { ItemsUpdateItemLiveRequestFieldData } from "../../types/ItemsUpdateItemLiveRequestFieldData"; + +export const ItemsUpdateItemLiveRequest: core.serialization.Schema< + serializers.collections.ItemsUpdateItemLiveRequest.Raw, + Webflow.collections.ItemsUpdateItemLiveRequest +> = core.serialization.object({ + id: core.serialization.string(), + cmsLocaleId: core.serialization.string().optional(), + lastPublished: core.serialization.string().optional(), + lastUpdated: core.serialization.string().optional(), + createdOn: core.serialization.string().optional(), + isArchived: core.serialization.boolean().optional(), + isDraft: core.serialization.boolean().optional(), + fieldData: ItemsUpdateItemLiveRequestFieldData.optional(), +}); + +export declare namespace ItemsUpdateItemLiveRequest { + interface Raw { + id: string; + cmsLocaleId?: string | null; + lastPublished?: string | null; + lastUpdated?: string | null; + createdOn?: string | null; + isArchived?: boolean | null; + isDraft?: boolean | null; + fieldData?: ItemsUpdateItemLiveRequestFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/client/requests/ItemsUpdateItemRequest.ts b/src/serialization/resources/collections/resources/items/client/requests/ItemsUpdateItemRequest.ts new file mode 100644 index 00000000..d48bc42b --- /dev/null +++ b/src/serialization/resources/collections/resources/items/client/requests/ItemsUpdateItemRequest.ts @@ -0,0 +1,35 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../../index"; +import * as Webflow from "../../../../../../../api/index"; +import * as core from "../../../../../../../core"; +import { ItemsUpdateItemRequestFieldData } from "../../types/ItemsUpdateItemRequestFieldData"; + +export const ItemsUpdateItemRequest: core.serialization.Schema< + serializers.collections.ItemsUpdateItemRequest.Raw, + Webflow.collections.ItemsUpdateItemRequest +> = core.serialization.object({ + id: core.serialization.string(), + cmsLocaleId: core.serialization.string().optional(), + lastPublished: core.serialization.string().optional(), + lastUpdated: core.serialization.string().optional(), + createdOn: core.serialization.string().optional(), + isArchived: core.serialization.boolean().optional(), + isDraft: core.serialization.boolean().optional(), + fieldData: ItemsUpdateItemRequestFieldData.optional(), +}); + +export declare namespace ItemsUpdateItemRequest { + interface Raw { + id: string; + cmsLocaleId?: string | null; + lastPublished?: string | null; + lastUpdated?: string | null; + createdOn?: string | null; + isArchived?: boolean | null; + isDraft?: boolean | null; + fieldData?: ItemsUpdateItemRequestFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/client/requests/ItemsUpdateItemsLiveRequest.ts b/src/serialization/resources/collections/resources/items/client/requests/ItemsUpdateItemsLiveRequest.ts new file mode 100644 index 00000000..f5c10db6 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/client/requests/ItemsUpdateItemsLiveRequest.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../../index"; +import * as Webflow from "../../../../../../../api/index"; +import * as core from "../../../../../../../core"; +import { ItemsUpdateItemsLiveRequestItemsItem } from "../../types/ItemsUpdateItemsLiveRequestItemsItem"; + +export const ItemsUpdateItemsLiveRequest: core.serialization.Schema< + serializers.collections.ItemsUpdateItemsLiveRequest.Raw, + Webflow.collections.ItemsUpdateItemsLiveRequest +> = core.serialization.object({ + items: core.serialization.list(ItemsUpdateItemsLiveRequestItemsItem).optional(), +}); + +export declare namespace ItemsUpdateItemsLiveRequest { + interface Raw { + items?: ItemsUpdateItemsLiveRequestItemsItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/client/requests/ItemsUpdateItemsRequest.ts b/src/serialization/resources/collections/resources/items/client/requests/ItemsUpdateItemsRequest.ts new file mode 100644 index 00000000..68cb0dc5 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/client/requests/ItemsUpdateItemsRequest.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../../index"; +import * as Webflow from "../../../../../../../api/index"; +import * as core from "../../../../../../../core"; +import { ItemsUpdateItemsRequestItemsItem } from "../../types/ItemsUpdateItemsRequestItemsItem"; + +export const ItemsUpdateItemsRequest: core.serialization.Schema< + serializers.collections.ItemsUpdateItemsRequest.Raw, + Webflow.collections.ItemsUpdateItemsRequest +> = core.serialization.object({ + items: core.serialization.list(ItemsUpdateItemsRequestItemsItem).optional(), +}); + +export declare namespace ItemsUpdateItemsRequest { + interface Raw { + items?: ItemsUpdateItemsRequestItemsItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/client/requests/index.ts b/src/serialization/resources/collections/resources/items/client/requests/index.ts index a1b783c7..72f6bb3f 100644 --- a/src/serialization/resources/collections/resources/items/client/requests/index.ts +++ b/src/serialization/resources/collections/resources/items/client/requests/index.ts @@ -1 +1,8 @@ +export { ItemsDeleteItemsRequest } from "./ItemsDeleteItemsRequest"; +export { ItemsUpdateItemsRequest } from "./ItemsUpdateItemsRequest"; +export { ItemsDeleteItemsLiveRequest } from "./ItemsDeleteItemsLiveRequest"; +export { ItemsUpdateItemsLiveRequest } from "./ItemsUpdateItemsLiveRequest"; +export { ItemsCreateItemsRequest } from "./ItemsCreateItemsRequest"; +export { ItemsUpdateItemRequest } from "./ItemsUpdateItemRequest"; +export { ItemsUpdateItemLiveRequest } from "./ItemsUpdateItemLiveRequest"; export { ItemsPublishItemRequest } from "./ItemsPublishItemRequest"; diff --git a/src/serialization/resources/collections/resources/items/types/ItemsCreateItemLiveRequest.ts b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemLiveRequest.ts new file mode 100644 index 00000000..9cf08da4 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemLiveRequest.ts @@ -0,0 +1,18 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ItemsCreateItemLiveRequestCmsLocaleId } from "./ItemsCreateItemLiveRequestCmsLocaleId"; +import { ItemsCreateItemLiveRequestItems } from "./ItemsCreateItemLiveRequestItems"; + +export const ItemsCreateItemLiveRequest: core.serialization.Schema< + serializers.collections.ItemsCreateItemLiveRequest.Raw, + Webflow.collections.ItemsCreateItemLiveRequest +> = core.serialization.undiscriminatedUnion([ItemsCreateItemLiveRequestCmsLocaleId, ItemsCreateItemLiveRequestItems]); + +export declare namespace ItemsCreateItemLiveRequest { + type Raw = ItemsCreateItemLiveRequestCmsLocaleId.Raw | ItemsCreateItemLiveRequestItems.Raw; +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsCreateItemLiveRequestCmsLocaleId.ts b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemLiveRequestCmsLocaleId.ts new file mode 100644 index 00000000..a3849aaf --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemLiveRequestCmsLocaleId.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ItemsCreateItemLiveRequestCmsLocaleIdFieldData } from "./ItemsCreateItemLiveRequestCmsLocaleIdFieldData"; + +export const ItemsCreateItemLiveRequestCmsLocaleId: core.serialization.ObjectSchema< + serializers.collections.ItemsCreateItemLiveRequestCmsLocaleId.Raw, + Webflow.collections.ItemsCreateItemLiveRequestCmsLocaleId +> = core.serialization.object({ + cmsLocaleId: core.serialization.string().optional(), + isArchived: core.serialization.boolean().optional(), + isDraft: core.serialization.boolean().optional(), + fieldData: ItemsCreateItemLiveRequestCmsLocaleIdFieldData.optional(), +}); + +export declare namespace ItemsCreateItemLiveRequestCmsLocaleId { + interface Raw { + cmsLocaleId?: string | null; + isArchived?: boolean | null; + isDraft?: boolean | null; + fieldData?: ItemsCreateItemLiveRequestCmsLocaleIdFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsCreateItemLiveRequestCmsLocaleIdFieldData.ts b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemLiveRequestCmsLocaleIdFieldData.ts new file mode 100644 index 00000000..64b11c5f --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemLiveRequestCmsLocaleIdFieldData.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ItemsCreateItemLiveRequestCmsLocaleIdFieldData: core.serialization.ObjectSchema< + serializers.collections.ItemsCreateItemLiveRequestCmsLocaleIdFieldData.Raw, + Webflow.collections.ItemsCreateItemLiveRequestCmsLocaleIdFieldData +> = core.serialization.object({ + name: core.serialization.string().optional(), + slug: core.serialization.string().optional(), +}); + +export declare namespace ItemsCreateItemLiveRequestCmsLocaleIdFieldData { + interface Raw { + name?: string | null; + slug?: string | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsCreateItemLiveRequestItems.ts b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemLiveRequestItems.ts new file mode 100644 index 00000000..8b21facb --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemLiveRequestItems.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ItemsCreateItemLiveRequestItemsItemsItem } from "./ItemsCreateItemLiveRequestItemsItemsItem"; + +export const ItemsCreateItemLiveRequestItems: core.serialization.ObjectSchema< + serializers.collections.ItemsCreateItemLiveRequestItems.Raw, + Webflow.collections.ItemsCreateItemLiveRequestItems +> = core.serialization.object({ + items: core.serialization.list(ItemsCreateItemLiveRequestItemsItemsItem).optional(), +}); + +export declare namespace ItemsCreateItemLiveRequestItems { + interface Raw { + items?: ItemsCreateItemLiveRequestItemsItemsItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsCreateItemLiveRequestItemsItemsItem.ts b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemLiveRequestItemsItemsItem.ts new file mode 100644 index 00000000..c11e2730 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemLiveRequestItemsItemsItem.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ItemsCreateItemLiveRequestItemsItemsItemFieldData } from "./ItemsCreateItemLiveRequestItemsItemsItemFieldData"; + +export const ItemsCreateItemLiveRequestItemsItemsItem: core.serialization.ObjectSchema< + serializers.collections.ItemsCreateItemLiveRequestItemsItemsItem.Raw, + Webflow.collections.ItemsCreateItemLiveRequestItemsItemsItem +> = core.serialization.object({ + cmsLocaleId: core.serialization.string().optional(), + isArchived: core.serialization.boolean().optional(), + isDraft: core.serialization.boolean().optional(), + fieldData: ItemsCreateItemLiveRequestItemsItemsItemFieldData.optional(), +}); + +export declare namespace ItemsCreateItemLiveRequestItemsItemsItem { + interface Raw { + cmsLocaleId?: string | null; + isArchived?: boolean | null; + isDraft?: boolean | null; + fieldData?: ItemsCreateItemLiveRequestItemsItemsItemFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsCreateItemLiveRequestItemsItemsItemFieldData.ts b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemLiveRequestItemsItemsItemFieldData.ts new file mode 100644 index 00000000..df896a13 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemLiveRequestItemsItemsItemFieldData.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ItemsCreateItemLiveRequestItemsItemsItemFieldData: core.serialization.ObjectSchema< + serializers.collections.ItemsCreateItemLiveRequestItemsItemsItemFieldData.Raw, + Webflow.collections.ItemsCreateItemLiveRequestItemsItemsItemFieldData +> = core.serialization.object({ + name: core.serialization.string().optional(), + slug: core.serialization.string().optional(), +}); + +export declare namespace ItemsCreateItemLiveRequestItemsItemsItemFieldData { + interface Raw { + name?: string | null; + slug?: string | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsCreateItemLiveResponse.ts b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemLiveResponse.ts new file mode 100644 index 00000000..a5e34482 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemLiveResponse.ts @@ -0,0 +1,35 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ItemsCreateItemLiveResponseFieldData } from "./ItemsCreateItemLiveResponseFieldData"; + +export const ItemsCreateItemLiveResponse: core.serialization.ObjectSchema< + serializers.collections.ItemsCreateItemLiveResponse.Raw, + Webflow.collections.ItemsCreateItemLiveResponse +> = core.serialization.object({ + id: core.serialization.string(), + cmsLocaleId: core.serialization.string().optional(), + lastPublished: core.serialization.string().optional(), + lastUpdated: core.serialization.string().optional(), + createdOn: core.serialization.string().optional(), + isArchived: core.serialization.boolean().optional(), + isDraft: core.serialization.boolean().optional(), + fieldData: ItemsCreateItemLiveResponseFieldData.optional(), +}); + +export declare namespace ItemsCreateItemLiveResponse { + interface Raw { + id: string; + cmsLocaleId?: string | null; + lastPublished?: string | null; + lastUpdated?: string | null; + createdOn?: string | null; + isArchived?: boolean | null; + isDraft?: boolean | null; + fieldData?: ItemsCreateItemLiveResponseFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsCreateItemLiveResponseFieldData.ts b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemLiveResponseFieldData.ts new file mode 100644 index 00000000..c6ecdb02 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemLiveResponseFieldData.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ItemsCreateItemLiveResponseFieldData: core.serialization.ObjectSchema< + serializers.collections.ItemsCreateItemLiveResponseFieldData.Raw, + Webflow.collections.ItemsCreateItemLiveResponseFieldData +> = core.serialization.object({ + name: core.serialization.string().optional(), + slug: core.serialization.string().optional(), +}); + +export declare namespace ItemsCreateItemLiveResponseFieldData { + interface Raw { + name?: string | null; + slug?: string | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsCreateItemRequest.ts b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemRequest.ts new file mode 100644 index 00000000..ff10abc9 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemRequest.ts @@ -0,0 +1,18 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ItemsCreateItemRequestCmsLocaleId } from "./ItemsCreateItemRequestCmsLocaleId"; +import { ItemsCreateItemRequestItems } from "./ItemsCreateItemRequestItems"; + +export const ItemsCreateItemRequest: core.serialization.Schema< + serializers.collections.ItemsCreateItemRequest.Raw, + Webflow.collections.ItemsCreateItemRequest +> = core.serialization.undiscriminatedUnion([ItemsCreateItemRequestCmsLocaleId, ItemsCreateItemRequestItems]); + +export declare namespace ItemsCreateItemRequest { + type Raw = ItemsCreateItemRequestCmsLocaleId.Raw | ItemsCreateItemRequestItems.Raw; +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsCreateItemRequestCmsLocaleId.ts b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemRequestCmsLocaleId.ts new file mode 100644 index 00000000..b1c907f0 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemRequestCmsLocaleId.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ItemsCreateItemRequestCmsLocaleIdFieldData } from "./ItemsCreateItemRequestCmsLocaleIdFieldData"; + +export const ItemsCreateItemRequestCmsLocaleId: core.serialization.ObjectSchema< + serializers.collections.ItemsCreateItemRequestCmsLocaleId.Raw, + Webflow.collections.ItemsCreateItemRequestCmsLocaleId +> = core.serialization.object({ + cmsLocaleId: core.serialization.string().optional(), + isArchived: core.serialization.boolean().optional(), + isDraft: core.serialization.boolean().optional(), + fieldData: ItemsCreateItemRequestCmsLocaleIdFieldData.optional(), +}); + +export declare namespace ItemsCreateItemRequestCmsLocaleId { + interface Raw { + cmsLocaleId?: string | null; + isArchived?: boolean | null; + isDraft?: boolean | null; + fieldData?: ItemsCreateItemRequestCmsLocaleIdFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsCreateItemRequestCmsLocaleIdFieldData.ts b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemRequestCmsLocaleIdFieldData.ts new file mode 100644 index 00000000..9cc5a215 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemRequestCmsLocaleIdFieldData.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ItemsCreateItemRequestCmsLocaleIdFieldData: core.serialization.ObjectSchema< + serializers.collections.ItemsCreateItemRequestCmsLocaleIdFieldData.Raw, + Webflow.collections.ItemsCreateItemRequestCmsLocaleIdFieldData +> = core.serialization.object({ + name: core.serialization.string().optional(), + slug: core.serialization.string().optional(), +}); + +export declare namespace ItemsCreateItemRequestCmsLocaleIdFieldData { + interface Raw { + name?: string | null; + slug?: string | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsCreateItemRequestItems.ts b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemRequestItems.ts new file mode 100644 index 00000000..bbf7f622 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemRequestItems.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ItemsCreateItemRequestItemsItemsItem } from "./ItemsCreateItemRequestItemsItemsItem"; + +export const ItemsCreateItemRequestItems: core.serialization.ObjectSchema< + serializers.collections.ItemsCreateItemRequestItems.Raw, + Webflow.collections.ItemsCreateItemRequestItems +> = core.serialization.object({ + items: core.serialization.list(ItemsCreateItemRequestItemsItemsItem).optional(), +}); + +export declare namespace ItemsCreateItemRequestItems { + interface Raw { + items?: ItemsCreateItemRequestItemsItemsItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsCreateItemRequestItemsItemsItem.ts b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemRequestItemsItemsItem.ts new file mode 100644 index 00000000..acbaee3f --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemRequestItemsItemsItem.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ItemsCreateItemRequestItemsItemsItemFieldData } from "./ItemsCreateItemRequestItemsItemsItemFieldData"; + +export const ItemsCreateItemRequestItemsItemsItem: core.serialization.ObjectSchema< + serializers.collections.ItemsCreateItemRequestItemsItemsItem.Raw, + Webflow.collections.ItemsCreateItemRequestItemsItemsItem +> = core.serialization.object({ + cmsLocaleId: core.serialization.string().optional(), + isArchived: core.serialization.boolean().optional(), + isDraft: core.serialization.boolean().optional(), + fieldData: ItemsCreateItemRequestItemsItemsItemFieldData.optional(), +}); + +export declare namespace ItemsCreateItemRequestItemsItemsItem { + interface Raw { + cmsLocaleId?: string | null; + isArchived?: boolean | null; + isDraft?: boolean | null; + fieldData?: ItemsCreateItemRequestItemsItemsItemFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsCreateItemRequestItemsItemsItemFieldData.ts b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemRequestItemsItemsItemFieldData.ts new file mode 100644 index 00000000..c412cc20 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemRequestItemsItemsItemFieldData.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ItemsCreateItemRequestItemsItemsItemFieldData: core.serialization.ObjectSchema< + serializers.collections.ItemsCreateItemRequestItemsItemsItemFieldData.Raw, + Webflow.collections.ItemsCreateItemRequestItemsItemsItemFieldData +> = core.serialization.object({ + name: core.serialization.string().optional(), + slug: core.serialization.string().optional(), +}); + +export declare namespace ItemsCreateItemRequestItemsItemsItemFieldData { + interface Raw { + name?: string | null; + slug?: string | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsCreateItemResponse.ts b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemResponse.ts new file mode 100644 index 00000000..ee375a62 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemResponse.ts @@ -0,0 +1,35 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ItemsCreateItemResponseFieldData } from "./ItemsCreateItemResponseFieldData"; + +export const ItemsCreateItemResponse: core.serialization.ObjectSchema< + serializers.collections.ItemsCreateItemResponse.Raw, + Webflow.collections.ItemsCreateItemResponse +> = core.serialization.object({ + id: core.serialization.string(), + cmsLocaleId: core.serialization.string().optional(), + lastPublished: core.serialization.string().optional(), + lastUpdated: core.serialization.string().optional(), + createdOn: core.serialization.string().optional(), + isArchived: core.serialization.boolean().optional(), + isDraft: core.serialization.boolean().optional(), + fieldData: ItemsCreateItemResponseFieldData.optional(), +}); + +export declare namespace ItemsCreateItemResponse { + interface Raw { + id: string; + cmsLocaleId?: string | null; + lastPublished?: string | null; + lastUpdated?: string | null; + createdOn?: string | null; + isArchived?: boolean | null; + isDraft?: boolean | null; + fieldData?: ItemsCreateItemResponseFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsCreateItemResponseFieldData.ts b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemResponseFieldData.ts new file mode 100644 index 00000000..db30b259 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemResponseFieldData.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ItemsCreateItemResponseFieldData: core.serialization.ObjectSchema< + serializers.collections.ItemsCreateItemResponseFieldData.Raw, + Webflow.collections.ItemsCreateItemResponseFieldData +> = core.serialization.object({ + name: core.serialization.string().optional(), + slug: core.serialization.string().optional(), +}); + +export declare namespace ItemsCreateItemResponseFieldData { + interface Raw { + name?: string | null; + slug?: string | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsCreateItemsRequestFieldData.ts b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemsRequestFieldData.ts new file mode 100644 index 00000000..26179488 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemsRequestFieldData.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ItemsCreateItemsRequestFieldDataName } from "./ItemsCreateItemsRequestFieldDataName"; +import { ItemsCreateItemsRequestFieldDataItem } from "./ItemsCreateItemsRequestFieldDataItem"; + +export const ItemsCreateItemsRequestFieldData: core.serialization.Schema< + serializers.collections.ItemsCreateItemsRequestFieldData.Raw, + Webflow.collections.ItemsCreateItemsRequestFieldData +> = core.serialization.undiscriminatedUnion([ + ItemsCreateItemsRequestFieldDataName, + core.serialization.list(ItemsCreateItemsRequestFieldDataItem), +]); + +export declare namespace ItemsCreateItemsRequestFieldData { + type Raw = ItemsCreateItemsRequestFieldDataName.Raw | ItemsCreateItemsRequestFieldDataItem.Raw[]; +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsCreateItemsRequestFieldDataItem.ts b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemsRequestFieldDataItem.ts new file mode 100644 index 00000000..14e6e023 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemsRequestFieldDataItem.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ItemsCreateItemsRequestFieldDataItem: core.serialization.ObjectSchema< + serializers.collections.ItemsCreateItemsRequestFieldDataItem.Raw, + Webflow.collections.ItemsCreateItemsRequestFieldDataItem +> = core.serialization.object({ + name: core.serialization.string(), + slug: core.serialization.string(), +}); + +export declare namespace ItemsCreateItemsRequestFieldDataItem { + interface Raw { + name: string; + slug: string; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsCreateItemsRequestFieldDataName.ts b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemsRequestFieldDataName.ts new file mode 100644 index 00000000..883df319 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemsRequestFieldDataName.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ItemsCreateItemsRequestFieldDataName: core.serialization.ObjectSchema< + serializers.collections.ItemsCreateItemsRequestFieldDataName.Raw, + Webflow.collections.ItemsCreateItemsRequestFieldDataName +> = core.serialization.object({ + name: core.serialization.string(), + slug: core.serialization.string(), +}); + +export declare namespace ItemsCreateItemsRequestFieldDataName { + interface Raw { + name: string; + slug: string; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsCreateItemsResponse.ts b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemsResponse.ts new file mode 100644 index 00000000..30ba2d1d --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemsResponse.ts @@ -0,0 +1,35 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ItemsCreateItemsResponseFieldData } from "./ItemsCreateItemsResponseFieldData"; + +export const ItemsCreateItemsResponse: core.serialization.ObjectSchema< + serializers.collections.ItemsCreateItemsResponse.Raw, + Webflow.collections.ItemsCreateItemsResponse +> = core.serialization.object({ + id: core.serialization.string(), + cmsLocaleIds: core.serialization.list(core.serialization.string()).optional(), + lastPublished: core.serialization.string().optional(), + lastUpdated: core.serialization.string().optional(), + createdOn: core.serialization.string().optional(), + isArchived: core.serialization.boolean().optional(), + isDraft: core.serialization.boolean().optional(), + fieldData: ItemsCreateItemsResponseFieldData.optional(), +}); + +export declare namespace ItemsCreateItemsResponse { + interface Raw { + id: string; + cmsLocaleIds?: string[] | null; + lastPublished?: string | null; + lastUpdated?: string | null; + createdOn?: string | null; + isArchived?: boolean | null; + isDraft?: boolean | null; + fieldData?: ItemsCreateItemsResponseFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsCreateItemsResponseFieldData.ts b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemsResponseFieldData.ts new file mode 100644 index 00000000..a1512286 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsCreateItemsResponseFieldData.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ItemsCreateItemsResponseFieldData: core.serialization.ObjectSchema< + serializers.collections.ItemsCreateItemsResponseFieldData.Raw, + Webflow.collections.ItemsCreateItemsResponseFieldData +> = core.serialization.object({ + name: core.serialization.string().optional(), + slug: core.serialization.string().optional(), +}); + +export declare namespace ItemsCreateItemsResponseFieldData { + interface Raw { + name?: string | null; + slug?: string | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsDeleteItemsLiveRequestItemsItem.ts b/src/serialization/resources/collections/resources/items/types/ItemsDeleteItemsLiveRequestItemsItem.ts new file mode 100644 index 00000000..5bb4a2da --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsDeleteItemsLiveRequestItemsItem.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ItemsDeleteItemsLiveRequestItemsItem: core.serialization.ObjectSchema< + serializers.collections.ItemsDeleteItemsLiveRequestItemsItem.Raw, + Webflow.collections.ItemsDeleteItemsLiveRequestItemsItem +> = core.serialization.object({ + itemId: core.serialization.string(), + cmsLocaleIds: core.serialization.list(core.serialization.string()).optional(), +}); + +export declare namespace ItemsDeleteItemsLiveRequestItemsItem { + interface Raw { + itemId: string; + cmsLocaleIds?: string[] | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsDeleteItemsRequestItemsItem.ts b/src/serialization/resources/collections/resources/items/types/ItemsDeleteItemsRequestItemsItem.ts new file mode 100644 index 00000000..523d0ca5 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsDeleteItemsRequestItemsItem.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ItemsDeleteItemsRequestItemsItem: core.serialization.ObjectSchema< + serializers.collections.ItemsDeleteItemsRequestItemsItem.Raw, + Webflow.collections.ItemsDeleteItemsRequestItemsItem +> = core.serialization.object({ + id: core.serialization.string(), + cmsLocaleIds: core.serialization.list(core.serialization.string()).optional(), +}); + +export declare namespace ItemsDeleteItemsRequestItemsItem { + interface Raw { + id: string; + cmsLocaleIds?: string[] | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsGetItemLiveResponse.ts b/src/serialization/resources/collections/resources/items/types/ItemsGetItemLiveResponse.ts new file mode 100644 index 00000000..03c11485 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsGetItemLiveResponse.ts @@ -0,0 +1,35 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ItemsGetItemLiveResponseFieldData } from "./ItemsGetItemLiveResponseFieldData"; + +export const ItemsGetItemLiveResponse: core.serialization.ObjectSchema< + serializers.collections.ItemsGetItemLiveResponse.Raw, + Webflow.collections.ItemsGetItemLiveResponse +> = core.serialization.object({ + id: core.serialization.string(), + cmsLocaleId: core.serialization.string().optional(), + lastPublished: core.serialization.string().optional(), + lastUpdated: core.serialization.string().optional(), + createdOn: core.serialization.string().optional(), + isArchived: core.serialization.boolean().optional(), + isDraft: core.serialization.boolean().optional(), + fieldData: ItemsGetItemLiveResponseFieldData.optional(), +}); + +export declare namespace ItemsGetItemLiveResponse { + interface Raw { + id: string; + cmsLocaleId?: string | null; + lastPublished?: string | null; + lastUpdated?: string | null; + createdOn?: string | null; + isArchived?: boolean | null; + isDraft?: boolean | null; + fieldData?: ItemsGetItemLiveResponseFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsGetItemLiveResponseFieldData.ts b/src/serialization/resources/collections/resources/items/types/ItemsGetItemLiveResponseFieldData.ts new file mode 100644 index 00000000..f32d2adf --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsGetItemLiveResponseFieldData.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ItemsGetItemLiveResponseFieldData: core.serialization.ObjectSchema< + serializers.collections.ItemsGetItemLiveResponseFieldData.Raw, + Webflow.collections.ItemsGetItemLiveResponseFieldData +> = core.serialization.object({ + name: core.serialization.string().optional(), + slug: core.serialization.string().optional(), +}); + +export declare namespace ItemsGetItemLiveResponseFieldData { + interface Raw { + name?: string | null; + slug?: string | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsGetItemResponse.ts b/src/serialization/resources/collections/resources/items/types/ItemsGetItemResponse.ts new file mode 100644 index 00000000..a36a8988 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsGetItemResponse.ts @@ -0,0 +1,35 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ItemsGetItemResponseFieldData } from "./ItemsGetItemResponseFieldData"; + +export const ItemsGetItemResponse: core.serialization.ObjectSchema< + serializers.collections.ItemsGetItemResponse.Raw, + Webflow.collections.ItemsGetItemResponse +> = core.serialization.object({ + id: core.serialization.string(), + cmsLocaleId: core.serialization.string().optional(), + lastPublished: core.serialization.string().optional(), + lastUpdated: core.serialization.string().optional(), + createdOn: core.serialization.string().optional(), + isArchived: core.serialization.boolean().optional(), + isDraft: core.serialization.boolean().optional(), + fieldData: ItemsGetItemResponseFieldData.optional(), +}); + +export declare namespace ItemsGetItemResponse { + interface Raw { + id: string; + cmsLocaleId?: string | null; + lastPublished?: string | null; + lastUpdated?: string | null; + createdOn?: string | null; + isArchived?: boolean | null; + isDraft?: boolean | null; + fieldData?: ItemsGetItemResponseFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsGetItemResponseFieldData.ts b/src/serialization/resources/collections/resources/items/types/ItemsGetItemResponseFieldData.ts new file mode 100644 index 00000000..f0a0e6df --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsGetItemResponseFieldData.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ItemsGetItemResponseFieldData: core.serialization.ObjectSchema< + serializers.collections.ItemsGetItemResponseFieldData.Raw, + Webflow.collections.ItemsGetItemResponseFieldData +> = core.serialization.object({ + name: core.serialization.string().optional(), + slug: core.serialization.string().optional(), +}); + +export declare namespace ItemsGetItemResponseFieldData { + interface Raw { + name?: string | null; + slug?: string | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsListItemsLiveResponse.ts b/src/serialization/resources/collections/resources/items/types/ItemsListItemsLiveResponse.ts new file mode 100644 index 00000000..6eaf0d88 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsListItemsLiveResponse.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ItemsListItemsLiveResponseItemsItem } from "./ItemsListItemsLiveResponseItemsItem"; +import { ItemsListItemsLiveResponsePagination } from "./ItemsListItemsLiveResponsePagination"; + +export const ItemsListItemsLiveResponse: core.serialization.ObjectSchema< + serializers.collections.ItemsListItemsLiveResponse.Raw, + Webflow.collections.ItemsListItemsLiveResponse +> = core.serialization.object({ + items: core.serialization.list(ItemsListItemsLiveResponseItemsItem).optional(), + pagination: ItemsListItemsLiveResponsePagination.optional(), +}); + +export declare namespace ItemsListItemsLiveResponse { + interface Raw { + items?: ItemsListItemsLiveResponseItemsItem.Raw[] | null; + pagination?: ItemsListItemsLiveResponsePagination.Raw | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsListItemsLiveResponseItemsItem.ts b/src/serialization/resources/collections/resources/items/types/ItemsListItemsLiveResponseItemsItem.ts new file mode 100644 index 00000000..ce0a54ff --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsListItemsLiveResponseItemsItem.ts @@ -0,0 +1,35 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ItemsListItemsLiveResponseItemsItemFieldData } from "./ItemsListItemsLiveResponseItemsItemFieldData"; + +export const ItemsListItemsLiveResponseItemsItem: core.serialization.ObjectSchema< + serializers.collections.ItemsListItemsLiveResponseItemsItem.Raw, + Webflow.collections.ItemsListItemsLiveResponseItemsItem +> = core.serialization.object({ + id: core.serialization.string(), + cmsLocaleId: core.serialization.string().optional(), + lastPublished: core.serialization.string().optional(), + lastUpdated: core.serialization.string().optional(), + createdOn: core.serialization.string().optional(), + isArchived: core.serialization.boolean().optional(), + isDraft: core.serialization.boolean().optional(), + fieldData: ItemsListItemsLiveResponseItemsItemFieldData.optional(), +}); + +export declare namespace ItemsListItemsLiveResponseItemsItem { + interface Raw { + id: string; + cmsLocaleId?: string | null; + lastPublished?: string | null; + lastUpdated?: string | null; + createdOn?: string | null; + isArchived?: boolean | null; + isDraft?: boolean | null; + fieldData?: ItemsListItemsLiveResponseItemsItemFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsListItemsLiveResponseItemsItemFieldData.ts b/src/serialization/resources/collections/resources/items/types/ItemsListItemsLiveResponseItemsItemFieldData.ts new file mode 100644 index 00000000..1bde4678 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsListItemsLiveResponseItemsItemFieldData.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ItemsListItemsLiveResponseItemsItemFieldData: core.serialization.ObjectSchema< + serializers.collections.ItemsListItemsLiveResponseItemsItemFieldData.Raw, + Webflow.collections.ItemsListItemsLiveResponseItemsItemFieldData +> = core.serialization.object({ + name: core.serialization.string().optional(), + slug: core.serialization.string().optional(), +}); + +export declare namespace ItemsListItemsLiveResponseItemsItemFieldData { + interface Raw { + name?: string | null; + slug?: string | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsListItemsLiveResponsePagination.ts b/src/serialization/resources/collections/resources/items/types/ItemsListItemsLiveResponsePagination.ts new file mode 100644 index 00000000..6e2c5590 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsListItemsLiveResponsePagination.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ItemsListItemsLiveResponsePagination: core.serialization.ObjectSchema< + serializers.collections.ItemsListItemsLiveResponsePagination.Raw, + Webflow.collections.ItemsListItemsLiveResponsePagination +> = core.serialization.object({ + limit: core.serialization.number().optional(), + offset: core.serialization.number().optional(), + total: core.serialization.number().optional(), +}); + +export declare namespace ItemsListItemsLiveResponsePagination { + interface Raw { + limit?: number | null; + offset?: number | null; + total?: number | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsListItemsResponse.ts b/src/serialization/resources/collections/resources/items/types/ItemsListItemsResponse.ts new file mode 100644 index 00000000..57a2f76c --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsListItemsResponse.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ItemsListItemsResponseItemsItem } from "./ItemsListItemsResponseItemsItem"; +import { ItemsListItemsResponsePagination } from "./ItemsListItemsResponsePagination"; + +export const ItemsListItemsResponse: core.serialization.ObjectSchema< + serializers.collections.ItemsListItemsResponse.Raw, + Webflow.collections.ItemsListItemsResponse +> = core.serialization.object({ + items: core.serialization.list(ItemsListItemsResponseItemsItem).optional(), + pagination: ItemsListItemsResponsePagination.optional(), +}); + +export declare namespace ItemsListItemsResponse { + interface Raw { + items?: ItemsListItemsResponseItemsItem.Raw[] | null; + pagination?: ItemsListItemsResponsePagination.Raw | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsListItemsResponseItemsItem.ts b/src/serialization/resources/collections/resources/items/types/ItemsListItemsResponseItemsItem.ts new file mode 100644 index 00000000..6e19835b --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsListItemsResponseItemsItem.ts @@ -0,0 +1,35 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ItemsListItemsResponseItemsItemFieldData } from "./ItemsListItemsResponseItemsItemFieldData"; + +export const ItemsListItemsResponseItemsItem: core.serialization.ObjectSchema< + serializers.collections.ItemsListItemsResponseItemsItem.Raw, + Webflow.collections.ItemsListItemsResponseItemsItem +> = core.serialization.object({ + id: core.serialization.string(), + cmsLocaleId: core.serialization.string().optional(), + lastPublished: core.serialization.string().optional(), + lastUpdated: core.serialization.string().optional(), + createdOn: core.serialization.string().optional(), + isArchived: core.serialization.boolean().optional(), + isDraft: core.serialization.boolean().optional(), + fieldData: ItemsListItemsResponseItemsItemFieldData.optional(), +}); + +export declare namespace ItemsListItemsResponseItemsItem { + interface Raw { + id: string; + cmsLocaleId?: string | null; + lastPublished?: string | null; + lastUpdated?: string | null; + createdOn?: string | null; + isArchived?: boolean | null; + isDraft?: boolean | null; + fieldData?: ItemsListItemsResponseItemsItemFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsListItemsResponseItemsItemFieldData.ts b/src/serialization/resources/collections/resources/items/types/ItemsListItemsResponseItemsItemFieldData.ts new file mode 100644 index 00000000..33f82293 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsListItemsResponseItemsItemFieldData.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ItemsListItemsResponseItemsItemFieldData: core.serialization.ObjectSchema< + serializers.collections.ItemsListItemsResponseItemsItemFieldData.Raw, + Webflow.collections.ItemsListItemsResponseItemsItemFieldData +> = core.serialization.object({ + name: core.serialization.string().optional(), + slug: core.serialization.string().optional(), +}); + +export declare namespace ItemsListItemsResponseItemsItemFieldData { + interface Raw { + name?: string | null; + slug?: string | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsListItemsResponsePagination.ts b/src/serialization/resources/collections/resources/items/types/ItemsListItemsResponsePagination.ts new file mode 100644 index 00000000..5403b782 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsListItemsResponsePagination.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ItemsListItemsResponsePagination: core.serialization.ObjectSchema< + serializers.collections.ItemsListItemsResponsePagination.Raw, + Webflow.collections.ItemsListItemsResponsePagination +> = core.serialization.object({ + limit: core.serialization.number().optional(), + offset: core.serialization.number().optional(), + total: core.serialization.number().optional(), +}); + +export declare namespace ItemsListItemsResponsePagination { + interface Raw { + limit?: number | null; + offset?: number | null; + total?: number | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemLiveRequestFieldData.ts b/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemLiveRequestFieldData.ts new file mode 100644 index 00000000..d0f3e08a --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemLiveRequestFieldData.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ItemsUpdateItemLiveRequestFieldData: core.serialization.ObjectSchema< + serializers.collections.ItemsUpdateItemLiveRequestFieldData.Raw, + Webflow.collections.ItemsUpdateItemLiveRequestFieldData +> = core.serialization.object({ + name: core.serialization.string().optional(), + slug: core.serialization.string().optional(), +}); + +export declare namespace ItemsUpdateItemLiveRequestFieldData { + interface Raw { + name?: string | null; + slug?: string | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemLiveResponse.ts b/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemLiveResponse.ts new file mode 100644 index 00000000..1ce8eb44 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemLiveResponse.ts @@ -0,0 +1,35 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ItemsUpdateItemLiveResponseFieldData } from "./ItemsUpdateItemLiveResponseFieldData"; + +export const ItemsUpdateItemLiveResponse: core.serialization.ObjectSchema< + serializers.collections.ItemsUpdateItemLiveResponse.Raw, + Webflow.collections.ItemsUpdateItemLiveResponse +> = core.serialization.object({ + id: core.serialization.string(), + cmsLocaleId: core.serialization.string().optional(), + lastPublished: core.serialization.string().optional(), + lastUpdated: core.serialization.string().optional(), + createdOn: core.serialization.string().optional(), + isArchived: core.serialization.boolean().optional(), + isDraft: core.serialization.boolean().optional(), + fieldData: ItemsUpdateItemLiveResponseFieldData.optional(), +}); + +export declare namespace ItemsUpdateItemLiveResponse { + interface Raw { + id: string; + cmsLocaleId?: string | null; + lastPublished?: string | null; + lastUpdated?: string | null; + createdOn?: string | null; + isArchived?: boolean | null; + isDraft?: boolean | null; + fieldData?: ItemsUpdateItemLiveResponseFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemLiveResponseFieldData.ts b/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemLiveResponseFieldData.ts new file mode 100644 index 00000000..773045bd --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemLiveResponseFieldData.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ItemsUpdateItemLiveResponseFieldData: core.serialization.ObjectSchema< + serializers.collections.ItemsUpdateItemLiveResponseFieldData.Raw, + Webflow.collections.ItemsUpdateItemLiveResponseFieldData +> = core.serialization.object({ + name: core.serialization.string().optional(), + slug: core.serialization.string().optional(), +}); + +export declare namespace ItemsUpdateItemLiveResponseFieldData { + interface Raw { + name?: string | null; + slug?: string | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemRequestFieldData.ts b/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemRequestFieldData.ts new file mode 100644 index 00000000..41e93841 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemRequestFieldData.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ItemsUpdateItemRequestFieldData: core.serialization.ObjectSchema< + serializers.collections.ItemsUpdateItemRequestFieldData.Raw, + Webflow.collections.ItemsUpdateItemRequestFieldData +> = core.serialization.object({ + name: core.serialization.string().optional(), + slug: core.serialization.string().optional(), +}); + +export declare namespace ItemsUpdateItemRequestFieldData { + interface Raw { + name?: string | null; + slug?: string | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemResponse.ts b/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemResponse.ts new file mode 100644 index 00000000..923f1f9a --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemResponse.ts @@ -0,0 +1,35 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ItemsUpdateItemResponseFieldData } from "./ItemsUpdateItemResponseFieldData"; + +export const ItemsUpdateItemResponse: core.serialization.ObjectSchema< + serializers.collections.ItemsUpdateItemResponse.Raw, + Webflow.collections.ItemsUpdateItemResponse +> = core.serialization.object({ + id: core.serialization.string(), + cmsLocaleId: core.serialization.string().optional(), + lastPublished: core.serialization.string().optional(), + lastUpdated: core.serialization.string().optional(), + createdOn: core.serialization.string().optional(), + isArchived: core.serialization.boolean().optional(), + isDraft: core.serialization.boolean().optional(), + fieldData: ItemsUpdateItemResponseFieldData.optional(), +}); + +export declare namespace ItemsUpdateItemResponse { + interface Raw { + id: string; + cmsLocaleId?: string | null; + lastPublished?: string | null; + lastUpdated?: string | null; + createdOn?: string | null; + isArchived?: boolean | null; + isDraft?: boolean | null; + fieldData?: ItemsUpdateItemResponseFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemResponseFieldData.ts b/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemResponseFieldData.ts new file mode 100644 index 00000000..50e3ef39 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemResponseFieldData.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ItemsUpdateItemResponseFieldData: core.serialization.ObjectSchema< + serializers.collections.ItemsUpdateItemResponseFieldData.Raw, + Webflow.collections.ItemsUpdateItemResponseFieldData +> = core.serialization.object({ + name: core.serialization.string().optional(), + slug: core.serialization.string().optional(), +}); + +export declare namespace ItemsUpdateItemResponseFieldData { + interface Raw { + name?: string | null; + slug?: string | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemsLiveRequestItemsItem.ts b/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemsLiveRequestItemsItem.ts new file mode 100644 index 00000000..3fb3a07a --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemsLiveRequestItemsItem.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ItemsUpdateItemsLiveRequestItemsItemFieldData } from "./ItemsUpdateItemsLiveRequestItemsItemFieldData"; + +export const ItemsUpdateItemsLiveRequestItemsItem: core.serialization.ObjectSchema< + serializers.collections.ItemsUpdateItemsLiveRequestItemsItem.Raw, + Webflow.collections.ItemsUpdateItemsLiveRequestItemsItem +> = core.serialization.object({ + id: core.serialization.string(), + cmsLocaleId: core.serialization.string().optional(), + isArchived: core.serialization.boolean().optional(), + isDraft: core.serialization.boolean().optional(), + fieldData: ItemsUpdateItemsLiveRequestItemsItemFieldData.optional(), +}); + +export declare namespace ItemsUpdateItemsLiveRequestItemsItem { + interface Raw { + id: string; + cmsLocaleId?: string | null; + isArchived?: boolean | null; + isDraft?: boolean | null; + fieldData?: ItemsUpdateItemsLiveRequestItemsItemFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemsLiveRequestItemsItemFieldData.ts b/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemsLiveRequestItemsItemFieldData.ts new file mode 100644 index 00000000..8d792de3 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemsLiveRequestItemsItemFieldData.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ItemsUpdateItemsLiveRequestItemsItemFieldData: core.serialization.ObjectSchema< + serializers.collections.ItemsUpdateItemsLiveRequestItemsItemFieldData.Raw, + Webflow.collections.ItemsUpdateItemsLiveRequestItemsItemFieldData +> = core.serialization.object({ + name: core.serialization.string().optional(), + slug: core.serialization.string().optional(), +}); + +export declare namespace ItemsUpdateItemsLiveRequestItemsItemFieldData { + interface Raw { + name?: string | null; + slug?: string | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemsLiveResponse.ts b/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemsLiveResponse.ts new file mode 100644 index 00000000..7fa68eb3 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemsLiveResponse.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ItemsUpdateItemsLiveResponseItemsItem } from "./ItemsUpdateItemsLiveResponseItemsItem"; + +export const ItemsUpdateItemsLiveResponse: core.serialization.ObjectSchema< + serializers.collections.ItemsUpdateItemsLiveResponse.Raw, + Webflow.collections.ItemsUpdateItemsLiveResponse +> = core.serialization.object({ + items: core.serialization.list(ItemsUpdateItemsLiveResponseItemsItem).optional(), +}); + +export declare namespace ItemsUpdateItemsLiveResponse { + interface Raw { + items?: ItemsUpdateItemsLiveResponseItemsItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemsLiveResponseItemsItem.ts b/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemsLiveResponseItemsItem.ts new file mode 100644 index 00000000..c6b981a2 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemsLiveResponseItemsItem.ts @@ -0,0 +1,35 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ItemsUpdateItemsLiveResponseItemsItemFieldData } from "./ItemsUpdateItemsLiveResponseItemsItemFieldData"; + +export const ItemsUpdateItemsLiveResponseItemsItem: core.serialization.ObjectSchema< + serializers.collections.ItemsUpdateItemsLiveResponseItemsItem.Raw, + Webflow.collections.ItemsUpdateItemsLiveResponseItemsItem +> = core.serialization.object({ + id: core.serialization.string(), + cmsLocaleId: core.serialization.string().optional(), + lastPublished: core.serialization.string().optional(), + lastUpdated: core.serialization.string().optional(), + createdOn: core.serialization.string().optional(), + isArchived: core.serialization.boolean().optional(), + isDraft: core.serialization.boolean().optional(), + fieldData: ItemsUpdateItemsLiveResponseItemsItemFieldData.optional(), +}); + +export declare namespace ItemsUpdateItemsLiveResponseItemsItem { + interface Raw { + id: string; + cmsLocaleId?: string | null; + lastPublished?: string | null; + lastUpdated?: string | null; + createdOn?: string | null; + isArchived?: boolean | null; + isDraft?: boolean | null; + fieldData?: ItemsUpdateItemsLiveResponseItemsItemFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemsLiveResponseItemsItemFieldData.ts b/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemsLiveResponseItemsItemFieldData.ts new file mode 100644 index 00000000..32201dab --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemsLiveResponseItemsItemFieldData.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ItemsUpdateItemsLiveResponseItemsItemFieldData: core.serialization.ObjectSchema< + serializers.collections.ItemsUpdateItemsLiveResponseItemsItemFieldData.Raw, + Webflow.collections.ItemsUpdateItemsLiveResponseItemsItemFieldData +> = core.serialization.object({ + name: core.serialization.string().optional(), + slug: core.serialization.string().optional(), +}); + +export declare namespace ItemsUpdateItemsLiveResponseItemsItemFieldData { + interface Raw { + name?: string | null; + slug?: string | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemsRequestItemsItem.ts b/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemsRequestItemsItem.ts new file mode 100644 index 00000000..aa54837e --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemsRequestItemsItem.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ItemsUpdateItemsRequestItemsItemFieldData } from "./ItemsUpdateItemsRequestItemsItemFieldData"; + +export const ItemsUpdateItemsRequestItemsItem: core.serialization.ObjectSchema< + serializers.collections.ItemsUpdateItemsRequestItemsItem.Raw, + Webflow.collections.ItemsUpdateItemsRequestItemsItem +> = core.serialization.object({ + id: core.serialization.string(), + cmsLocaleId: core.serialization.string().optional(), + isArchived: core.serialization.boolean().optional(), + isDraft: core.serialization.boolean().optional(), + fieldData: ItemsUpdateItemsRequestItemsItemFieldData.optional(), +}); + +export declare namespace ItemsUpdateItemsRequestItemsItem { + interface Raw { + id: string; + cmsLocaleId?: string | null; + isArchived?: boolean | null; + isDraft?: boolean | null; + fieldData?: ItemsUpdateItemsRequestItemsItemFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemsRequestItemsItemFieldData.ts b/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemsRequestItemsItemFieldData.ts new file mode 100644 index 00000000..759ed643 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemsRequestItemsItemFieldData.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ItemsUpdateItemsRequestItemsItemFieldData: core.serialization.ObjectSchema< + serializers.collections.ItemsUpdateItemsRequestItemsItemFieldData.Raw, + Webflow.collections.ItemsUpdateItemsRequestItemsItemFieldData +> = core.serialization.object({ + name: core.serialization.string().optional(), + slug: core.serialization.string().optional(), +}); + +export declare namespace ItemsUpdateItemsRequestItemsItemFieldData { + interface Raw { + name?: string | null; + slug?: string | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemsResponse.ts b/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemsResponse.ts new file mode 100644 index 00000000..a70a87e9 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemsResponse.ts @@ -0,0 +1,35 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ItemsUpdateItemsResponseFieldData } from "./ItemsUpdateItemsResponseFieldData"; + +export const ItemsUpdateItemsResponse: core.serialization.ObjectSchema< + serializers.collections.ItemsUpdateItemsResponse.Raw, + Webflow.collections.ItemsUpdateItemsResponse +> = core.serialization.object({ + id: core.serialization.string(), + cmsLocaleId: core.serialization.string().optional(), + lastPublished: core.serialization.string().optional(), + lastUpdated: core.serialization.string().optional(), + createdOn: core.serialization.string().optional(), + isArchived: core.serialization.boolean().optional(), + isDraft: core.serialization.boolean().optional(), + fieldData: ItemsUpdateItemsResponseFieldData.optional(), +}); + +export declare namespace ItemsUpdateItemsResponse { + interface Raw { + id: string; + cmsLocaleId?: string | null; + lastPublished?: string | null; + lastUpdated?: string | null; + createdOn?: string | null; + isArchived?: boolean | null; + isDraft?: boolean | null; + fieldData?: ItemsUpdateItemsResponseFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemsResponseFieldData.ts b/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemsResponseFieldData.ts new file mode 100644 index 00000000..7c6d7a03 --- /dev/null +++ b/src/serialization/resources/collections/resources/items/types/ItemsUpdateItemsResponseFieldData.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ItemsUpdateItemsResponseFieldData: core.serialization.ObjectSchema< + serializers.collections.ItemsUpdateItemsResponseFieldData.Raw, + Webflow.collections.ItemsUpdateItemsResponseFieldData +> = core.serialization.object({ + name: core.serialization.string().optional(), + slug: core.serialization.string().optional(), +}); + +export declare namespace ItemsUpdateItemsResponseFieldData { + interface Raw { + name?: string | null; + slug?: string | null; + } +} diff --git a/src/serialization/resources/collections/resources/items/types/index.ts b/src/serialization/resources/collections/resources/items/types/index.ts index dce8a6ed..3c4ac49b 100644 --- a/src/serialization/resources/collections/resources/items/types/index.ts +++ b/src/serialization/resources/collections/resources/items/types/index.ts @@ -1,5 +1,55 @@ export * from "./ItemsListItemsRequestSortBy"; export * from "./ItemsListItemsRequestSortOrder"; +export * from "./ItemsListItemsResponseItemsItemFieldData"; +export * from "./ItemsListItemsResponseItemsItem"; +export * from "./ItemsListItemsResponsePagination"; +export * from "./ItemsListItemsResponse"; +export * from "./ItemsCreateItemRequestCmsLocaleIdFieldData"; +export * from "./ItemsCreateItemRequestCmsLocaleId"; +export * from "./ItemsCreateItemRequestItemsItemsItemFieldData"; +export * from "./ItemsCreateItemRequestItemsItemsItem"; +export * from "./ItemsCreateItemRequestItems"; +export * from "./ItemsCreateItemRequest"; +export * from "./ItemsCreateItemResponseFieldData"; +export * from "./ItemsCreateItemResponse"; +export * from "./ItemsDeleteItemsRequestItemsItem"; +export * from "./ItemsUpdateItemsRequestItemsItemFieldData"; +export * from "./ItemsUpdateItemsRequestItemsItem"; +export * from "./ItemsUpdateItemsResponseFieldData"; +export * from "./ItemsUpdateItemsResponse"; export * from "./ItemsListItemsLiveRequestSortBy"; export * from "./ItemsListItemsLiveRequestSortOrder"; +export * from "./ItemsListItemsLiveResponseItemsItemFieldData"; +export * from "./ItemsListItemsLiveResponseItemsItem"; +export * from "./ItemsListItemsLiveResponsePagination"; +export * from "./ItemsListItemsLiveResponse"; +export * from "./ItemsCreateItemLiveRequestCmsLocaleIdFieldData"; +export * from "./ItemsCreateItemLiveRequestCmsLocaleId"; +export * from "./ItemsCreateItemLiveRequestItemsItemsItemFieldData"; +export * from "./ItemsCreateItemLiveRequestItemsItemsItem"; +export * from "./ItemsCreateItemLiveRequestItems"; +export * from "./ItemsCreateItemLiveRequest"; +export * from "./ItemsCreateItemLiveResponseFieldData"; +export * from "./ItemsCreateItemLiveResponse"; +export * from "./ItemsDeleteItemsLiveRequestItemsItem"; +export * from "./ItemsUpdateItemsLiveRequestItemsItemFieldData"; +export * from "./ItemsUpdateItemsLiveRequestItemsItem"; +export * from "./ItemsUpdateItemsLiveResponseItemsItemFieldData"; +export * from "./ItemsUpdateItemsLiveResponseItemsItem"; +export * from "./ItemsUpdateItemsLiveResponse"; +export * from "./ItemsCreateItemsRequestFieldDataName"; +export * from "./ItemsCreateItemsRequestFieldDataItem"; +export * from "./ItemsCreateItemsRequestFieldData"; +export * from "./ItemsCreateItemsResponseFieldData"; +export * from "./ItemsCreateItemsResponse"; +export * from "./ItemsGetItemResponseFieldData"; +export * from "./ItemsGetItemResponse"; +export * from "./ItemsUpdateItemRequestFieldData"; +export * from "./ItemsUpdateItemResponseFieldData"; +export * from "./ItemsUpdateItemResponse"; +export * from "./ItemsGetItemLiveResponseFieldData"; +export * from "./ItemsGetItemLiveResponse"; +export * from "./ItemsUpdateItemLiveRequestFieldData"; +export * from "./ItemsUpdateItemLiveResponseFieldData"; +export * from "./ItemsUpdateItemLiveResponse"; export * from "./ItemsPublishItemResponse"; diff --git a/src/serialization/resources/collections/types/CollectionsCreateResponse.ts b/src/serialization/resources/collections/types/CollectionsCreateResponse.ts new file mode 100644 index 00000000..d6b47dbc --- /dev/null +++ b/src/serialization/resources/collections/types/CollectionsCreateResponse.ts @@ -0,0 +1,33 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { CollectionsCreateResponseFieldsItem } from "./CollectionsCreateResponseFieldsItem"; + +export const CollectionsCreateResponse: core.serialization.ObjectSchema< + serializers.CollectionsCreateResponse.Raw, + Webflow.CollectionsCreateResponse +> = core.serialization.object({ + id: core.serialization.string(), + displayName: core.serialization.string().optional(), + singularName: core.serialization.string().optional(), + slug: core.serialization.string().optional(), + createdOn: core.serialization.date().optional(), + lastUpdated: core.serialization.date().optional(), + fields: core.serialization.list(CollectionsCreateResponseFieldsItem), +}); + +export declare namespace CollectionsCreateResponse { + interface Raw { + id: string; + displayName?: string | null; + singularName?: string | null; + slug?: string | null; + createdOn?: string | null; + lastUpdated?: string | null; + fields: CollectionsCreateResponseFieldsItem.Raw[]; + } +} diff --git a/src/serialization/resources/collections/types/CollectionsCreateResponseFieldsItem.ts b/src/serialization/resources/collections/types/CollectionsCreateResponseFieldsItem.ts new file mode 100644 index 00000000..2b9f9b17 --- /dev/null +++ b/src/serialization/resources/collections/types/CollectionsCreateResponseFieldsItem.ts @@ -0,0 +1,33 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { CollectionsCreateResponseFieldsItemType } from "./CollectionsCreateResponseFieldsItemType"; + +export const CollectionsCreateResponseFieldsItem: core.serialization.ObjectSchema< + serializers.CollectionsCreateResponseFieldsItem.Raw, + Webflow.CollectionsCreateResponseFieldsItem +> = core.serialization.object({ + id: core.serialization.string(), + isRequired: core.serialization.boolean(), + isEditable: core.serialization.boolean().optional(), + type: CollectionsCreateResponseFieldsItemType, + slug: core.serialization.string().optional(), + displayName: core.serialization.string(), + helpText: core.serialization.string().optional(), +}); + +export declare namespace CollectionsCreateResponseFieldsItem { + interface Raw { + id: string; + isRequired: boolean; + isEditable?: boolean | null; + type: CollectionsCreateResponseFieldsItemType.Raw; + slug?: string | null; + displayName: string; + helpText?: string | null; + } +} diff --git a/src/serialization/resources/collections/types/CollectionsCreateResponseFieldsItemType.ts b/src/serialization/resources/collections/types/CollectionsCreateResponseFieldsItemType.ts new file mode 100644 index 00000000..3e1dcfb1 --- /dev/null +++ b/src/serialization/resources/collections/types/CollectionsCreateResponseFieldsItemType.ts @@ -0,0 +1,43 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const CollectionsCreateResponseFieldsItemType: core.serialization.Schema< + serializers.CollectionsCreateResponseFieldsItemType.Raw, + Webflow.CollectionsCreateResponseFieldsItemType +> = core.serialization.enum_([ + "PlainText", + "RichText", + "Image", + "MultiImage", + "Video", + "Link", + "Email", + "Phone", + "Number", + "DateTime", + "Switch", + "Color", + "ExtFileRef", +]); + +export declare namespace CollectionsCreateResponseFieldsItemType { + type Raw = + | "PlainText" + | "RichText" + | "Image" + | "MultiImage" + | "Video" + | "Link" + | "Email" + | "Phone" + | "Number" + | "DateTime" + | "Switch" + | "Color" + | "ExtFileRef"; +} diff --git a/src/serialization/resources/collections/types/CollectionsGetResponse.ts b/src/serialization/resources/collections/types/CollectionsGetResponse.ts new file mode 100644 index 00000000..bfff7861 --- /dev/null +++ b/src/serialization/resources/collections/types/CollectionsGetResponse.ts @@ -0,0 +1,33 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { CollectionsGetResponseFieldsItem } from "./CollectionsGetResponseFieldsItem"; + +export const CollectionsGetResponse: core.serialization.ObjectSchema< + serializers.CollectionsGetResponse.Raw, + Webflow.CollectionsGetResponse +> = core.serialization.object({ + id: core.serialization.string(), + displayName: core.serialization.string().optional(), + singularName: core.serialization.string().optional(), + slug: core.serialization.string().optional(), + createdOn: core.serialization.date().optional(), + lastUpdated: core.serialization.date().optional(), + fields: core.serialization.list(CollectionsGetResponseFieldsItem), +}); + +export declare namespace CollectionsGetResponse { + interface Raw { + id: string; + displayName?: string | null; + singularName?: string | null; + slug?: string | null; + createdOn?: string | null; + lastUpdated?: string | null; + fields: CollectionsGetResponseFieldsItem.Raw[]; + } +} diff --git a/src/serialization/resources/collections/types/CollectionsGetResponseFieldsItem.ts b/src/serialization/resources/collections/types/CollectionsGetResponseFieldsItem.ts new file mode 100644 index 00000000..f2990d5e --- /dev/null +++ b/src/serialization/resources/collections/types/CollectionsGetResponseFieldsItem.ts @@ -0,0 +1,33 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { CollectionsGetResponseFieldsItemType } from "./CollectionsGetResponseFieldsItemType"; + +export const CollectionsGetResponseFieldsItem: core.serialization.ObjectSchema< + serializers.CollectionsGetResponseFieldsItem.Raw, + Webflow.CollectionsGetResponseFieldsItem +> = core.serialization.object({ + id: core.serialization.string(), + isRequired: core.serialization.boolean(), + isEditable: core.serialization.boolean().optional(), + type: CollectionsGetResponseFieldsItemType, + slug: core.serialization.string().optional(), + displayName: core.serialization.string(), + helpText: core.serialization.string().optional(), +}); + +export declare namespace CollectionsGetResponseFieldsItem { + interface Raw { + id: string; + isRequired: boolean; + isEditable?: boolean | null; + type: CollectionsGetResponseFieldsItemType.Raw; + slug?: string | null; + displayName: string; + helpText?: string | null; + } +} diff --git a/src/serialization/resources/collections/types/CollectionsGetResponseFieldsItemType.ts b/src/serialization/resources/collections/types/CollectionsGetResponseFieldsItemType.ts new file mode 100644 index 00000000..82827747 --- /dev/null +++ b/src/serialization/resources/collections/types/CollectionsGetResponseFieldsItemType.ts @@ -0,0 +1,43 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const CollectionsGetResponseFieldsItemType: core.serialization.Schema< + serializers.CollectionsGetResponseFieldsItemType.Raw, + Webflow.CollectionsGetResponseFieldsItemType +> = core.serialization.enum_([ + "PlainText", + "RichText", + "Image", + "MultiImage", + "Video", + "Link", + "Email", + "Phone", + "Number", + "DateTime", + "Switch", + "Color", + "ExtFileRef", +]); + +export declare namespace CollectionsGetResponseFieldsItemType { + type Raw = + | "PlainText" + | "RichText" + | "Image" + | "MultiImage" + | "Video" + | "Link" + | "Email" + | "Phone" + | "Number" + | "DateTime" + | "Switch" + | "Color" + | "ExtFileRef"; +} diff --git a/src/serialization/resources/collections/types/CollectionsListResponse.ts b/src/serialization/resources/collections/types/CollectionsListResponse.ts new file mode 100644 index 00000000..a2f683b4 --- /dev/null +++ b/src/serialization/resources/collections/types/CollectionsListResponse.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { CollectionsListResponseCollectionsItem } from "./CollectionsListResponseCollectionsItem"; + +export const CollectionsListResponse: core.serialization.ObjectSchema< + serializers.CollectionsListResponse.Raw, + Webflow.CollectionsListResponse +> = core.serialization.object({ + collections: core.serialization.list(CollectionsListResponseCollectionsItem).optional(), +}); + +export declare namespace CollectionsListResponse { + interface Raw { + collections?: CollectionsListResponseCollectionsItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/collections/types/CollectionsListResponseCollectionsItem.ts b/src/serialization/resources/collections/types/CollectionsListResponseCollectionsItem.ts new file mode 100644 index 00000000..67e31acd --- /dev/null +++ b/src/serialization/resources/collections/types/CollectionsListResponseCollectionsItem.ts @@ -0,0 +1,30 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const CollectionsListResponseCollectionsItem: core.serialization.ObjectSchema< + serializers.CollectionsListResponseCollectionsItem.Raw, + Webflow.CollectionsListResponseCollectionsItem +> = core.serialization.object({ + id: core.serialization.string(), + displayName: core.serialization.string().optional(), + singularName: core.serialization.string().optional(), + slug: core.serialization.string().optional(), + createdOn: core.serialization.date().optional(), + lastUpdated: core.serialization.date().optional(), +}); + +export declare namespace CollectionsListResponseCollectionsItem { + interface Raw { + id: string; + displayName?: string | null; + singularName?: string | null; + slug?: string | null; + createdOn?: string | null; + lastUpdated?: string | null; + } +} diff --git a/src/serialization/resources/collections/types/index.ts b/src/serialization/resources/collections/types/index.ts new file mode 100644 index 00000000..c47d4156 --- /dev/null +++ b/src/serialization/resources/collections/types/index.ts @@ -0,0 +1,8 @@ +export * from "./CollectionsListResponseCollectionsItem"; +export * from "./CollectionsListResponse"; +export * from "./CollectionsCreateResponseFieldsItemType"; +export * from "./CollectionsCreateResponseFieldsItem"; +export * from "./CollectionsCreateResponse"; +export * from "./CollectionsGetResponseFieldsItemType"; +export * from "./CollectionsGetResponseFieldsItem"; +export * from "./CollectionsGetResponse"; diff --git a/src/serialization/resources/ecommerce/index.ts b/src/serialization/resources/ecommerce/index.ts new file mode 100644 index 00000000..eea524d6 --- /dev/null +++ b/src/serialization/resources/ecommerce/index.ts @@ -0,0 +1 @@ +export * from "./types"; diff --git a/src/serialization/resources/ecommerce/types/EcommerceGetSettingsResponse.ts b/src/serialization/resources/ecommerce/types/EcommerceGetSettingsResponse.ts new file mode 100644 index 00000000..8bf2c5ae --- /dev/null +++ b/src/serialization/resources/ecommerce/types/EcommerceGetSettingsResponse.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommerceGetSettingsResponse: core.serialization.ObjectSchema< + serializers.EcommerceGetSettingsResponse.Raw, + Webflow.EcommerceGetSettingsResponse +> = core.serialization.object({ + siteId: core.serialization.string().optional(), + createdOn: core.serialization.date().optional(), + defaultCurrency: core.serialization.string().optional(), +}); + +export declare namespace EcommerceGetSettingsResponse { + interface Raw { + siteId?: string | null; + createdOn?: string | null; + defaultCurrency?: string | null; + } +} diff --git a/src/serialization/resources/ecommerce/types/index.ts b/src/serialization/resources/ecommerce/types/index.ts new file mode 100644 index 00000000..032539c9 --- /dev/null +++ b/src/serialization/resources/ecommerce/types/index.ts @@ -0,0 +1 @@ +export * from "./EcommerceGetSettingsResponse"; diff --git a/src/serialization/resources/forms/index.ts b/src/serialization/resources/forms/index.ts index 5ec76921..c9240f83 100644 --- a/src/serialization/resources/forms/index.ts +++ b/src/serialization/resources/forms/index.ts @@ -1 +1,2 @@ +export * from "./types"; export * from "./client"; diff --git a/src/serialization/resources/forms/types/FormSubmissionPayload.ts b/src/serialization/resources/forms/types/FormSubmissionPayload.ts new file mode 100644 index 00000000..692da4f0 --- /dev/null +++ b/src/serialization/resources/forms/types/FormSubmissionPayload.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { FormSubmissionPayloadPayload } from "./FormSubmissionPayloadPayload"; + +export const FormSubmissionPayload: core.serialization.ObjectSchema< + serializers.FormSubmissionPayload.Raw, + Webflow.FormSubmissionPayload +> = core.serialization.object({ + triggerType: core.serialization.string().optional(), + payload: FormSubmissionPayloadPayload.optional(), +}); + +export declare namespace FormSubmissionPayload { + interface Raw { + triggerType?: string | null; + payload?: FormSubmissionPayloadPayload.Raw | null; + } +} diff --git a/src/serialization/resources/forms/types/FormSubmissionPayloadPayload.ts b/src/serialization/resources/forms/types/FormSubmissionPayloadPayload.ts new file mode 100644 index 00000000..6cee3a31 --- /dev/null +++ b/src/serialization/resources/forms/types/FormSubmissionPayloadPayload.ts @@ -0,0 +1,34 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const FormSubmissionPayloadPayload: core.serialization.ObjectSchema< + serializers.FormSubmissionPayloadPayload.Raw, + Webflow.FormSubmissionPayloadPayload +> = core.serialization.object({ + name: core.serialization.string().optional(), + siteId: core.serialization.string().optional(), + data: core.serialization.record(core.serialization.string(), core.serialization.unknown()).optional(), + schema: core.serialization.list(core.serialization.unknown()).optional(), + submittedAt: core.serialization.string().optional(), + id: core.serialization.string().optional(), + formId: core.serialization.string().optional(), + formElementId: core.serialization.string().optional(), +}); + +export declare namespace FormSubmissionPayloadPayload { + interface Raw { + name?: string | null; + siteId?: string | null; + data?: Record | null; + schema?: unknown[] | null; + submittedAt?: string | null; + id?: string | null; + formId?: string | null; + formElementId?: string | null; + } +} diff --git a/src/serialization/resources/forms/types/FormsGetResponse.ts b/src/serialization/resources/forms/types/FormsGetResponse.ts new file mode 100644 index 00000000..9b4db8de --- /dev/null +++ b/src/serialization/resources/forms/types/FormsGetResponse.ts @@ -0,0 +1,44 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { FormsGetResponseFieldsValue } from "./FormsGetResponseFieldsValue"; +import { FormsGetResponseResponseSettings } from "./FormsGetResponseResponseSettings"; + +export const FormsGetResponse: core.serialization.ObjectSchema< + serializers.FormsGetResponse.Raw, + Webflow.FormsGetResponse +> = core.serialization.object({ + displayName: core.serialization.string().optional(), + createdOn: core.serialization.date().optional(), + lastUpdated: core.serialization.date().optional(), + fields: core.serialization.record(core.serialization.string(), FormsGetResponseFieldsValue).optional(), + responseSettings: FormsGetResponseResponseSettings.optional(), + id: core.serialization.string().optional(), + siteId: core.serialization.string().optional(), + siteDomainId: core.serialization.string().optional(), + pageId: core.serialization.string().optional(), + pageName: core.serialization.string().optional(), + formElementId: core.serialization.string().optional(), + workspaceId: core.serialization.string().optional(), +}); + +export declare namespace FormsGetResponse { + interface Raw { + displayName?: string | null; + createdOn?: string | null; + lastUpdated?: string | null; + fields?: Record | null; + responseSettings?: FormsGetResponseResponseSettings.Raw | null; + id?: string | null; + siteId?: string | null; + siteDomainId?: string | null; + pageId?: string | null; + pageName?: string | null; + formElementId?: string | null; + workspaceId?: string | null; + } +} diff --git a/src/serialization/resources/forms/types/FormsGetResponseFieldsValue.ts b/src/serialization/resources/forms/types/FormsGetResponseFieldsValue.ts new file mode 100644 index 00000000..c0124ec8 --- /dev/null +++ b/src/serialization/resources/forms/types/FormsGetResponseFieldsValue.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { FormsGetResponseFieldsValueType } from "./FormsGetResponseFieldsValueType"; + +export const FormsGetResponseFieldsValue: core.serialization.ObjectSchema< + serializers.FormsGetResponseFieldsValue.Raw, + Webflow.FormsGetResponseFieldsValue +> = core.serialization.object({ + displayName: core.serialization.string().optional(), + type: FormsGetResponseFieldsValueType.optional(), + placeholder: core.serialization.string().optional(), + userVisible: core.serialization.boolean().optional(), +}); + +export declare namespace FormsGetResponseFieldsValue { + interface Raw { + displayName?: string | null; + type?: FormsGetResponseFieldsValueType.Raw | null; + placeholder?: string | null; + userVisible?: boolean | null; + } +} diff --git a/src/serialization/resources/forms/types/FormsGetResponseFieldsValueType.ts b/src/serialization/resources/forms/types/FormsGetResponseFieldsValueType.ts new file mode 100644 index 00000000..760c5a39 --- /dev/null +++ b/src/serialization/resources/forms/types/FormsGetResponseFieldsValueType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const FormsGetResponseFieldsValueType: core.serialization.Schema< + serializers.FormsGetResponseFieldsValueType.Raw, + Webflow.FormsGetResponseFieldsValueType +> = core.serialization.enum_(["Plain", "Email", "Password", "Phone", "Number"]); + +export declare namespace FormsGetResponseFieldsValueType { + type Raw = "Plain" | "Email" | "Password" | "Phone" | "Number"; +} diff --git a/src/serialization/resources/forms/types/FormsGetResponseResponseSettings.ts b/src/serialization/resources/forms/types/FormsGetResponseResponseSettings.ts new file mode 100644 index 00000000..68d01b99 --- /dev/null +++ b/src/serialization/resources/forms/types/FormsGetResponseResponseSettings.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const FormsGetResponseResponseSettings: core.serialization.ObjectSchema< + serializers.FormsGetResponseResponseSettings.Raw, + Webflow.FormsGetResponseResponseSettings +> = core.serialization.object({ + redirectUrl: core.serialization.string().optional(), + redirectMethod: core.serialization.string().optional(), + redirectAction: core.serialization.string().optional(), + sendEmailConfirmation: core.serialization.boolean().optional(), +}); + +export declare namespace FormsGetResponseResponseSettings { + interface Raw { + redirectUrl?: string | null; + redirectMethod?: string | null; + redirectAction?: string | null; + sendEmailConfirmation?: boolean | null; + } +} diff --git a/src/serialization/resources/forms/types/FormsGetSubmissionResponse.ts b/src/serialization/resources/forms/types/FormsGetSubmissionResponse.ts new file mode 100644 index 00000000..098bb693 --- /dev/null +++ b/src/serialization/resources/forms/types/FormsGetSubmissionResponse.ts @@ -0,0 +1,30 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const FormsGetSubmissionResponse: core.serialization.ObjectSchema< + serializers.FormsGetSubmissionResponse.Raw, + Webflow.FormsGetSubmissionResponse +> = core.serialization.object({ + id: core.serialization.string().optional(), + displayName: core.serialization.string().optional(), + siteId: core.serialization.string().optional(), + workspaceId: core.serialization.string().optional(), + dateSubmitted: core.serialization.date().optional(), + formResponse: core.serialization.record(core.serialization.string(), core.serialization.unknown()).optional(), +}); + +export declare namespace FormsGetSubmissionResponse { + interface Raw { + id?: string | null; + displayName?: string | null; + siteId?: string | null; + workspaceId?: string | null; + dateSubmitted?: string | null; + formResponse?: Record | null; + } +} diff --git a/src/serialization/resources/forms/types/FormsListResponse.ts b/src/serialization/resources/forms/types/FormsListResponse.ts new file mode 100644 index 00000000..b0e80c7f --- /dev/null +++ b/src/serialization/resources/forms/types/FormsListResponse.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { FormsListResponseFormsItem } from "./FormsListResponseFormsItem"; +import { FormsListResponsePagination } from "./FormsListResponsePagination"; + +export const FormsListResponse: core.serialization.ObjectSchema< + serializers.FormsListResponse.Raw, + Webflow.FormsListResponse +> = core.serialization.object({ + forms: core.serialization.list(FormsListResponseFormsItem).optional(), + pagination: FormsListResponsePagination.optional(), +}); + +export declare namespace FormsListResponse { + interface Raw { + forms?: FormsListResponseFormsItem.Raw[] | null; + pagination?: FormsListResponsePagination.Raw | null; + } +} diff --git a/src/serialization/resources/forms/types/FormsListResponseFormsItem.ts b/src/serialization/resources/forms/types/FormsListResponseFormsItem.ts new file mode 100644 index 00000000..13a3e583 --- /dev/null +++ b/src/serialization/resources/forms/types/FormsListResponseFormsItem.ts @@ -0,0 +1,44 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { FormsListResponseFormsItemFieldsValue } from "./FormsListResponseFormsItemFieldsValue"; +import { FormsListResponseFormsItemResponseSettings } from "./FormsListResponseFormsItemResponseSettings"; + +export const FormsListResponseFormsItem: core.serialization.ObjectSchema< + serializers.FormsListResponseFormsItem.Raw, + Webflow.FormsListResponseFormsItem +> = core.serialization.object({ + displayName: core.serialization.string().optional(), + createdOn: core.serialization.date().optional(), + lastUpdated: core.serialization.date().optional(), + fields: core.serialization.record(core.serialization.string(), FormsListResponseFormsItemFieldsValue).optional(), + responseSettings: FormsListResponseFormsItemResponseSettings.optional(), + id: core.serialization.string().optional(), + siteId: core.serialization.string().optional(), + siteDomainId: core.serialization.string().optional(), + pageId: core.serialization.string().optional(), + pageName: core.serialization.string().optional(), + formElementId: core.serialization.string().optional(), + workspaceId: core.serialization.string().optional(), +}); + +export declare namespace FormsListResponseFormsItem { + interface Raw { + displayName?: string | null; + createdOn?: string | null; + lastUpdated?: string | null; + fields?: Record | null; + responseSettings?: FormsListResponseFormsItemResponseSettings.Raw | null; + id?: string | null; + siteId?: string | null; + siteDomainId?: string | null; + pageId?: string | null; + pageName?: string | null; + formElementId?: string | null; + workspaceId?: string | null; + } +} diff --git a/src/serialization/resources/forms/types/FormsListResponseFormsItemFieldsValue.ts b/src/serialization/resources/forms/types/FormsListResponseFormsItemFieldsValue.ts new file mode 100644 index 00000000..1c652221 --- /dev/null +++ b/src/serialization/resources/forms/types/FormsListResponseFormsItemFieldsValue.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { FormsListResponseFormsItemFieldsValueType } from "./FormsListResponseFormsItemFieldsValueType"; + +export const FormsListResponseFormsItemFieldsValue: core.serialization.ObjectSchema< + serializers.FormsListResponseFormsItemFieldsValue.Raw, + Webflow.FormsListResponseFormsItemFieldsValue +> = core.serialization.object({ + displayName: core.serialization.string().optional(), + type: FormsListResponseFormsItemFieldsValueType.optional(), + placeholder: core.serialization.string().optional(), + userVisible: core.serialization.boolean().optional(), +}); + +export declare namespace FormsListResponseFormsItemFieldsValue { + interface Raw { + displayName?: string | null; + type?: FormsListResponseFormsItemFieldsValueType.Raw | null; + placeholder?: string | null; + userVisible?: boolean | null; + } +} diff --git a/src/serialization/resources/forms/types/FormsListResponseFormsItemFieldsValueType.ts b/src/serialization/resources/forms/types/FormsListResponseFormsItemFieldsValueType.ts new file mode 100644 index 00000000..1478ccbc --- /dev/null +++ b/src/serialization/resources/forms/types/FormsListResponseFormsItemFieldsValueType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const FormsListResponseFormsItemFieldsValueType: core.serialization.Schema< + serializers.FormsListResponseFormsItemFieldsValueType.Raw, + Webflow.FormsListResponseFormsItemFieldsValueType +> = core.serialization.enum_(["Plain", "Email", "Password", "Phone", "Number"]); + +export declare namespace FormsListResponseFormsItemFieldsValueType { + type Raw = "Plain" | "Email" | "Password" | "Phone" | "Number"; +} diff --git a/src/serialization/resources/forms/types/FormsListResponseFormsItemResponseSettings.ts b/src/serialization/resources/forms/types/FormsListResponseFormsItemResponseSettings.ts new file mode 100644 index 00000000..b2837ecd --- /dev/null +++ b/src/serialization/resources/forms/types/FormsListResponseFormsItemResponseSettings.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const FormsListResponseFormsItemResponseSettings: core.serialization.ObjectSchema< + serializers.FormsListResponseFormsItemResponseSettings.Raw, + Webflow.FormsListResponseFormsItemResponseSettings +> = core.serialization.object({ + redirectUrl: core.serialization.string().optional(), + redirectMethod: core.serialization.string().optional(), + redirectAction: core.serialization.string().optional(), + sendEmailConfirmation: core.serialization.boolean().optional(), +}); + +export declare namespace FormsListResponseFormsItemResponseSettings { + interface Raw { + redirectUrl?: string | null; + redirectMethod?: string | null; + redirectAction?: string | null; + sendEmailConfirmation?: boolean | null; + } +} diff --git a/src/serialization/resources/forms/types/FormsListResponsePagination.ts b/src/serialization/resources/forms/types/FormsListResponsePagination.ts new file mode 100644 index 00000000..e9484224 --- /dev/null +++ b/src/serialization/resources/forms/types/FormsListResponsePagination.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const FormsListResponsePagination: core.serialization.ObjectSchema< + serializers.FormsListResponsePagination.Raw, + Webflow.FormsListResponsePagination +> = core.serialization.object({ + limit: core.serialization.number().optional(), + offset: core.serialization.number().optional(), + total: core.serialization.number().optional(), +}); + +export declare namespace FormsListResponsePagination { + interface Raw { + limit?: number | null; + offset?: number | null; + total?: number | null; + } +} diff --git a/src/serialization/resources/forms/types/FormsListSubmissionsResponse.ts b/src/serialization/resources/forms/types/FormsListSubmissionsResponse.ts new file mode 100644 index 00000000..1f5aa0c0 --- /dev/null +++ b/src/serialization/resources/forms/types/FormsListSubmissionsResponse.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { FormsListSubmissionsResponseFormSubmissionsItem } from "./FormsListSubmissionsResponseFormSubmissionsItem"; +import { FormsListSubmissionsResponsePagination } from "./FormsListSubmissionsResponsePagination"; + +export const FormsListSubmissionsResponse: core.serialization.ObjectSchema< + serializers.FormsListSubmissionsResponse.Raw, + Webflow.FormsListSubmissionsResponse +> = core.serialization.object({ + formSubmissions: core.serialization.list(FormsListSubmissionsResponseFormSubmissionsItem).optional(), + pagination: FormsListSubmissionsResponsePagination.optional(), +}); + +export declare namespace FormsListSubmissionsResponse { + interface Raw { + formSubmissions?: FormsListSubmissionsResponseFormSubmissionsItem.Raw[] | null; + pagination?: FormsListSubmissionsResponsePagination.Raw | null; + } +} diff --git a/src/serialization/resources/forms/types/FormsListSubmissionsResponseFormSubmissionsItem.ts b/src/serialization/resources/forms/types/FormsListSubmissionsResponseFormSubmissionsItem.ts new file mode 100644 index 00000000..343ee607 --- /dev/null +++ b/src/serialization/resources/forms/types/FormsListSubmissionsResponseFormSubmissionsItem.ts @@ -0,0 +1,30 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const FormsListSubmissionsResponseFormSubmissionsItem: core.serialization.ObjectSchema< + serializers.FormsListSubmissionsResponseFormSubmissionsItem.Raw, + Webflow.FormsListSubmissionsResponseFormSubmissionsItem +> = core.serialization.object({ + id: core.serialization.string().optional(), + displayName: core.serialization.string().optional(), + siteId: core.serialization.string().optional(), + workspaceId: core.serialization.string().optional(), + dateSubmitted: core.serialization.date().optional(), + formResponse: core.serialization.record(core.serialization.string(), core.serialization.unknown()).optional(), +}); + +export declare namespace FormsListSubmissionsResponseFormSubmissionsItem { + interface Raw { + id?: string | null; + displayName?: string | null; + siteId?: string | null; + workspaceId?: string | null; + dateSubmitted?: string | null; + formResponse?: Record | null; + } +} diff --git a/src/serialization/resources/forms/types/FormsListSubmissionsResponsePagination.ts b/src/serialization/resources/forms/types/FormsListSubmissionsResponsePagination.ts new file mode 100644 index 00000000..9d9cc120 --- /dev/null +++ b/src/serialization/resources/forms/types/FormsListSubmissionsResponsePagination.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const FormsListSubmissionsResponsePagination: core.serialization.ObjectSchema< + serializers.FormsListSubmissionsResponsePagination.Raw, + Webflow.FormsListSubmissionsResponsePagination +> = core.serialization.object({ + limit: core.serialization.number().optional(), + offset: core.serialization.number().optional(), + total: core.serialization.number().optional(), +}); + +export declare namespace FormsListSubmissionsResponsePagination { + interface Raw { + limit?: number | null; + offset?: number | null; + total?: number | null; + } +} diff --git a/src/serialization/resources/forms/types/FormsUpdateSubmissionResponse.ts b/src/serialization/resources/forms/types/FormsUpdateSubmissionResponse.ts new file mode 100644 index 00000000..0f435c34 --- /dev/null +++ b/src/serialization/resources/forms/types/FormsUpdateSubmissionResponse.ts @@ -0,0 +1,30 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const FormsUpdateSubmissionResponse: core.serialization.ObjectSchema< + serializers.FormsUpdateSubmissionResponse.Raw, + Webflow.FormsUpdateSubmissionResponse +> = core.serialization.object({ + id: core.serialization.string().optional(), + displayName: core.serialization.string().optional(), + siteId: core.serialization.string().optional(), + workspaceId: core.serialization.string().optional(), + dateSubmitted: core.serialization.date().optional(), + formResponse: core.serialization.record(core.serialization.string(), core.serialization.unknown()).optional(), +}); + +export declare namespace FormsUpdateSubmissionResponse { + interface Raw { + id?: string | null; + displayName?: string | null; + siteId?: string | null; + workspaceId?: string | null; + dateSubmitted?: string | null; + formResponse?: Record | null; + } +} diff --git a/src/serialization/resources/forms/types/index.ts b/src/serialization/resources/forms/types/index.ts new file mode 100644 index 00000000..1d362aef --- /dev/null +++ b/src/serialization/resources/forms/types/index.ts @@ -0,0 +1,17 @@ +export * from "./FormsListResponseFormsItemFieldsValueType"; +export * from "./FormsListResponseFormsItemFieldsValue"; +export * from "./FormsListResponseFormsItemResponseSettings"; +export * from "./FormsListResponseFormsItem"; +export * from "./FormsListResponsePagination"; +export * from "./FormsListResponse"; +export * from "./FormsGetResponseFieldsValueType"; +export * from "./FormsGetResponseFieldsValue"; +export * from "./FormsGetResponseResponseSettings"; +export * from "./FormsGetResponse"; +export * from "./FormsListSubmissionsResponseFormSubmissionsItem"; +export * from "./FormsListSubmissionsResponsePagination"; +export * from "./FormsListSubmissionsResponse"; +export * from "./FormsGetSubmissionResponse"; +export * from "./FormsUpdateSubmissionResponse"; +export * from "./FormSubmissionPayloadPayload"; +export * from "./FormSubmissionPayload"; diff --git a/src/serialization/resources/index.ts b/src/serialization/resources/index.ts index 54a413ab..b2e75d7a 100644 --- a/src/serialization/resources/index.ts +++ b/src/serialization/resources/index.ts @@ -1,7 +1,19 @@ +export * as token from "./token"; +export * from "./token/types"; export * as sites from "./sites"; export * from "./sites/types"; +export * as collections from "./collections"; +export * from "./collections/types"; export * as pages from "./pages"; export * from "./pages/types"; +export * as scripts from "./scripts"; +export * from "./scripts/types"; +export * as assets from "./assets"; +export * from "./assets/types"; +export * as webhooks from "./webhooks"; +export * from "./webhooks/types"; +export * as forms from "./forms"; +export * from "./forms/types"; export * as users from "./users"; export * from "./users/types"; export * as accessGroups from "./accessGroups"; @@ -12,15 +24,16 @@ export * as orders from "./orders"; export * from "./orders/types"; export * as inventory from "./inventory"; export * from "./inventory/types"; -export * as collections from "./collections"; +export * as ecommerce from "./ecommerce"; +export * from "./ecommerce/types"; +export * as items from "./items"; +export * from "./items/types"; export * from "./sites/client/requests"; export * from "./collections/client/requests"; export * from "./pages/client/requests"; -export * as scripts from "./scripts"; export * from "./scripts/client/requests"; -export * as assets from "./assets"; export * from "./assets/client/requests"; -export * as forms from "./forms"; +export * from "./webhooks/client/requests"; export * from "./forms/client/requests"; export * from "./users/client/requests"; export * from "./products/client/requests"; diff --git a/src/serialization/resources/inventory/types/EcommInventoryChangedPayload.ts b/src/serialization/resources/inventory/types/EcommInventoryChangedPayload.ts new file mode 100644 index 00000000..07f37427 --- /dev/null +++ b/src/serialization/resources/inventory/types/EcommInventoryChangedPayload.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { EcommInventoryChangedPayloadInventoryType } from "./EcommInventoryChangedPayloadInventoryType"; + +export const EcommInventoryChangedPayload: core.serialization.ObjectSchema< + serializers.EcommInventoryChangedPayload.Raw, + Webflow.EcommInventoryChangedPayload +> = core.serialization.object({ + id: core.serialization.string().optional(), + quantity: core.serialization.number().optional(), + inventoryType: EcommInventoryChangedPayloadInventoryType.optional(), +}); + +export declare namespace EcommInventoryChangedPayload { + interface Raw { + id?: string | null; + quantity?: number | null; + inventoryType?: EcommInventoryChangedPayloadInventoryType.Raw | null; + } +} diff --git a/src/serialization/resources/inventory/types/EcommInventoryChangedPayloadInventoryType.ts b/src/serialization/resources/inventory/types/EcommInventoryChangedPayloadInventoryType.ts new file mode 100644 index 00000000..1742acf3 --- /dev/null +++ b/src/serialization/resources/inventory/types/EcommInventoryChangedPayloadInventoryType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommInventoryChangedPayloadInventoryType: core.serialization.Schema< + serializers.EcommInventoryChangedPayloadInventoryType.Raw, + Webflow.EcommInventoryChangedPayloadInventoryType +> = core.serialization.enum_(["infinite", "finite"]); + +export declare namespace EcommInventoryChangedPayloadInventoryType { + type Raw = "infinite" | "finite"; +} diff --git a/src/serialization/resources/inventory/types/InventoryListResponse.ts b/src/serialization/resources/inventory/types/InventoryListResponse.ts new file mode 100644 index 00000000..ba3a4489 --- /dev/null +++ b/src/serialization/resources/inventory/types/InventoryListResponse.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { InventoryListResponseInventoryType } from "./InventoryListResponseInventoryType"; + +export const InventoryListResponse: core.serialization.ObjectSchema< + serializers.InventoryListResponse.Raw, + Webflow.InventoryListResponse +> = core.serialization.object({ + id: core.serialization.string().optional(), + quantity: core.serialization.number().optional(), + inventoryType: InventoryListResponseInventoryType.optional(), +}); + +export declare namespace InventoryListResponse { + interface Raw { + id?: string | null; + quantity?: number | null; + inventoryType?: InventoryListResponseInventoryType.Raw | null; + } +} diff --git a/src/serialization/resources/inventory/types/InventoryListResponseInventoryType.ts b/src/serialization/resources/inventory/types/InventoryListResponseInventoryType.ts new file mode 100644 index 00000000..2125aac6 --- /dev/null +++ b/src/serialization/resources/inventory/types/InventoryListResponseInventoryType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const InventoryListResponseInventoryType: core.serialization.Schema< + serializers.InventoryListResponseInventoryType.Raw, + Webflow.InventoryListResponseInventoryType +> = core.serialization.enum_(["infinite", "finite"]); + +export declare namespace InventoryListResponseInventoryType { + type Raw = "infinite" | "finite"; +} diff --git a/src/serialization/resources/inventory/types/InventoryUpdateResponse.ts b/src/serialization/resources/inventory/types/InventoryUpdateResponse.ts new file mode 100644 index 00000000..0cd936f1 --- /dev/null +++ b/src/serialization/resources/inventory/types/InventoryUpdateResponse.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { InventoryUpdateResponseInventoryType } from "./InventoryUpdateResponseInventoryType"; + +export const InventoryUpdateResponse: core.serialization.ObjectSchema< + serializers.InventoryUpdateResponse.Raw, + Webflow.InventoryUpdateResponse +> = core.serialization.object({ + id: core.serialization.string().optional(), + quantity: core.serialization.number().optional(), + inventoryType: InventoryUpdateResponseInventoryType.optional(), +}); + +export declare namespace InventoryUpdateResponse { + interface Raw { + id?: string | null; + quantity?: number | null; + inventoryType?: InventoryUpdateResponseInventoryType.Raw | null; + } +} diff --git a/src/serialization/resources/inventory/types/InventoryUpdateResponseInventoryType.ts b/src/serialization/resources/inventory/types/InventoryUpdateResponseInventoryType.ts new file mode 100644 index 00000000..d8d7cf08 --- /dev/null +++ b/src/serialization/resources/inventory/types/InventoryUpdateResponseInventoryType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const InventoryUpdateResponseInventoryType: core.serialization.Schema< + serializers.InventoryUpdateResponseInventoryType.Raw, + Webflow.InventoryUpdateResponseInventoryType +> = core.serialization.enum_(["infinite", "finite"]); + +export declare namespace InventoryUpdateResponseInventoryType { + type Raw = "infinite" | "finite"; +} diff --git a/src/serialization/resources/inventory/types/index.ts b/src/serialization/resources/inventory/types/index.ts index 2e2a1559..169da475 100644 --- a/src/serialization/resources/inventory/types/index.ts +++ b/src/serialization/resources/inventory/types/index.ts @@ -1 +1,7 @@ +export * from "./InventoryListResponseInventoryType"; +export * from "./InventoryListResponse"; export * from "./InventoryUpdateRequestInventoryType"; +export * from "./InventoryUpdateResponseInventoryType"; +export * from "./InventoryUpdateResponse"; +export * from "./EcommInventoryChangedPayloadInventoryType"; +export * from "./EcommInventoryChangedPayload"; diff --git a/src/serialization/resources/items/index.ts b/src/serialization/resources/items/index.ts new file mode 100644 index 00000000..eea524d6 --- /dev/null +++ b/src/serialization/resources/items/index.ts @@ -0,0 +1 @@ +export * from "./types"; diff --git a/src/serialization/resources/items/types/CollectionItemChangedPayload.ts b/src/serialization/resources/items/types/CollectionItemChangedPayload.ts new file mode 100644 index 00000000..a6f81776 --- /dev/null +++ b/src/serialization/resources/items/types/CollectionItemChangedPayload.ts @@ -0,0 +1,35 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { CollectionItemChangedPayloadFieldData } from "./CollectionItemChangedPayloadFieldData"; + +export const CollectionItemChangedPayload: core.serialization.ObjectSchema< + serializers.CollectionItemChangedPayload.Raw, + Webflow.CollectionItemChangedPayload +> = core.serialization.object({ + id: core.serialization.string(), + cmsLocaleId: core.serialization.string().optional(), + lastPublished: core.serialization.string().optional(), + lastUpdated: core.serialization.string().optional(), + createdOn: core.serialization.string().optional(), + isArchived: core.serialization.boolean().optional(), + isDraft: core.serialization.boolean().optional(), + fieldData: CollectionItemChangedPayloadFieldData.optional(), +}); + +export declare namespace CollectionItemChangedPayload { + interface Raw { + id: string; + cmsLocaleId?: string | null; + lastPublished?: string | null; + lastUpdated?: string | null; + createdOn?: string | null; + isArchived?: boolean | null; + isDraft?: boolean | null; + fieldData?: CollectionItemChangedPayloadFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/items/types/CollectionItemChangedPayloadFieldData.ts b/src/serialization/resources/items/types/CollectionItemChangedPayloadFieldData.ts new file mode 100644 index 00000000..f2d59134 --- /dev/null +++ b/src/serialization/resources/items/types/CollectionItemChangedPayloadFieldData.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const CollectionItemChangedPayloadFieldData: core.serialization.ObjectSchema< + serializers.CollectionItemChangedPayloadFieldData.Raw, + Webflow.CollectionItemChangedPayloadFieldData +> = core.serialization.object({ + name: core.serialization.string().optional(), + slug: core.serialization.string().optional(), +}); + +export declare namespace CollectionItemChangedPayloadFieldData { + interface Raw { + name?: string | null; + slug?: string | null; + } +} diff --git a/src/serialization/resources/items/types/CollectionItemCreatedPayload.ts b/src/serialization/resources/items/types/CollectionItemCreatedPayload.ts new file mode 100644 index 00000000..7a6dd5fd --- /dev/null +++ b/src/serialization/resources/items/types/CollectionItemCreatedPayload.ts @@ -0,0 +1,35 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { CollectionItemCreatedPayloadFieldData } from "./CollectionItemCreatedPayloadFieldData"; + +export const CollectionItemCreatedPayload: core.serialization.ObjectSchema< + serializers.CollectionItemCreatedPayload.Raw, + Webflow.CollectionItemCreatedPayload +> = core.serialization.object({ + id: core.serialization.string(), + cmsLocaleId: core.serialization.string().optional(), + lastPublished: core.serialization.string().optional(), + lastUpdated: core.serialization.string().optional(), + createdOn: core.serialization.string().optional(), + isArchived: core.serialization.boolean().optional(), + isDraft: core.serialization.boolean().optional(), + fieldData: CollectionItemCreatedPayloadFieldData.optional(), +}); + +export declare namespace CollectionItemCreatedPayload { + interface Raw { + id: string; + cmsLocaleId?: string | null; + lastPublished?: string | null; + lastUpdated?: string | null; + createdOn?: string | null; + isArchived?: boolean | null; + isDraft?: boolean | null; + fieldData?: CollectionItemCreatedPayloadFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/items/types/CollectionItemCreatedPayloadFieldData.ts b/src/serialization/resources/items/types/CollectionItemCreatedPayloadFieldData.ts new file mode 100644 index 00000000..4d7f525e --- /dev/null +++ b/src/serialization/resources/items/types/CollectionItemCreatedPayloadFieldData.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const CollectionItemCreatedPayloadFieldData: core.serialization.ObjectSchema< + serializers.CollectionItemCreatedPayloadFieldData.Raw, + Webflow.CollectionItemCreatedPayloadFieldData +> = core.serialization.object({ + name: core.serialization.string().optional(), + slug: core.serialization.string().optional(), +}); + +export declare namespace CollectionItemCreatedPayloadFieldData { + interface Raw { + name?: string | null; + slug?: string | null; + } +} diff --git a/src/serialization/resources/items/types/CollectionItemDeletedPayload.ts b/src/serialization/resources/items/types/CollectionItemDeletedPayload.ts new file mode 100644 index 00000000..d11e65af --- /dev/null +++ b/src/serialization/resources/items/types/CollectionItemDeletedPayload.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { CollectionItemDeletedPayloadPayload } from "./CollectionItemDeletedPayloadPayload"; + +export const CollectionItemDeletedPayload: core.serialization.ObjectSchema< + serializers.CollectionItemDeletedPayload.Raw, + Webflow.CollectionItemDeletedPayload +> = core.serialization.object({ + triggerType: core.serialization.string().optional(), + payload: CollectionItemDeletedPayloadPayload.optional(), +}); + +export declare namespace CollectionItemDeletedPayload { + interface Raw { + triggerType?: string | null; + payload?: CollectionItemDeletedPayloadPayload.Raw | null; + } +} diff --git a/src/serialization/resources/items/types/CollectionItemDeletedPayloadPayload.ts b/src/serialization/resources/items/types/CollectionItemDeletedPayloadPayload.ts new file mode 100644 index 00000000..0d5bdc7a --- /dev/null +++ b/src/serialization/resources/items/types/CollectionItemDeletedPayloadPayload.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const CollectionItemDeletedPayloadPayload: core.serialization.ObjectSchema< + serializers.CollectionItemDeletedPayloadPayload.Raw, + Webflow.CollectionItemDeletedPayloadPayload +> = core.serialization.object({ + id: core.serialization.string().optional(), + siteId: core.serialization.string().optional(), + workspaceId: core.serialization.string().optional(), + collectionId: core.serialization.string().optional(), +}); + +export declare namespace CollectionItemDeletedPayloadPayload { + interface Raw { + id?: string | null; + siteId?: string | null; + workspaceId?: string | null; + collectionId?: string | null; + } +} diff --git a/src/serialization/resources/items/types/CollectionItemUnpublishedPayload.ts b/src/serialization/resources/items/types/CollectionItemUnpublishedPayload.ts new file mode 100644 index 00000000..f03869f3 --- /dev/null +++ b/src/serialization/resources/items/types/CollectionItemUnpublishedPayload.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { CollectionItemUnpublishedPayloadPayload } from "./CollectionItemUnpublishedPayloadPayload"; + +export const CollectionItemUnpublishedPayload: core.serialization.ObjectSchema< + serializers.CollectionItemUnpublishedPayload.Raw, + Webflow.CollectionItemUnpublishedPayload +> = core.serialization.object({ + triggerType: core.serialization.string().optional(), + payload: CollectionItemUnpublishedPayloadPayload.optional(), +}); + +export declare namespace CollectionItemUnpublishedPayload { + interface Raw { + triggerType?: string | null; + payload?: CollectionItemUnpublishedPayloadPayload.Raw | null; + } +} diff --git a/src/serialization/resources/items/types/CollectionItemUnpublishedPayloadPayload.ts b/src/serialization/resources/items/types/CollectionItemUnpublishedPayloadPayload.ts new file mode 100644 index 00000000..67995cab --- /dev/null +++ b/src/serialization/resources/items/types/CollectionItemUnpublishedPayloadPayload.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const CollectionItemUnpublishedPayloadPayload: core.serialization.ObjectSchema< + serializers.CollectionItemUnpublishedPayloadPayload.Raw, + Webflow.CollectionItemUnpublishedPayloadPayload +> = core.serialization.object({ + id: core.serialization.string().optional(), + siteId: core.serialization.string().optional(), + workspaceId: core.serialization.string().optional(), + collectionId: core.serialization.string().optional(), +}); + +export declare namespace CollectionItemUnpublishedPayloadPayload { + interface Raw { + id?: string | null; + siteId?: string | null; + workspaceId?: string | null; + collectionId?: string | null; + } +} diff --git a/src/serialization/resources/items/types/index.ts b/src/serialization/resources/items/types/index.ts new file mode 100644 index 00000000..bfe1daae --- /dev/null +++ b/src/serialization/resources/items/types/index.ts @@ -0,0 +1,8 @@ +export * from "./CollectionItemCreatedPayloadFieldData"; +export * from "./CollectionItemCreatedPayload"; +export * from "./CollectionItemChangedPayloadFieldData"; +export * from "./CollectionItemChangedPayload"; +export * from "./CollectionItemDeletedPayloadPayload"; +export * from "./CollectionItemDeletedPayload"; +export * from "./CollectionItemUnpublishedPayloadPayload"; +export * from "./CollectionItemUnpublishedPayload"; diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayload.ts b/src/serialization/resources/orders/types/EcommNewOrderPayload.ts new file mode 100644 index 00000000..7ab7d627 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayload.ts @@ -0,0 +1,102 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { EcommNewOrderPayloadStatus } from "./EcommNewOrderPayloadStatus"; +import { EcommNewOrderPayloadDisputeLastStatus } from "./EcommNewOrderPayloadDisputeLastStatus"; +import { EcommNewOrderPayloadCustomerPaid } from "./EcommNewOrderPayloadCustomerPaid"; +import { EcommNewOrderPayloadNetAmount } from "./EcommNewOrderPayloadNetAmount"; +import { EcommNewOrderPayloadApplicationFee } from "./EcommNewOrderPayloadApplicationFee"; +import { EcommNewOrderPayloadAllAddressesItem } from "./EcommNewOrderPayloadAllAddressesItem"; +import { EcommNewOrderPayloadShippingAddress } from "./EcommNewOrderPayloadShippingAddress"; +import { EcommNewOrderPayloadBillingAddress } from "./EcommNewOrderPayloadBillingAddress"; +import { EcommNewOrderPayloadCustomerInfo } from "./EcommNewOrderPayloadCustomerInfo"; +import { EcommNewOrderPayloadPurchasedItemsItem } from "./EcommNewOrderPayloadPurchasedItemsItem"; +import { EcommNewOrderPayloadStripeDetails } from "./EcommNewOrderPayloadStripeDetails"; +import { EcommNewOrderPayloadStripeCard } from "./EcommNewOrderPayloadStripeCard"; +import { EcommNewOrderPayloadPaypalDetails } from "./EcommNewOrderPayloadPaypalDetails"; +import { EcommNewOrderPayloadMetadata } from "./EcommNewOrderPayloadMetadata"; +import { EcommNewOrderPayloadTotals } from "./EcommNewOrderPayloadTotals"; +import { EcommNewOrderPayloadDownloadFilesItem } from "./EcommNewOrderPayloadDownloadFilesItem"; + +export const EcommNewOrderPayload: core.serialization.ObjectSchema< + serializers.EcommNewOrderPayload.Raw, + Webflow.EcommNewOrderPayload +> = core.serialization.object({ + orderId: core.serialization.string().optional(), + status: EcommNewOrderPayloadStatus.optional(), + comment: core.serialization.string().optional(), + orderComment: core.serialization.string().optional(), + acceptedOn: core.serialization.date().optional(), + fulfilledOn: core.serialization.date().optional(), + refundedOn: core.serialization.date().optional(), + disputedOn: core.serialization.date().optional(), + disputeUpdatedOn: core.serialization.date().optional(), + disputeLastStatus: EcommNewOrderPayloadDisputeLastStatus.optional(), + customerPaid: EcommNewOrderPayloadCustomerPaid.optional(), + netAmount: EcommNewOrderPayloadNetAmount.optional(), + applicationFee: EcommNewOrderPayloadApplicationFee.optional(), + allAddresses: core.serialization.list(EcommNewOrderPayloadAllAddressesItem).optional(), + shippingAddress: EcommNewOrderPayloadShippingAddress.optional(), + billingAddress: EcommNewOrderPayloadBillingAddress.optional(), + shippingProvider: core.serialization.string().optional(), + shippingTracking: core.serialization.string().optional(), + shippingTrackingUrl: core.serialization.property("shippingTrackingURL", core.serialization.string().optional()), + customerInfo: EcommNewOrderPayloadCustomerInfo.optional(), + purchasedItems: core.serialization.list(EcommNewOrderPayloadPurchasedItemsItem).optional(), + purchasedItemsCount: core.serialization.number().optional(), + stripeDetails: EcommNewOrderPayloadStripeDetails.optional(), + stripeCard: EcommNewOrderPayloadStripeCard.optional(), + paypalDetails: EcommNewOrderPayloadPaypalDetails.optional(), + customData: core.serialization + .list(core.serialization.record(core.serialization.string(), core.serialization.unknown())) + .optional(), + metadata: EcommNewOrderPayloadMetadata.optional(), + isCustomerDeleted: core.serialization.boolean().optional(), + isShippingRequired: core.serialization.boolean().optional(), + hasDownloads: core.serialization.boolean().optional(), + paymentProcessor: core.serialization.string().optional(), + totals: EcommNewOrderPayloadTotals.optional(), + downloadFiles: core.serialization.list(EcommNewOrderPayloadDownloadFilesItem).optional(), +}); + +export declare namespace EcommNewOrderPayload { + interface Raw { + orderId?: string | null; + status?: EcommNewOrderPayloadStatus.Raw | null; + comment?: string | null; + orderComment?: string | null; + acceptedOn?: string | null; + fulfilledOn?: string | null; + refundedOn?: string | null; + disputedOn?: string | null; + disputeUpdatedOn?: string | null; + disputeLastStatus?: EcommNewOrderPayloadDisputeLastStatus.Raw | null; + customerPaid?: EcommNewOrderPayloadCustomerPaid.Raw | null; + netAmount?: EcommNewOrderPayloadNetAmount.Raw | null; + applicationFee?: EcommNewOrderPayloadApplicationFee.Raw | null; + allAddresses?: EcommNewOrderPayloadAllAddressesItem.Raw[] | null; + shippingAddress?: EcommNewOrderPayloadShippingAddress.Raw | null; + billingAddress?: EcommNewOrderPayloadBillingAddress.Raw | null; + shippingProvider?: string | null; + shippingTracking?: string | null; + shippingTrackingURL?: string | null; + customerInfo?: EcommNewOrderPayloadCustomerInfo.Raw | null; + purchasedItems?: EcommNewOrderPayloadPurchasedItemsItem.Raw[] | null; + purchasedItemsCount?: number | null; + stripeDetails?: EcommNewOrderPayloadStripeDetails.Raw | null; + stripeCard?: EcommNewOrderPayloadStripeCard.Raw | null; + paypalDetails?: EcommNewOrderPayloadPaypalDetails.Raw | null; + customData?: Record[] | null; + metadata?: EcommNewOrderPayloadMetadata.Raw | null; + isCustomerDeleted?: boolean | null; + isShippingRequired?: boolean | null; + hasDownloads?: boolean | null; + paymentProcessor?: string | null; + totals?: EcommNewOrderPayloadTotals.Raw | null; + downloadFiles?: EcommNewOrderPayloadDownloadFilesItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadAllAddressesItem.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadAllAddressesItem.ts new file mode 100644 index 00000000..163f50a4 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadAllAddressesItem.ts @@ -0,0 +1,38 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { EcommNewOrderPayloadAllAddressesItemType } from "./EcommNewOrderPayloadAllAddressesItemType"; +import { EcommNewOrderPayloadAllAddressesItemJapanType } from "./EcommNewOrderPayloadAllAddressesItemJapanType"; + +export const EcommNewOrderPayloadAllAddressesItem: core.serialization.ObjectSchema< + serializers.EcommNewOrderPayloadAllAddressesItem.Raw, + Webflow.EcommNewOrderPayloadAllAddressesItem +> = core.serialization.object({ + type: EcommNewOrderPayloadAllAddressesItemType.optional(), + japanType: EcommNewOrderPayloadAllAddressesItemJapanType.optional(), + addressee: core.serialization.string().optional(), + line1: core.serialization.string().optional(), + line2: core.serialization.string().optional(), + city: core.serialization.string().optional(), + state: core.serialization.string().optional(), + country: core.serialization.string().optional(), + postalCode: core.serialization.string().optional(), +}); + +export declare namespace EcommNewOrderPayloadAllAddressesItem { + interface Raw { + type?: EcommNewOrderPayloadAllAddressesItemType.Raw | null; + japanType?: EcommNewOrderPayloadAllAddressesItemJapanType.Raw | null; + addressee?: string | null; + line1?: string | null; + line2?: string | null; + city?: string | null; + state?: string | null; + country?: string | null; + postalCode?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadAllAddressesItemJapanType.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadAllAddressesItemJapanType.ts new file mode 100644 index 00000000..f3bafdf3 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadAllAddressesItemJapanType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommNewOrderPayloadAllAddressesItemJapanType: core.serialization.Schema< + serializers.EcommNewOrderPayloadAllAddressesItemJapanType.Raw, + Webflow.EcommNewOrderPayloadAllAddressesItemJapanType +> = core.serialization.enum_(["kana", "kanji"]); + +export declare namespace EcommNewOrderPayloadAllAddressesItemJapanType { + type Raw = "kana" | "kanji"; +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadAllAddressesItemType.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadAllAddressesItemType.ts new file mode 100644 index 00000000..d36a9d28 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadAllAddressesItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommNewOrderPayloadAllAddressesItemType: core.serialization.Schema< + serializers.EcommNewOrderPayloadAllAddressesItemType.Raw, + Webflow.EcommNewOrderPayloadAllAddressesItemType +> = core.serialization.enum_(["shipping", "billing"]); + +export declare namespace EcommNewOrderPayloadAllAddressesItemType { + type Raw = "shipping" | "billing"; +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadApplicationFee.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadApplicationFee.ts new file mode 100644 index 00000000..1f0c0662 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadApplicationFee.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommNewOrderPayloadApplicationFee: core.serialization.ObjectSchema< + serializers.EcommNewOrderPayloadApplicationFee.Raw, + Webflow.EcommNewOrderPayloadApplicationFee +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace EcommNewOrderPayloadApplicationFee { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadBillingAddress.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadBillingAddress.ts new file mode 100644 index 00000000..7985adcc --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadBillingAddress.ts @@ -0,0 +1,38 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { EcommNewOrderPayloadBillingAddressType } from "./EcommNewOrderPayloadBillingAddressType"; +import { EcommNewOrderPayloadBillingAddressJapanType } from "./EcommNewOrderPayloadBillingAddressJapanType"; + +export const EcommNewOrderPayloadBillingAddress: core.serialization.ObjectSchema< + serializers.EcommNewOrderPayloadBillingAddress.Raw, + Webflow.EcommNewOrderPayloadBillingAddress +> = core.serialization.object({ + type: EcommNewOrderPayloadBillingAddressType.optional(), + japanType: EcommNewOrderPayloadBillingAddressJapanType.optional(), + addressee: core.serialization.string().optional(), + line1: core.serialization.string().optional(), + line2: core.serialization.string().optional(), + city: core.serialization.string().optional(), + state: core.serialization.string().optional(), + country: core.serialization.string().optional(), + postalCode: core.serialization.string().optional(), +}); + +export declare namespace EcommNewOrderPayloadBillingAddress { + interface Raw { + type?: EcommNewOrderPayloadBillingAddressType.Raw | null; + japanType?: EcommNewOrderPayloadBillingAddressJapanType.Raw | null; + addressee?: string | null; + line1?: string | null; + line2?: string | null; + city?: string | null; + state?: string | null; + country?: string | null; + postalCode?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadBillingAddressJapanType.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadBillingAddressJapanType.ts new file mode 100644 index 00000000..8549a849 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadBillingAddressJapanType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommNewOrderPayloadBillingAddressJapanType: core.serialization.Schema< + serializers.EcommNewOrderPayloadBillingAddressJapanType.Raw, + Webflow.EcommNewOrderPayloadBillingAddressJapanType +> = core.serialization.enum_(["kana", "kanji"]); + +export declare namespace EcommNewOrderPayloadBillingAddressJapanType { + type Raw = "kana" | "kanji"; +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadBillingAddressType.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadBillingAddressType.ts new file mode 100644 index 00000000..15015030 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadBillingAddressType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommNewOrderPayloadBillingAddressType: core.serialization.Schema< + serializers.EcommNewOrderPayloadBillingAddressType.Raw, + Webflow.EcommNewOrderPayloadBillingAddressType +> = core.serialization.enum_(["shipping", "billing"]); + +export declare namespace EcommNewOrderPayloadBillingAddressType { + type Raw = "shipping" | "billing"; +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadCustomerInfo.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadCustomerInfo.ts new file mode 100644 index 00000000..ff9e2516 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadCustomerInfo.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommNewOrderPayloadCustomerInfo: core.serialization.ObjectSchema< + serializers.EcommNewOrderPayloadCustomerInfo.Raw, + Webflow.EcommNewOrderPayloadCustomerInfo +> = core.serialization.object({ + fullName: core.serialization.string().optional(), + email: core.serialization.string().optional(), +}); + +export declare namespace EcommNewOrderPayloadCustomerInfo { + interface Raw { + fullName?: string | null; + email?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadCustomerPaid.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadCustomerPaid.ts new file mode 100644 index 00000000..d44df8c5 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadCustomerPaid.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommNewOrderPayloadCustomerPaid: core.serialization.ObjectSchema< + serializers.EcommNewOrderPayloadCustomerPaid.Raw, + Webflow.EcommNewOrderPayloadCustomerPaid +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace EcommNewOrderPayloadCustomerPaid { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadDisputeLastStatus.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadDisputeLastStatus.ts new file mode 100644 index 00000000..c7ccd539 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadDisputeLastStatus.ts @@ -0,0 +1,33 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommNewOrderPayloadDisputeLastStatus: core.serialization.Schema< + serializers.EcommNewOrderPayloadDisputeLastStatus.Raw, + Webflow.EcommNewOrderPayloadDisputeLastStatus +> = core.serialization.enum_([ + "warning_needs_response", + "warning_under_review", + "warning_closed", + "needs_response", + "under_review", + "charge_refunded", + "won", + "lost", +]); + +export declare namespace EcommNewOrderPayloadDisputeLastStatus { + type Raw = + | "warning_needs_response" + | "warning_under_review" + | "warning_closed" + | "needs_response" + | "under_review" + | "charge_refunded" + | "won" + | "lost"; +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadDownloadFilesItem.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadDownloadFilesItem.ts new file mode 100644 index 00000000..b4adcd6e --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadDownloadFilesItem.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommNewOrderPayloadDownloadFilesItem: core.serialization.ObjectSchema< + serializers.EcommNewOrderPayloadDownloadFilesItem.Raw, + Webflow.EcommNewOrderPayloadDownloadFilesItem +> = core.serialization.object({ + id: core.serialization.string().optional(), + name: core.serialization.string().optional(), + url: core.serialization.string().optional(), +}); + +export declare namespace EcommNewOrderPayloadDownloadFilesItem { + interface Raw { + id?: string | null; + name?: string | null; + url?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadMetadata.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadMetadata.ts new file mode 100644 index 00000000..865df7f2 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadMetadata.ts @@ -0,0 +1,20 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommNewOrderPayloadMetadata: core.serialization.ObjectSchema< + serializers.EcommNewOrderPayloadMetadata.Raw, + Webflow.EcommNewOrderPayloadMetadata +> = core.serialization.object({ + isBuyNow: core.serialization.boolean().optional(), +}); + +export declare namespace EcommNewOrderPayloadMetadata { + interface Raw { + isBuyNow?: boolean | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadNetAmount.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadNetAmount.ts new file mode 100644 index 00000000..59394617 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadNetAmount.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommNewOrderPayloadNetAmount: core.serialization.ObjectSchema< + serializers.EcommNewOrderPayloadNetAmount.Raw, + Webflow.EcommNewOrderPayloadNetAmount +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace EcommNewOrderPayloadNetAmount { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadPaypalDetails.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadPaypalDetails.ts new file mode 100644 index 00000000..1c2a3c0c --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadPaypalDetails.ts @@ -0,0 +1,30 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommNewOrderPayloadPaypalDetails: core.serialization.ObjectSchema< + serializers.EcommNewOrderPayloadPaypalDetails.Raw, + Webflow.EcommNewOrderPayloadPaypalDetails +> = core.serialization.object({ + orderId: core.serialization.string().optional(), + payerId: core.serialization.string().optional(), + captureId: core.serialization.string().optional(), + refundId: core.serialization.string().optional(), + refundReason: core.serialization.string().optional(), + disputeId: core.serialization.string().optional(), +}); + +export declare namespace EcommNewOrderPayloadPaypalDetails { + interface Raw { + orderId?: string | null; + payerId?: string | null; + captureId?: string | null; + refundId?: string | null; + refundReason?: string | null; + disputeId?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItem.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItem.ts new file mode 100644 index 00000000..d3634e2d --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItem.ts @@ -0,0 +1,51 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { EcommNewOrderPayloadPurchasedItemsItemRowTotal } from "./EcommNewOrderPayloadPurchasedItemsItemRowTotal"; +import { EcommNewOrderPayloadPurchasedItemsItemVariantImage } from "./EcommNewOrderPayloadPurchasedItemsItemVariantImage"; +import { EcommNewOrderPayloadPurchasedItemsItemVariantPrice } from "./EcommNewOrderPayloadPurchasedItemsItemVariantPrice"; + +export const EcommNewOrderPayloadPurchasedItemsItem: core.serialization.ObjectSchema< + serializers.EcommNewOrderPayloadPurchasedItemsItem.Raw, + Webflow.EcommNewOrderPayloadPurchasedItemsItem +> = core.serialization.object({ + count: core.serialization.number().optional(), + rowTotal: EcommNewOrderPayloadPurchasedItemsItemRowTotal.optional(), + productId: core.serialization.string().optional(), + productName: core.serialization.string().optional(), + productSlug: core.serialization.string().optional(), + variantId: core.serialization.string().optional(), + variantName: core.serialization.string().optional(), + variantSlug: core.serialization.string().optional(), + variantSku: core.serialization.property("variantSKU", core.serialization.string().optional()), + variantImage: EcommNewOrderPayloadPurchasedItemsItemVariantImage.optional(), + variantPrice: EcommNewOrderPayloadPurchasedItemsItemVariantPrice.optional(), + weight: core.serialization.number().optional(), + width: core.serialization.number().optional(), + height: core.serialization.number().optional(), + length: core.serialization.number().optional(), +}); + +export declare namespace EcommNewOrderPayloadPurchasedItemsItem { + interface Raw { + count?: number | null; + rowTotal?: EcommNewOrderPayloadPurchasedItemsItemRowTotal.Raw | null; + productId?: string | null; + productName?: string | null; + productSlug?: string | null; + variantId?: string | null; + variantName?: string | null; + variantSlug?: string | null; + variantSKU?: string | null; + variantImage?: EcommNewOrderPayloadPurchasedItemsItemVariantImage.Raw | null; + variantPrice?: EcommNewOrderPayloadPurchasedItemsItemVariantPrice.Raw | null; + weight?: number | null; + width?: number | null; + height?: number | null; + length?: number | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItemRowTotal.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItemRowTotal.ts new file mode 100644 index 00000000..c0c3b87a --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItemRowTotal.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommNewOrderPayloadPurchasedItemsItemRowTotal: core.serialization.ObjectSchema< + serializers.EcommNewOrderPayloadPurchasedItemsItemRowTotal.Raw, + Webflow.EcommNewOrderPayloadPurchasedItemsItemRowTotal +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace EcommNewOrderPayloadPurchasedItemsItemRowTotal { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItemVariantImage.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItemVariantImage.ts new file mode 100644 index 00000000..99f98364 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItemVariantImage.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { EcommNewOrderPayloadPurchasedItemsItemVariantImageFile } from "./EcommNewOrderPayloadPurchasedItemsItemVariantImageFile"; + +export const EcommNewOrderPayloadPurchasedItemsItemVariantImage: core.serialization.ObjectSchema< + serializers.EcommNewOrderPayloadPurchasedItemsItemVariantImage.Raw, + Webflow.EcommNewOrderPayloadPurchasedItemsItemVariantImage +> = core.serialization.object({ + url: core.serialization.string().optional(), + file: EcommNewOrderPayloadPurchasedItemsItemVariantImageFile.optional(), +}); + +export declare namespace EcommNewOrderPayloadPurchasedItemsItemVariantImage { + interface Raw { + url?: string | null; + file?: EcommNewOrderPayloadPurchasedItemsItemVariantImageFile.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItemVariantImageFile.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItemVariantImageFile.ts new file mode 100644 index 00000000..2f6fc38b --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItemVariantImageFile.ts @@ -0,0 +1,33 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { EcommNewOrderPayloadPurchasedItemsItemVariantImageFileVariantsItem } from "./EcommNewOrderPayloadPurchasedItemsItemVariantImageFileVariantsItem"; + +export const EcommNewOrderPayloadPurchasedItemsItemVariantImageFile: core.serialization.ObjectSchema< + serializers.EcommNewOrderPayloadPurchasedItemsItemVariantImageFile.Raw, + Webflow.EcommNewOrderPayloadPurchasedItemsItemVariantImageFile +> = core.serialization.object({ + size: core.serialization.number().optional(), + originalFileName: core.serialization.string().optional(), + createdOn: core.serialization.date().optional(), + contentType: core.serialization.string().optional(), + width: core.serialization.number().optional(), + height: core.serialization.number().optional(), + variants: core.serialization.list(EcommNewOrderPayloadPurchasedItemsItemVariantImageFileVariantsItem).optional(), +}); + +export declare namespace EcommNewOrderPayloadPurchasedItemsItemVariantImageFile { + interface Raw { + size?: number | null; + originalFileName?: string | null; + createdOn?: string | null; + contentType?: string | null; + width?: number | null; + height?: number | null; + variants?: EcommNewOrderPayloadPurchasedItemsItemVariantImageFileVariantsItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItemVariantImageFileVariantsItem.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItemVariantImageFileVariantsItem.ts new file mode 100644 index 00000000..2e568d14 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItemVariantImageFileVariantsItem.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommNewOrderPayloadPurchasedItemsItemVariantImageFileVariantsItem: core.serialization.ObjectSchema< + serializers.EcommNewOrderPayloadPurchasedItemsItemVariantImageFileVariantsItem.Raw, + Webflow.EcommNewOrderPayloadPurchasedItemsItemVariantImageFileVariantsItem +> = core.serialization.object({ + url: core.serialization.string().optional(), + originalFileName: core.serialization.string().optional(), + size: core.serialization.number().optional(), + width: core.serialization.number().optional(), + height: core.serialization.number().optional(), +}); + +export declare namespace EcommNewOrderPayloadPurchasedItemsItemVariantImageFileVariantsItem { + interface Raw { + url?: string | null; + originalFileName?: string | null; + size?: number | null; + width?: number | null; + height?: number | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItemVariantPrice.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItemVariantPrice.ts new file mode 100644 index 00000000..f8b044e1 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadPurchasedItemsItemVariantPrice.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommNewOrderPayloadPurchasedItemsItemVariantPrice: core.serialization.ObjectSchema< + serializers.EcommNewOrderPayloadPurchasedItemsItemVariantPrice.Raw, + Webflow.EcommNewOrderPayloadPurchasedItemsItemVariantPrice +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace EcommNewOrderPayloadPurchasedItemsItemVariantPrice { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadShippingAddress.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadShippingAddress.ts new file mode 100644 index 00000000..a0ebb7e9 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadShippingAddress.ts @@ -0,0 +1,38 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { EcommNewOrderPayloadShippingAddressType } from "./EcommNewOrderPayloadShippingAddressType"; +import { EcommNewOrderPayloadShippingAddressJapanType } from "./EcommNewOrderPayloadShippingAddressJapanType"; + +export const EcommNewOrderPayloadShippingAddress: core.serialization.ObjectSchema< + serializers.EcommNewOrderPayloadShippingAddress.Raw, + Webflow.EcommNewOrderPayloadShippingAddress +> = core.serialization.object({ + type: EcommNewOrderPayloadShippingAddressType.optional(), + japanType: EcommNewOrderPayloadShippingAddressJapanType.optional(), + addressee: core.serialization.string().optional(), + line1: core.serialization.string().optional(), + line2: core.serialization.string().optional(), + city: core.serialization.string().optional(), + state: core.serialization.string().optional(), + country: core.serialization.string().optional(), + postalCode: core.serialization.string().optional(), +}); + +export declare namespace EcommNewOrderPayloadShippingAddress { + interface Raw { + type?: EcommNewOrderPayloadShippingAddressType.Raw | null; + japanType?: EcommNewOrderPayloadShippingAddressJapanType.Raw | null; + addressee?: string | null; + line1?: string | null; + line2?: string | null; + city?: string | null; + state?: string | null; + country?: string | null; + postalCode?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadShippingAddressJapanType.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadShippingAddressJapanType.ts new file mode 100644 index 00000000..23bd7f5c --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadShippingAddressJapanType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommNewOrderPayloadShippingAddressJapanType: core.serialization.Schema< + serializers.EcommNewOrderPayloadShippingAddressJapanType.Raw, + Webflow.EcommNewOrderPayloadShippingAddressJapanType +> = core.serialization.enum_(["kana", "kanji"]); + +export declare namespace EcommNewOrderPayloadShippingAddressJapanType { + type Raw = "kana" | "kanji"; +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadShippingAddressType.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadShippingAddressType.ts new file mode 100644 index 00000000..ec10bc23 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadShippingAddressType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommNewOrderPayloadShippingAddressType: core.serialization.Schema< + serializers.EcommNewOrderPayloadShippingAddressType.Raw, + Webflow.EcommNewOrderPayloadShippingAddressType +> = core.serialization.enum_(["shipping", "billing"]); + +export declare namespace EcommNewOrderPayloadShippingAddressType { + type Raw = "shipping" | "billing"; +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadStatus.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadStatus.ts new file mode 100644 index 00000000..abc98c97 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadStatus.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommNewOrderPayloadStatus: core.serialization.Schema< + serializers.EcommNewOrderPayloadStatus.Raw, + Webflow.EcommNewOrderPayloadStatus +> = core.serialization.enum_(["pending", "unfulfilled", "fulfilled", "disputed", "dispute-lost", "refunded"]); + +export declare namespace EcommNewOrderPayloadStatus { + type Raw = "pending" | "unfulfilled" | "fulfilled" | "disputed" | "dispute-lost" | "refunded"; +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadStripeCard.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadStripeCard.ts new file mode 100644 index 00000000..bd38e460 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadStripeCard.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { EcommNewOrderPayloadStripeCardBrand } from "./EcommNewOrderPayloadStripeCardBrand"; +import { EcommNewOrderPayloadStripeCardExpires } from "./EcommNewOrderPayloadStripeCardExpires"; + +export const EcommNewOrderPayloadStripeCard: core.serialization.ObjectSchema< + serializers.EcommNewOrderPayloadStripeCard.Raw, + Webflow.EcommNewOrderPayloadStripeCard +> = core.serialization.object({ + last4: core.serialization.string().optional(), + brand: EcommNewOrderPayloadStripeCardBrand.optional(), + ownerName: core.serialization.string().optional(), + expires: EcommNewOrderPayloadStripeCardExpires.optional(), +}); + +export declare namespace EcommNewOrderPayloadStripeCard { + interface Raw { + last4?: string | null; + brand?: EcommNewOrderPayloadStripeCardBrand.Raw | null; + ownerName?: string | null; + expires?: EcommNewOrderPayloadStripeCardExpires.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadStripeCardBrand.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadStripeCardBrand.ts new file mode 100644 index 00000000..594276ea --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadStripeCardBrand.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommNewOrderPayloadStripeCardBrand: core.serialization.Schema< + serializers.EcommNewOrderPayloadStripeCardBrand.Raw, + Webflow.EcommNewOrderPayloadStripeCardBrand +> = core.serialization.enum_(["Visa", "American Express", "MasterCard", "Discover", "JCB", "Diners Club", "Unknown"]); + +export declare namespace EcommNewOrderPayloadStripeCardBrand { + type Raw = "Visa" | "American Express" | "MasterCard" | "Discover" | "JCB" | "Diners Club" | "Unknown"; +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadStripeCardExpires.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadStripeCardExpires.ts new file mode 100644 index 00000000..806221d7 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadStripeCardExpires.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommNewOrderPayloadStripeCardExpires: core.serialization.ObjectSchema< + serializers.EcommNewOrderPayloadStripeCardExpires.Raw, + Webflow.EcommNewOrderPayloadStripeCardExpires +> = core.serialization.object({ + year: core.serialization.number().optional(), + month: core.serialization.number().optional(), +}); + +export declare namespace EcommNewOrderPayloadStripeCardExpires { + interface Raw { + year?: number | null; + month?: number | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadStripeDetails.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadStripeDetails.ts new file mode 100644 index 00000000..25023c30 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadStripeDetails.ts @@ -0,0 +1,34 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommNewOrderPayloadStripeDetails: core.serialization.ObjectSchema< + serializers.EcommNewOrderPayloadStripeDetails.Raw, + Webflow.EcommNewOrderPayloadStripeDetails +> = core.serialization.object({ + subscriptionId: core.serialization.string().optional(), + paymentMethod: core.serialization.string().optional(), + paymentIntentId: core.serialization.string().optional(), + customerId: core.serialization.string().optional(), + chargeId: core.serialization.string().optional(), + disputeId: core.serialization.string().optional(), + refundId: core.serialization.string().optional(), + refundReason: core.serialization.string().optional(), +}); + +export declare namespace EcommNewOrderPayloadStripeDetails { + interface Raw { + subscriptionId?: string | null; + paymentMethod?: string | null; + paymentIntentId?: string | null; + customerId?: string | null; + chargeId?: string | null; + disputeId?: string | null; + refundId?: string | null; + refundReason?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadTotals.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadTotals.ts new file mode 100644 index 00000000..16476c54 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadTotals.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { EcommNewOrderPayloadTotalsSubtotal } from "./EcommNewOrderPayloadTotalsSubtotal"; +import { EcommNewOrderPayloadTotalsExtrasItem } from "./EcommNewOrderPayloadTotalsExtrasItem"; +import { EcommNewOrderPayloadTotalsTotal } from "./EcommNewOrderPayloadTotalsTotal"; + +export const EcommNewOrderPayloadTotals: core.serialization.ObjectSchema< + serializers.EcommNewOrderPayloadTotals.Raw, + Webflow.EcommNewOrderPayloadTotals +> = core.serialization.object({ + subtotal: EcommNewOrderPayloadTotalsSubtotal.optional(), + extras: core.serialization.list(EcommNewOrderPayloadTotalsExtrasItem).optional(), + total: EcommNewOrderPayloadTotalsTotal.optional(), +}); + +export declare namespace EcommNewOrderPayloadTotals { + interface Raw { + subtotal?: EcommNewOrderPayloadTotalsSubtotal.Raw | null; + extras?: EcommNewOrderPayloadTotalsExtrasItem.Raw[] | null; + total?: EcommNewOrderPayloadTotalsTotal.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadTotalsExtrasItem.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadTotalsExtrasItem.ts new file mode 100644 index 00000000..4f985b84 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadTotalsExtrasItem.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { EcommNewOrderPayloadTotalsExtrasItemType } from "./EcommNewOrderPayloadTotalsExtrasItemType"; +import { EcommNewOrderPayloadTotalsExtrasItemPrice } from "./EcommNewOrderPayloadTotalsExtrasItemPrice"; + +export const EcommNewOrderPayloadTotalsExtrasItem: core.serialization.ObjectSchema< + serializers.EcommNewOrderPayloadTotalsExtrasItem.Raw, + Webflow.EcommNewOrderPayloadTotalsExtrasItem +> = core.serialization.object({ + type: EcommNewOrderPayloadTotalsExtrasItemType.optional(), + name: core.serialization.string().optional(), + description: core.serialization.string().optional(), + price: EcommNewOrderPayloadTotalsExtrasItemPrice.optional(), +}); + +export declare namespace EcommNewOrderPayloadTotalsExtrasItem { + interface Raw { + type?: EcommNewOrderPayloadTotalsExtrasItemType.Raw | null; + name?: string | null; + description?: string | null; + price?: EcommNewOrderPayloadTotalsExtrasItemPrice.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadTotalsExtrasItemPrice.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadTotalsExtrasItemPrice.ts new file mode 100644 index 00000000..6a6802b2 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadTotalsExtrasItemPrice.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommNewOrderPayloadTotalsExtrasItemPrice: core.serialization.ObjectSchema< + serializers.EcommNewOrderPayloadTotalsExtrasItemPrice.Raw, + Webflow.EcommNewOrderPayloadTotalsExtrasItemPrice +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace EcommNewOrderPayloadTotalsExtrasItemPrice { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadTotalsExtrasItemType.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadTotalsExtrasItemType.ts new file mode 100644 index 00000000..aba92705 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadTotalsExtrasItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommNewOrderPayloadTotalsExtrasItemType: core.serialization.Schema< + serializers.EcommNewOrderPayloadTotalsExtrasItemType.Raw, + Webflow.EcommNewOrderPayloadTotalsExtrasItemType +> = core.serialization.enum_(["discount", "discount-shipping", "shipping", "tax"]); + +export declare namespace EcommNewOrderPayloadTotalsExtrasItemType { + type Raw = "discount" | "discount-shipping" | "shipping" | "tax"; +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadTotalsSubtotal.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadTotalsSubtotal.ts new file mode 100644 index 00000000..a3097458 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadTotalsSubtotal.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommNewOrderPayloadTotalsSubtotal: core.serialization.ObjectSchema< + serializers.EcommNewOrderPayloadTotalsSubtotal.Raw, + Webflow.EcommNewOrderPayloadTotalsSubtotal +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace EcommNewOrderPayloadTotalsSubtotal { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommNewOrderPayloadTotalsTotal.ts b/src/serialization/resources/orders/types/EcommNewOrderPayloadTotalsTotal.ts new file mode 100644 index 00000000..b7622bdc --- /dev/null +++ b/src/serialization/resources/orders/types/EcommNewOrderPayloadTotalsTotal.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommNewOrderPayloadTotalsTotal: core.serialization.ObjectSchema< + serializers.EcommNewOrderPayloadTotalsTotal.Raw, + Webflow.EcommNewOrderPayloadTotalsTotal +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace EcommNewOrderPayloadTotalsTotal { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayload.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayload.ts new file mode 100644 index 00000000..d39d7037 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayload.ts @@ -0,0 +1,102 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { EcommOrderChangedPayloadStatus } from "./EcommOrderChangedPayloadStatus"; +import { EcommOrderChangedPayloadDisputeLastStatus } from "./EcommOrderChangedPayloadDisputeLastStatus"; +import { EcommOrderChangedPayloadCustomerPaid } from "./EcommOrderChangedPayloadCustomerPaid"; +import { EcommOrderChangedPayloadNetAmount } from "./EcommOrderChangedPayloadNetAmount"; +import { EcommOrderChangedPayloadApplicationFee } from "./EcommOrderChangedPayloadApplicationFee"; +import { EcommOrderChangedPayloadAllAddressesItem } from "./EcommOrderChangedPayloadAllAddressesItem"; +import { EcommOrderChangedPayloadShippingAddress } from "./EcommOrderChangedPayloadShippingAddress"; +import { EcommOrderChangedPayloadBillingAddress } from "./EcommOrderChangedPayloadBillingAddress"; +import { EcommOrderChangedPayloadCustomerInfo } from "./EcommOrderChangedPayloadCustomerInfo"; +import { EcommOrderChangedPayloadPurchasedItemsItem } from "./EcommOrderChangedPayloadPurchasedItemsItem"; +import { EcommOrderChangedPayloadStripeDetails } from "./EcommOrderChangedPayloadStripeDetails"; +import { EcommOrderChangedPayloadStripeCard } from "./EcommOrderChangedPayloadStripeCard"; +import { EcommOrderChangedPayloadPaypalDetails } from "./EcommOrderChangedPayloadPaypalDetails"; +import { EcommOrderChangedPayloadMetadata } from "./EcommOrderChangedPayloadMetadata"; +import { EcommOrderChangedPayloadTotals } from "./EcommOrderChangedPayloadTotals"; +import { EcommOrderChangedPayloadDownloadFilesItem } from "./EcommOrderChangedPayloadDownloadFilesItem"; + +export const EcommOrderChangedPayload: core.serialization.ObjectSchema< + serializers.EcommOrderChangedPayload.Raw, + Webflow.EcommOrderChangedPayload +> = core.serialization.object({ + orderId: core.serialization.string().optional(), + status: EcommOrderChangedPayloadStatus.optional(), + comment: core.serialization.string().optional(), + orderComment: core.serialization.string().optional(), + acceptedOn: core.serialization.date().optional(), + fulfilledOn: core.serialization.date().optional(), + refundedOn: core.serialization.date().optional(), + disputedOn: core.serialization.date().optional(), + disputeUpdatedOn: core.serialization.date().optional(), + disputeLastStatus: EcommOrderChangedPayloadDisputeLastStatus.optional(), + customerPaid: EcommOrderChangedPayloadCustomerPaid.optional(), + netAmount: EcommOrderChangedPayloadNetAmount.optional(), + applicationFee: EcommOrderChangedPayloadApplicationFee.optional(), + allAddresses: core.serialization.list(EcommOrderChangedPayloadAllAddressesItem).optional(), + shippingAddress: EcommOrderChangedPayloadShippingAddress.optional(), + billingAddress: EcommOrderChangedPayloadBillingAddress.optional(), + shippingProvider: core.serialization.string().optional(), + shippingTracking: core.serialization.string().optional(), + shippingTrackingUrl: core.serialization.property("shippingTrackingURL", core.serialization.string().optional()), + customerInfo: EcommOrderChangedPayloadCustomerInfo.optional(), + purchasedItems: core.serialization.list(EcommOrderChangedPayloadPurchasedItemsItem).optional(), + purchasedItemsCount: core.serialization.number().optional(), + stripeDetails: EcommOrderChangedPayloadStripeDetails.optional(), + stripeCard: EcommOrderChangedPayloadStripeCard.optional(), + paypalDetails: EcommOrderChangedPayloadPaypalDetails.optional(), + customData: core.serialization + .list(core.serialization.record(core.serialization.string(), core.serialization.unknown())) + .optional(), + metadata: EcommOrderChangedPayloadMetadata.optional(), + isCustomerDeleted: core.serialization.boolean().optional(), + isShippingRequired: core.serialization.boolean().optional(), + hasDownloads: core.serialization.boolean().optional(), + paymentProcessor: core.serialization.string().optional(), + totals: EcommOrderChangedPayloadTotals.optional(), + downloadFiles: core.serialization.list(EcommOrderChangedPayloadDownloadFilesItem).optional(), +}); + +export declare namespace EcommOrderChangedPayload { + interface Raw { + orderId?: string | null; + status?: EcommOrderChangedPayloadStatus.Raw | null; + comment?: string | null; + orderComment?: string | null; + acceptedOn?: string | null; + fulfilledOn?: string | null; + refundedOn?: string | null; + disputedOn?: string | null; + disputeUpdatedOn?: string | null; + disputeLastStatus?: EcommOrderChangedPayloadDisputeLastStatus.Raw | null; + customerPaid?: EcommOrderChangedPayloadCustomerPaid.Raw | null; + netAmount?: EcommOrderChangedPayloadNetAmount.Raw | null; + applicationFee?: EcommOrderChangedPayloadApplicationFee.Raw | null; + allAddresses?: EcommOrderChangedPayloadAllAddressesItem.Raw[] | null; + shippingAddress?: EcommOrderChangedPayloadShippingAddress.Raw | null; + billingAddress?: EcommOrderChangedPayloadBillingAddress.Raw | null; + shippingProvider?: string | null; + shippingTracking?: string | null; + shippingTrackingURL?: string | null; + customerInfo?: EcommOrderChangedPayloadCustomerInfo.Raw | null; + purchasedItems?: EcommOrderChangedPayloadPurchasedItemsItem.Raw[] | null; + purchasedItemsCount?: number | null; + stripeDetails?: EcommOrderChangedPayloadStripeDetails.Raw | null; + stripeCard?: EcommOrderChangedPayloadStripeCard.Raw | null; + paypalDetails?: EcommOrderChangedPayloadPaypalDetails.Raw | null; + customData?: Record[] | null; + metadata?: EcommOrderChangedPayloadMetadata.Raw | null; + isCustomerDeleted?: boolean | null; + isShippingRequired?: boolean | null; + hasDownloads?: boolean | null; + paymentProcessor?: string | null; + totals?: EcommOrderChangedPayloadTotals.Raw | null; + downloadFiles?: EcommOrderChangedPayloadDownloadFilesItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadAllAddressesItem.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadAllAddressesItem.ts new file mode 100644 index 00000000..e37bba79 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadAllAddressesItem.ts @@ -0,0 +1,38 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { EcommOrderChangedPayloadAllAddressesItemType } from "./EcommOrderChangedPayloadAllAddressesItemType"; +import { EcommOrderChangedPayloadAllAddressesItemJapanType } from "./EcommOrderChangedPayloadAllAddressesItemJapanType"; + +export const EcommOrderChangedPayloadAllAddressesItem: core.serialization.ObjectSchema< + serializers.EcommOrderChangedPayloadAllAddressesItem.Raw, + Webflow.EcommOrderChangedPayloadAllAddressesItem +> = core.serialization.object({ + type: EcommOrderChangedPayloadAllAddressesItemType.optional(), + japanType: EcommOrderChangedPayloadAllAddressesItemJapanType.optional(), + addressee: core.serialization.string().optional(), + line1: core.serialization.string().optional(), + line2: core.serialization.string().optional(), + city: core.serialization.string().optional(), + state: core.serialization.string().optional(), + country: core.serialization.string().optional(), + postalCode: core.serialization.string().optional(), +}); + +export declare namespace EcommOrderChangedPayloadAllAddressesItem { + interface Raw { + type?: EcommOrderChangedPayloadAllAddressesItemType.Raw | null; + japanType?: EcommOrderChangedPayloadAllAddressesItemJapanType.Raw | null; + addressee?: string | null; + line1?: string | null; + line2?: string | null; + city?: string | null; + state?: string | null; + country?: string | null; + postalCode?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadAllAddressesItemJapanType.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadAllAddressesItemJapanType.ts new file mode 100644 index 00000000..052987ca --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadAllAddressesItemJapanType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommOrderChangedPayloadAllAddressesItemJapanType: core.serialization.Schema< + serializers.EcommOrderChangedPayloadAllAddressesItemJapanType.Raw, + Webflow.EcommOrderChangedPayloadAllAddressesItemJapanType +> = core.serialization.enum_(["kana", "kanji"]); + +export declare namespace EcommOrderChangedPayloadAllAddressesItemJapanType { + type Raw = "kana" | "kanji"; +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadAllAddressesItemType.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadAllAddressesItemType.ts new file mode 100644 index 00000000..18de6bf5 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadAllAddressesItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommOrderChangedPayloadAllAddressesItemType: core.serialization.Schema< + serializers.EcommOrderChangedPayloadAllAddressesItemType.Raw, + Webflow.EcommOrderChangedPayloadAllAddressesItemType +> = core.serialization.enum_(["shipping", "billing"]); + +export declare namespace EcommOrderChangedPayloadAllAddressesItemType { + type Raw = "shipping" | "billing"; +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadApplicationFee.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadApplicationFee.ts new file mode 100644 index 00000000..6b898f3e --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadApplicationFee.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommOrderChangedPayloadApplicationFee: core.serialization.ObjectSchema< + serializers.EcommOrderChangedPayloadApplicationFee.Raw, + Webflow.EcommOrderChangedPayloadApplicationFee +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace EcommOrderChangedPayloadApplicationFee { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadBillingAddress.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadBillingAddress.ts new file mode 100644 index 00000000..5af7591a --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadBillingAddress.ts @@ -0,0 +1,38 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { EcommOrderChangedPayloadBillingAddressType } from "./EcommOrderChangedPayloadBillingAddressType"; +import { EcommOrderChangedPayloadBillingAddressJapanType } from "./EcommOrderChangedPayloadBillingAddressJapanType"; + +export const EcommOrderChangedPayloadBillingAddress: core.serialization.ObjectSchema< + serializers.EcommOrderChangedPayloadBillingAddress.Raw, + Webflow.EcommOrderChangedPayloadBillingAddress +> = core.serialization.object({ + type: EcommOrderChangedPayloadBillingAddressType.optional(), + japanType: EcommOrderChangedPayloadBillingAddressJapanType.optional(), + addressee: core.serialization.string().optional(), + line1: core.serialization.string().optional(), + line2: core.serialization.string().optional(), + city: core.serialization.string().optional(), + state: core.serialization.string().optional(), + country: core.serialization.string().optional(), + postalCode: core.serialization.string().optional(), +}); + +export declare namespace EcommOrderChangedPayloadBillingAddress { + interface Raw { + type?: EcommOrderChangedPayloadBillingAddressType.Raw | null; + japanType?: EcommOrderChangedPayloadBillingAddressJapanType.Raw | null; + addressee?: string | null; + line1?: string | null; + line2?: string | null; + city?: string | null; + state?: string | null; + country?: string | null; + postalCode?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadBillingAddressJapanType.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadBillingAddressJapanType.ts new file mode 100644 index 00000000..2f56504d --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadBillingAddressJapanType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommOrderChangedPayloadBillingAddressJapanType: core.serialization.Schema< + serializers.EcommOrderChangedPayloadBillingAddressJapanType.Raw, + Webflow.EcommOrderChangedPayloadBillingAddressJapanType +> = core.serialization.enum_(["kana", "kanji"]); + +export declare namespace EcommOrderChangedPayloadBillingAddressJapanType { + type Raw = "kana" | "kanji"; +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadBillingAddressType.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadBillingAddressType.ts new file mode 100644 index 00000000..d569b902 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadBillingAddressType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommOrderChangedPayloadBillingAddressType: core.serialization.Schema< + serializers.EcommOrderChangedPayloadBillingAddressType.Raw, + Webflow.EcommOrderChangedPayloadBillingAddressType +> = core.serialization.enum_(["shipping", "billing"]); + +export declare namespace EcommOrderChangedPayloadBillingAddressType { + type Raw = "shipping" | "billing"; +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadCustomerInfo.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadCustomerInfo.ts new file mode 100644 index 00000000..930f9cf8 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadCustomerInfo.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommOrderChangedPayloadCustomerInfo: core.serialization.ObjectSchema< + serializers.EcommOrderChangedPayloadCustomerInfo.Raw, + Webflow.EcommOrderChangedPayloadCustomerInfo +> = core.serialization.object({ + fullName: core.serialization.string().optional(), + email: core.serialization.string().optional(), +}); + +export declare namespace EcommOrderChangedPayloadCustomerInfo { + interface Raw { + fullName?: string | null; + email?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadCustomerPaid.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadCustomerPaid.ts new file mode 100644 index 00000000..8f34d097 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadCustomerPaid.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommOrderChangedPayloadCustomerPaid: core.serialization.ObjectSchema< + serializers.EcommOrderChangedPayloadCustomerPaid.Raw, + Webflow.EcommOrderChangedPayloadCustomerPaid +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace EcommOrderChangedPayloadCustomerPaid { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadDisputeLastStatus.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadDisputeLastStatus.ts new file mode 100644 index 00000000..9c96095d --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadDisputeLastStatus.ts @@ -0,0 +1,33 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommOrderChangedPayloadDisputeLastStatus: core.serialization.Schema< + serializers.EcommOrderChangedPayloadDisputeLastStatus.Raw, + Webflow.EcommOrderChangedPayloadDisputeLastStatus +> = core.serialization.enum_([ + "warning_needs_response", + "warning_under_review", + "warning_closed", + "needs_response", + "under_review", + "charge_refunded", + "won", + "lost", +]); + +export declare namespace EcommOrderChangedPayloadDisputeLastStatus { + type Raw = + | "warning_needs_response" + | "warning_under_review" + | "warning_closed" + | "needs_response" + | "under_review" + | "charge_refunded" + | "won" + | "lost"; +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadDownloadFilesItem.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadDownloadFilesItem.ts new file mode 100644 index 00000000..bd5ad4f9 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadDownloadFilesItem.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommOrderChangedPayloadDownloadFilesItem: core.serialization.ObjectSchema< + serializers.EcommOrderChangedPayloadDownloadFilesItem.Raw, + Webflow.EcommOrderChangedPayloadDownloadFilesItem +> = core.serialization.object({ + id: core.serialization.string().optional(), + name: core.serialization.string().optional(), + url: core.serialization.string().optional(), +}); + +export declare namespace EcommOrderChangedPayloadDownloadFilesItem { + interface Raw { + id?: string | null; + name?: string | null; + url?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadMetadata.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadMetadata.ts new file mode 100644 index 00000000..b5a5bbc5 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadMetadata.ts @@ -0,0 +1,20 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommOrderChangedPayloadMetadata: core.serialization.ObjectSchema< + serializers.EcommOrderChangedPayloadMetadata.Raw, + Webflow.EcommOrderChangedPayloadMetadata +> = core.serialization.object({ + isBuyNow: core.serialization.boolean().optional(), +}); + +export declare namespace EcommOrderChangedPayloadMetadata { + interface Raw { + isBuyNow?: boolean | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadNetAmount.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadNetAmount.ts new file mode 100644 index 00000000..c640be9a --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadNetAmount.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommOrderChangedPayloadNetAmount: core.serialization.ObjectSchema< + serializers.EcommOrderChangedPayloadNetAmount.Raw, + Webflow.EcommOrderChangedPayloadNetAmount +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace EcommOrderChangedPayloadNetAmount { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadPaypalDetails.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadPaypalDetails.ts new file mode 100644 index 00000000..89ca0c63 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadPaypalDetails.ts @@ -0,0 +1,30 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommOrderChangedPayloadPaypalDetails: core.serialization.ObjectSchema< + serializers.EcommOrderChangedPayloadPaypalDetails.Raw, + Webflow.EcommOrderChangedPayloadPaypalDetails +> = core.serialization.object({ + orderId: core.serialization.string().optional(), + payerId: core.serialization.string().optional(), + captureId: core.serialization.string().optional(), + refundId: core.serialization.string().optional(), + refundReason: core.serialization.string().optional(), + disputeId: core.serialization.string().optional(), +}); + +export declare namespace EcommOrderChangedPayloadPaypalDetails { + interface Raw { + orderId?: string | null; + payerId?: string | null; + captureId?: string | null; + refundId?: string | null; + refundReason?: string | null; + disputeId?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItem.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItem.ts new file mode 100644 index 00000000..55ce6481 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItem.ts @@ -0,0 +1,51 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { EcommOrderChangedPayloadPurchasedItemsItemRowTotal } from "./EcommOrderChangedPayloadPurchasedItemsItemRowTotal"; +import { EcommOrderChangedPayloadPurchasedItemsItemVariantImage } from "./EcommOrderChangedPayloadPurchasedItemsItemVariantImage"; +import { EcommOrderChangedPayloadPurchasedItemsItemVariantPrice } from "./EcommOrderChangedPayloadPurchasedItemsItemVariantPrice"; + +export const EcommOrderChangedPayloadPurchasedItemsItem: core.serialization.ObjectSchema< + serializers.EcommOrderChangedPayloadPurchasedItemsItem.Raw, + Webflow.EcommOrderChangedPayloadPurchasedItemsItem +> = core.serialization.object({ + count: core.serialization.number().optional(), + rowTotal: EcommOrderChangedPayloadPurchasedItemsItemRowTotal.optional(), + productId: core.serialization.string().optional(), + productName: core.serialization.string().optional(), + productSlug: core.serialization.string().optional(), + variantId: core.serialization.string().optional(), + variantName: core.serialization.string().optional(), + variantSlug: core.serialization.string().optional(), + variantSku: core.serialization.property("variantSKU", core.serialization.string().optional()), + variantImage: EcommOrderChangedPayloadPurchasedItemsItemVariantImage.optional(), + variantPrice: EcommOrderChangedPayloadPurchasedItemsItemVariantPrice.optional(), + weight: core.serialization.number().optional(), + width: core.serialization.number().optional(), + height: core.serialization.number().optional(), + length: core.serialization.number().optional(), +}); + +export declare namespace EcommOrderChangedPayloadPurchasedItemsItem { + interface Raw { + count?: number | null; + rowTotal?: EcommOrderChangedPayloadPurchasedItemsItemRowTotal.Raw | null; + productId?: string | null; + productName?: string | null; + productSlug?: string | null; + variantId?: string | null; + variantName?: string | null; + variantSlug?: string | null; + variantSKU?: string | null; + variantImage?: EcommOrderChangedPayloadPurchasedItemsItemVariantImage.Raw | null; + variantPrice?: EcommOrderChangedPayloadPurchasedItemsItemVariantPrice.Raw | null; + weight?: number | null; + width?: number | null; + height?: number | null; + length?: number | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItemRowTotal.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItemRowTotal.ts new file mode 100644 index 00000000..1a769525 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItemRowTotal.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommOrderChangedPayloadPurchasedItemsItemRowTotal: core.serialization.ObjectSchema< + serializers.EcommOrderChangedPayloadPurchasedItemsItemRowTotal.Raw, + Webflow.EcommOrderChangedPayloadPurchasedItemsItemRowTotal +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace EcommOrderChangedPayloadPurchasedItemsItemRowTotal { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItemVariantImage.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItemVariantImage.ts new file mode 100644 index 00000000..e3650630 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItemVariantImage.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { EcommOrderChangedPayloadPurchasedItemsItemVariantImageFile } from "./EcommOrderChangedPayloadPurchasedItemsItemVariantImageFile"; + +export const EcommOrderChangedPayloadPurchasedItemsItemVariantImage: core.serialization.ObjectSchema< + serializers.EcommOrderChangedPayloadPurchasedItemsItemVariantImage.Raw, + Webflow.EcommOrderChangedPayloadPurchasedItemsItemVariantImage +> = core.serialization.object({ + url: core.serialization.string().optional(), + file: EcommOrderChangedPayloadPurchasedItemsItemVariantImageFile.optional(), +}); + +export declare namespace EcommOrderChangedPayloadPurchasedItemsItemVariantImage { + interface Raw { + url?: string | null; + file?: EcommOrderChangedPayloadPurchasedItemsItemVariantImageFile.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItemVariantImageFile.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItemVariantImageFile.ts new file mode 100644 index 00000000..977c8bcb --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItemVariantImageFile.ts @@ -0,0 +1,35 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { EcommOrderChangedPayloadPurchasedItemsItemVariantImageFileVariantsItem } from "./EcommOrderChangedPayloadPurchasedItemsItemVariantImageFileVariantsItem"; + +export const EcommOrderChangedPayloadPurchasedItemsItemVariantImageFile: core.serialization.ObjectSchema< + serializers.EcommOrderChangedPayloadPurchasedItemsItemVariantImageFile.Raw, + Webflow.EcommOrderChangedPayloadPurchasedItemsItemVariantImageFile +> = core.serialization.object({ + size: core.serialization.number().optional(), + originalFileName: core.serialization.string().optional(), + createdOn: core.serialization.date().optional(), + contentType: core.serialization.string().optional(), + width: core.serialization.number().optional(), + height: core.serialization.number().optional(), + variants: core.serialization + .list(EcommOrderChangedPayloadPurchasedItemsItemVariantImageFileVariantsItem) + .optional(), +}); + +export declare namespace EcommOrderChangedPayloadPurchasedItemsItemVariantImageFile { + interface Raw { + size?: number | null; + originalFileName?: string | null; + createdOn?: string | null; + contentType?: string | null; + width?: number | null; + height?: number | null; + variants?: EcommOrderChangedPayloadPurchasedItemsItemVariantImageFileVariantsItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItemVariantImageFileVariantsItem.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItemVariantImageFileVariantsItem.ts new file mode 100644 index 00000000..de4315bd --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItemVariantImageFileVariantsItem.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommOrderChangedPayloadPurchasedItemsItemVariantImageFileVariantsItem: core.serialization.ObjectSchema< + serializers.EcommOrderChangedPayloadPurchasedItemsItemVariantImageFileVariantsItem.Raw, + Webflow.EcommOrderChangedPayloadPurchasedItemsItemVariantImageFileVariantsItem +> = core.serialization.object({ + url: core.serialization.string().optional(), + originalFileName: core.serialization.string().optional(), + size: core.serialization.number().optional(), + width: core.serialization.number().optional(), + height: core.serialization.number().optional(), +}); + +export declare namespace EcommOrderChangedPayloadPurchasedItemsItemVariantImageFileVariantsItem { + interface Raw { + url?: string | null; + originalFileName?: string | null; + size?: number | null; + width?: number | null; + height?: number | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItemVariantPrice.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItemVariantPrice.ts new file mode 100644 index 00000000..87d83fc8 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadPurchasedItemsItemVariantPrice.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommOrderChangedPayloadPurchasedItemsItemVariantPrice: core.serialization.ObjectSchema< + serializers.EcommOrderChangedPayloadPurchasedItemsItemVariantPrice.Raw, + Webflow.EcommOrderChangedPayloadPurchasedItemsItemVariantPrice +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace EcommOrderChangedPayloadPurchasedItemsItemVariantPrice { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadShippingAddress.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadShippingAddress.ts new file mode 100644 index 00000000..d71c5c97 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadShippingAddress.ts @@ -0,0 +1,38 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { EcommOrderChangedPayloadShippingAddressType } from "./EcommOrderChangedPayloadShippingAddressType"; +import { EcommOrderChangedPayloadShippingAddressJapanType } from "./EcommOrderChangedPayloadShippingAddressJapanType"; + +export const EcommOrderChangedPayloadShippingAddress: core.serialization.ObjectSchema< + serializers.EcommOrderChangedPayloadShippingAddress.Raw, + Webflow.EcommOrderChangedPayloadShippingAddress +> = core.serialization.object({ + type: EcommOrderChangedPayloadShippingAddressType.optional(), + japanType: EcommOrderChangedPayloadShippingAddressJapanType.optional(), + addressee: core.serialization.string().optional(), + line1: core.serialization.string().optional(), + line2: core.serialization.string().optional(), + city: core.serialization.string().optional(), + state: core.serialization.string().optional(), + country: core.serialization.string().optional(), + postalCode: core.serialization.string().optional(), +}); + +export declare namespace EcommOrderChangedPayloadShippingAddress { + interface Raw { + type?: EcommOrderChangedPayloadShippingAddressType.Raw | null; + japanType?: EcommOrderChangedPayloadShippingAddressJapanType.Raw | null; + addressee?: string | null; + line1?: string | null; + line2?: string | null; + city?: string | null; + state?: string | null; + country?: string | null; + postalCode?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadShippingAddressJapanType.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadShippingAddressJapanType.ts new file mode 100644 index 00000000..17e9e442 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadShippingAddressJapanType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommOrderChangedPayloadShippingAddressJapanType: core.serialization.Schema< + serializers.EcommOrderChangedPayloadShippingAddressJapanType.Raw, + Webflow.EcommOrderChangedPayloadShippingAddressJapanType +> = core.serialization.enum_(["kana", "kanji"]); + +export declare namespace EcommOrderChangedPayloadShippingAddressJapanType { + type Raw = "kana" | "kanji"; +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadShippingAddressType.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadShippingAddressType.ts new file mode 100644 index 00000000..051e8b06 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadShippingAddressType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommOrderChangedPayloadShippingAddressType: core.serialization.Schema< + serializers.EcommOrderChangedPayloadShippingAddressType.Raw, + Webflow.EcommOrderChangedPayloadShippingAddressType +> = core.serialization.enum_(["shipping", "billing"]); + +export declare namespace EcommOrderChangedPayloadShippingAddressType { + type Raw = "shipping" | "billing"; +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadStatus.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadStatus.ts new file mode 100644 index 00000000..867244b4 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadStatus.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommOrderChangedPayloadStatus: core.serialization.Schema< + serializers.EcommOrderChangedPayloadStatus.Raw, + Webflow.EcommOrderChangedPayloadStatus +> = core.serialization.enum_(["pending", "unfulfilled", "fulfilled", "disputed", "dispute-lost", "refunded"]); + +export declare namespace EcommOrderChangedPayloadStatus { + type Raw = "pending" | "unfulfilled" | "fulfilled" | "disputed" | "dispute-lost" | "refunded"; +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadStripeCard.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadStripeCard.ts new file mode 100644 index 00000000..4036881f --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadStripeCard.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { EcommOrderChangedPayloadStripeCardBrand } from "./EcommOrderChangedPayloadStripeCardBrand"; +import { EcommOrderChangedPayloadStripeCardExpires } from "./EcommOrderChangedPayloadStripeCardExpires"; + +export const EcommOrderChangedPayloadStripeCard: core.serialization.ObjectSchema< + serializers.EcommOrderChangedPayloadStripeCard.Raw, + Webflow.EcommOrderChangedPayloadStripeCard +> = core.serialization.object({ + last4: core.serialization.string().optional(), + brand: EcommOrderChangedPayloadStripeCardBrand.optional(), + ownerName: core.serialization.string().optional(), + expires: EcommOrderChangedPayloadStripeCardExpires.optional(), +}); + +export declare namespace EcommOrderChangedPayloadStripeCard { + interface Raw { + last4?: string | null; + brand?: EcommOrderChangedPayloadStripeCardBrand.Raw | null; + ownerName?: string | null; + expires?: EcommOrderChangedPayloadStripeCardExpires.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadStripeCardBrand.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadStripeCardBrand.ts new file mode 100644 index 00000000..aedb083c --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadStripeCardBrand.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommOrderChangedPayloadStripeCardBrand: core.serialization.Schema< + serializers.EcommOrderChangedPayloadStripeCardBrand.Raw, + Webflow.EcommOrderChangedPayloadStripeCardBrand +> = core.serialization.enum_(["Visa", "American Express", "MasterCard", "Discover", "JCB", "Diners Club", "Unknown"]); + +export declare namespace EcommOrderChangedPayloadStripeCardBrand { + type Raw = "Visa" | "American Express" | "MasterCard" | "Discover" | "JCB" | "Diners Club" | "Unknown"; +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadStripeCardExpires.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadStripeCardExpires.ts new file mode 100644 index 00000000..3e07cac7 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadStripeCardExpires.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommOrderChangedPayloadStripeCardExpires: core.serialization.ObjectSchema< + serializers.EcommOrderChangedPayloadStripeCardExpires.Raw, + Webflow.EcommOrderChangedPayloadStripeCardExpires +> = core.serialization.object({ + year: core.serialization.number().optional(), + month: core.serialization.number().optional(), +}); + +export declare namespace EcommOrderChangedPayloadStripeCardExpires { + interface Raw { + year?: number | null; + month?: number | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadStripeDetails.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadStripeDetails.ts new file mode 100644 index 00000000..0b79089f --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadStripeDetails.ts @@ -0,0 +1,34 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommOrderChangedPayloadStripeDetails: core.serialization.ObjectSchema< + serializers.EcommOrderChangedPayloadStripeDetails.Raw, + Webflow.EcommOrderChangedPayloadStripeDetails +> = core.serialization.object({ + subscriptionId: core.serialization.string().optional(), + paymentMethod: core.serialization.string().optional(), + paymentIntentId: core.serialization.string().optional(), + customerId: core.serialization.string().optional(), + chargeId: core.serialization.string().optional(), + disputeId: core.serialization.string().optional(), + refundId: core.serialization.string().optional(), + refundReason: core.serialization.string().optional(), +}); + +export declare namespace EcommOrderChangedPayloadStripeDetails { + interface Raw { + subscriptionId?: string | null; + paymentMethod?: string | null; + paymentIntentId?: string | null; + customerId?: string | null; + chargeId?: string | null; + disputeId?: string | null; + refundId?: string | null; + refundReason?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadTotals.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadTotals.ts new file mode 100644 index 00000000..39a668a4 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadTotals.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { EcommOrderChangedPayloadTotalsSubtotal } from "./EcommOrderChangedPayloadTotalsSubtotal"; +import { EcommOrderChangedPayloadTotalsExtrasItem } from "./EcommOrderChangedPayloadTotalsExtrasItem"; +import { EcommOrderChangedPayloadTotalsTotal } from "./EcommOrderChangedPayloadTotalsTotal"; + +export const EcommOrderChangedPayloadTotals: core.serialization.ObjectSchema< + serializers.EcommOrderChangedPayloadTotals.Raw, + Webflow.EcommOrderChangedPayloadTotals +> = core.serialization.object({ + subtotal: EcommOrderChangedPayloadTotalsSubtotal.optional(), + extras: core.serialization.list(EcommOrderChangedPayloadTotalsExtrasItem).optional(), + total: EcommOrderChangedPayloadTotalsTotal.optional(), +}); + +export declare namespace EcommOrderChangedPayloadTotals { + interface Raw { + subtotal?: EcommOrderChangedPayloadTotalsSubtotal.Raw | null; + extras?: EcommOrderChangedPayloadTotalsExtrasItem.Raw[] | null; + total?: EcommOrderChangedPayloadTotalsTotal.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadTotalsExtrasItem.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadTotalsExtrasItem.ts new file mode 100644 index 00000000..fb66d5ea --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadTotalsExtrasItem.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { EcommOrderChangedPayloadTotalsExtrasItemType } from "./EcommOrderChangedPayloadTotalsExtrasItemType"; +import { EcommOrderChangedPayloadTotalsExtrasItemPrice } from "./EcommOrderChangedPayloadTotalsExtrasItemPrice"; + +export const EcommOrderChangedPayloadTotalsExtrasItem: core.serialization.ObjectSchema< + serializers.EcommOrderChangedPayloadTotalsExtrasItem.Raw, + Webflow.EcommOrderChangedPayloadTotalsExtrasItem +> = core.serialization.object({ + type: EcommOrderChangedPayloadTotalsExtrasItemType.optional(), + name: core.serialization.string().optional(), + description: core.serialization.string().optional(), + price: EcommOrderChangedPayloadTotalsExtrasItemPrice.optional(), +}); + +export declare namespace EcommOrderChangedPayloadTotalsExtrasItem { + interface Raw { + type?: EcommOrderChangedPayloadTotalsExtrasItemType.Raw | null; + name?: string | null; + description?: string | null; + price?: EcommOrderChangedPayloadTotalsExtrasItemPrice.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadTotalsExtrasItemPrice.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadTotalsExtrasItemPrice.ts new file mode 100644 index 00000000..89853ed8 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadTotalsExtrasItemPrice.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommOrderChangedPayloadTotalsExtrasItemPrice: core.serialization.ObjectSchema< + serializers.EcommOrderChangedPayloadTotalsExtrasItemPrice.Raw, + Webflow.EcommOrderChangedPayloadTotalsExtrasItemPrice +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace EcommOrderChangedPayloadTotalsExtrasItemPrice { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadTotalsExtrasItemType.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadTotalsExtrasItemType.ts new file mode 100644 index 00000000..86102887 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadTotalsExtrasItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommOrderChangedPayloadTotalsExtrasItemType: core.serialization.Schema< + serializers.EcommOrderChangedPayloadTotalsExtrasItemType.Raw, + Webflow.EcommOrderChangedPayloadTotalsExtrasItemType +> = core.serialization.enum_(["discount", "discount-shipping", "shipping", "tax"]); + +export declare namespace EcommOrderChangedPayloadTotalsExtrasItemType { + type Raw = "discount" | "discount-shipping" | "shipping" | "tax"; +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadTotalsSubtotal.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadTotalsSubtotal.ts new file mode 100644 index 00000000..46473478 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadTotalsSubtotal.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommOrderChangedPayloadTotalsSubtotal: core.serialization.ObjectSchema< + serializers.EcommOrderChangedPayloadTotalsSubtotal.Raw, + Webflow.EcommOrderChangedPayloadTotalsSubtotal +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace EcommOrderChangedPayloadTotalsSubtotal { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/EcommOrderChangedPayloadTotalsTotal.ts b/src/serialization/resources/orders/types/EcommOrderChangedPayloadTotalsTotal.ts new file mode 100644 index 00000000..9cc07505 --- /dev/null +++ b/src/serialization/resources/orders/types/EcommOrderChangedPayloadTotalsTotal.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const EcommOrderChangedPayloadTotalsTotal: core.serialization.ObjectSchema< + serializers.EcommOrderChangedPayloadTotalsTotal.Raw, + Webflow.EcommOrderChangedPayloadTotalsTotal +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace EcommOrderChangedPayloadTotalsTotal { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponse.ts b/src/serialization/resources/orders/types/OrdersGetResponse.ts new file mode 100644 index 00000000..ed79eb9b --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponse.ts @@ -0,0 +1,102 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersGetResponseStatus } from "./OrdersGetResponseStatus"; +import { OrdersGetResponseDisputeLastStatus } from "./OrdersGetResponseDisputeLastStatus"; +import { OrdersGetResponseCustomerPaid } from "./OrdersGetResponseCustomerPaid"; +import { OrdersGetResponseNetAmount } from "./OrdersGetResponseNetAmount"; +import { OrdersGetResponseApplicationFee } from "./OrdersGetResponseApplicationFee"; +import { OrdersGetResponseAllAddressesItem } from "./OrdersGetResponseAllAddressesItem"; +import { OrdersGetResponseShippingAddress } from "./OrdersGetResponseShippingAddress"; +import { OrdersGetResponseBillingAddress } from "./OrdersGetResponseBillingAddress"; +import { OrdersGetResponseCustomerInfo } from "./OrdersGetResponseCustomerInfo"; +import { OrdersGetResponsePurchasedItemsItem } from "./OrdersGetResponsePurchasedItemsItem"; +import { OrdersGetResponseStripeDetails } from "./OrdersGetResponseStripeDetails"; +import { OrdersGetResponseStripeCard } from "./OrdersGetResponseStripeCard"; +import { OrdersGetResponsePaypalDetails } from "./OrdersGetResponsePaypalDetails"; +import { OrdersGetResponseMetadata } from "./OrdersGetResponseMetadata"; +import { OrdersGetResponseTotals } from "./OrdersGetResponseTotals"; +import { OrdersGetResponseDownloadFilesItem } from "./OrdersGetResponseDownloadFilesItem"; + +export const OrdersGetResponse: core.serialization.ObjectSchema< + serializers.OrdersGetResponse.Raw, + Webflow.OrdersGetResponse +> = core.serialization.object({ + orderId: core.serialization.string().optional(), + status: OrdersGetResponseStatus.optional(), + comment: core.serialization.string().optional(), + orderComment: core.serialization.string().optional(), + acceptedOn: core.serialization.date().optional(), + fulfilledOn: core.serialization.date().optional(), + refundedOn: core.serialization.date().optional(), + disputedOn: core.serialization.date().optional(), + disputeUpdatedOn: core.serialization.date().optional(), + disputeLastStatus: OrdersGetResponseDisputeLastStatus.optional(), + customerPaid: OrdersGetResponseCustomerPaid.optional(), + netAmount: OrdersGetResponseNetAmount.optional(), + applicationFee: OrdersGetResponseApplicationFee.optional(), + allAddresses: core.serialization.list(OrdersGetResponseAllAddressesItem).optional(), + shippingAddress: OrdersGetResponseShippingAddress.optional(), + billingAddress: OrdersGetResponseBillingAddress.optional(), + shippingProvider: core.serialization.string().optional(), + shippingTracking: core.serialization.string().optional(), + shippingTrackingUrl: core.serialization.property("shippingTrackingURL", core.serialization.string().optional()), + customerInfo: OrdersGetResponseCustomerInfo.optional(), + purchasedItems: core.serialization.list(OrdersGetResponsePurchasedItemsItem).optional(), + purchasedItemsCount: core.serialization.number().optional(), + stripeDetails: OrdersGetResponseStripeDetails.optional(), + stripeCard: OrdersGetResponseStripeCard.optional(), + paypalDetails: OrdersGetResponsePaypalDetails.optional(), + customData: core.serialization + .list(core.serialization.record(core.serialization.string(), core.serialization.unknown())) + .optional(), + metadata: OrdersGetResponseMetadata.optional(), + isCustomerDeleted: core.serialization.boolean().optional(), + isShippingRequired: core.serialization.boolean().optional(), + hasDownloads: core.serialization.boolean().optional(), + paymentProcessor: core.serialization.string().optional(), + totals: OrdersGetResponseTotals.optional(), + downloadFiles: core.serialization.list(OrdersGetResponseDownloadFilesItem).optional(), +}); + +export declare namespace OrdersGetResponse { + interface Raw { + orderId?: string | null; + status?: OrdersGetResponseStatus.Raw | null; + comment?: string | null; + orderComment?: string | null; + acceptedOn?: string | null; + fulfilledOn?: string | null; + refundedOn?: string | null; + disputedOn?: string | null; + disputeUpdatedOn?: string | null; + disputeLastStatus?: OrdersGetResponseDisputeLastStatus.Raw | null; + customerPaid?: OrdersGetResponseCustomerPaid.Raw | null; + netAmount?: OrdersGetResponseNetAmount.Raw | null; + applicationFee?: OrdersGetResponseApplicationFee.Raw | null; + allAddresses?: OrdersGetResponseAllAddressesItem.Raw[] | null; + shippingAddress?: OrdersGetResponseShippingAddress.Raw | null; + billingAddress?: OrdersGetResponseBillingAddress.Raw | null; + shippingProvider?: string | null; + shippingTracking?: string | null; + shippingTrackingURL?: string | null; + customerInfo?: OrdersGetResponseCustomerInfo.Raw | null; + purchasedItems?: OrdersGetResponsePurchasedItemsItem.Raw[] | null; + purchasedItemsCount?: number | null; + stripeDetails?: OrdersGetResponseStripeDetails.Raw | null; + stripeCard?: OrdersGetResponseStripeCard.Raw | null; + paypalDetails?: OrdersGetResponsePaypalDetails.Raw | null; + customData?: Record[] | null; + metadata?: OrdersGetResponseMetadata.Raw | null; + isCustomerDeleted?: boolean | null; + isShippingRequired?: boolean | null; + hasDownloads?: boolean | null; + paymentProcessor?: string | null; + totals?: OrdersGetResponseTotals.Raw | null; + downloadFiles?: OrdersGetResponseDownloadFilesItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponseAllAddressesItem.ts b/src/serialization/resources/orders/types/OrdersGetResponseAllAddressesItem.ts new file mode 100644 index 00000000..4663fdc5 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponseAllAddressesItem.ts @@ -0,0 +1,38 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersGetResponseAllAddressesItemType } from "./OrdersGetResponseAllAddressesItemType"; +import { OrdersGetResponseAllAddressesItemJapanType } from "./OrdersGetResponseAllAddressesItemJapanType"; + +export const OrdersGetResponseAllAddressesItem: core.serialization.ObjectSchema< + serializers.OrdersGetResponseAllAddressesItem.Raw, + Webflow.OrdersGetResponseAllAddressesItem +> = core.serialization.object({ + type: OrdersGetResponseAllAddressesItemType.optional(), + japanType: OrdersGetResponseAllAddressesItemJapanType.optional(), + addressee: core.serialization.string().optional(), + line1: core.serialization.string().optional(), + line2: core.serialization.string().optional(), + city: core.serialization.string().optional(), + state: core.serialization.string().optional(), + country: core.serialization.string().optional(), + postalCode: core.serialization.string().optional(), +}); + +export declare namespace OrdersGetResponseAllAddressesItem { + interface Raw { + type?: OrdersGetResponseAllAddressesItemType.Raw | null; + japanType?: OrdersGetResponseAllAddressesItemJapanType.Raw | null; + addressee?: string | null; + line1?: string | null; + line2?: string | null; + city?: string | null; + state?: string | null; + country?: string | null; + postalCode?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponseAllAddressesItemJapanType.ts b/src/serialization/resources/orders/types/OrdersGetResponseAllAddressesItemJapanType.ts new file mode 100644 index 00000000..862d8885 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponseAllAddressesItemJapanType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersGetResponseAllAddressesItemJapanType: core.serialization.Schema< + serializers.OrdersGetResponseAllAddressesItemJapanType.Raw, + Webflow.OrdersGetResponseAllAddressesItemJapanType +> = core.serialization.enum_(["kana", "kanji"]); + +export declare namespace OrdersGetResponseAllAddressesItemJapanType { + type Raw = "kana" | "kanji"; +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponseAllAddressesItemType.ts b/src/serialization/resources/orders/types/OrdersGetResponseAllAddressesItemType.ts new file mode 100644 index 00000000..501fdbeb --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponseAllAddressesItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersGetResponseAllAddressesItemType: core.serialization.Schema< + serializers.OrdersGetResponseAllAddressesItemType.Raw, + Webflow.OrdersGetResponseAllAddressesItemType +> = core.serialization.enum_(["shipping", "billing"]); + +export declare namespace OrdersGetResponseAllAddressesItemType { + type Raw = "shipping" | "billing"; +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponseApplicationFee.ts b/src/serialization/resources/orders/types/OrdersGetResponseApplicationFee.ts new file mode 100644 index 00000000..087f76a8 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponseApplicationFee.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersGetResponseApplicationFee: core.serialization.ObjectSchema< + serializers.OrdersGetResponseApplicationFee.Raw, + Webflow.OrdersGetResponseApplicationFee +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersGetResponseApplicationFee { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponseBillingAddress.ts b/src/serialization/resources/orders/types/OrdersGetResponseBillingAddress.ts new file mode 100644 index 00000000..a5735068 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponseBillingAddress.ts @@ -0,0 +1,38 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersGetResponseBillingAddressType } from "./OrdersGetResponseBillingAddressType"; +import { OrdersGetResponseBillingAddressJapanType } from "./OrdersGetResponseBillingAddressJapanType"; + +export const OrdersGetResponseBillingAddress: core.serialization.ObjectSchema< + serializers.OrdersGetResponseBillingAddress.Raw, + Webflow.OrdersGetResponseBillingAddress +> = core.serialization.object({ + type: OrdersGetResponseBillingAddressType.optional(), + japanType: OrdersGetResponseBillingAddressJapanType.optional(), + addressee: core.serialization.string().optional(), + line1: core.serialization.string().optional(), + line2: core.serialization.string().optional(), + city: core.serialization.string().optional(), + state: core.serialization.string().optional(), + country: core.serialization.string().optional(), + postalCode: core.serialization.string().optional(), +}); + +export declare namespace OrdersGetResponseBillingAddress { + interface Raw { + type?: OrdersGetResponseBillingAddressType.Raw | null; + japanType?: OrdersGetResponseBillingAddressJapanType.Raw | null; + addressee?: string | null; + line1?: string | null; + line2?: string | null; + city?: string | null; + state?: string | null; + country?: string | null; + postalCode?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponseBillingAddressJapanType.ts b/src/serialization/resources/orders/types/OrdersGetResponseBillingAddressJapanType.ts new file mode 100644 index 00000000..d531ef6b --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponseBillingAddressJapanType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersGetResponseBillingAddressJapanType: core.serialization.Schema< + serializers.OrdersGetResponseBillingAddressJapanType.Raw, + Webflow.OrdersGetResponseBillingAddressJapanType +> = core.serialization.enum_(["kana", "kanji"]); + +export declare namespace OrdersGetResponseBillingAddressJapanType { + type Raw = "kana" | "kanji"; +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponseBillingAddressType.ts b/src/serialization/resources/orders/types/OrdersGetResponseBillingAddressType.ts new file mode 100644 index 00000000..7dd0880d --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponseBillingAddressType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersGetResponseBillingAddressType: core.serialization.Schema< + serializers.OrdersGetResponseBillingAddressType.Raw, + Webflow.OrdersGetResponseBillingAddressType +> = core.serialization.enum_(["shipping", "billing"]); + +export declare namespace OrdersGetResponseBillingAddressType { + type Raw = "shipping" | "billing"; +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponseCustomerInfo.ts b/src/serialization/resources/orders/types/OrdersGetResponseCustomerInfo.ts new file mode 100644 index 00000000..ac73d20e --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponseCustomerInfo.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersGetResponseCustomerInfo: core.serialization.ObjectSchema< + serializers.OrdersGetResponseCustomerInfo.Raw, + Webflow.OrdersGetResponseCustomerInfo +> = core.serialization.object({ + fullName: core.serialization.string().optional(), + email: core.serialization.string().optional(), +}); + +export declare namespace OrdersGetResponseCustomerInfo { + interface Raw { + fullName?: string | null; + email?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponseCustomerPaid.ts b/src/serialization/resources/orders/types/OrdersGetResponseCustomerPaid.ts new file mode 100644 index 00000000..0688b66c --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponseCustomerPaid.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersGetResponseCustomerPaid: core.serialization.ObjectSchema< + serializers.OrdersGetResponseCustomerPaid.Raw, + Webflow.OrdersGetResponseCustomerPaid +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersGetResponseCustomerPaid { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponseDisputeLastStatus.ts b/src/serialization/resources/orders/types/OrdersGetResponseDisputeLastStatus.ts new file mode 100644 index 00000000..c923ed5c --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponseDisputeLastStatus.ts @@ -0,0 +1,33 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersGetResponseDisputeLastStatus: core.serialization.Schema< + serializers.OrdersGetResponseDisputeLastStatus.Raw, + Webflow.OrdersGetResponseDisputeLastStatus +> = core.serialization.enum_([ + "warning_needs_response", + "warning_under_review", + "warning_closed", + "needs_response", + "under_review", + "charge_refunded", + "won", + "lost", +]); + +export declare namespace OrdersGetResponseDisputeLastStatus { + type Raw = + | "warning_needs_response" + | "warning_under_review" + | "warning_closed" + | "needs_response" + | "under_review" + | "charge_refunded" + | "won" + | "lost"; +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponseDownloadFilesItem.ts b/src/serialization/resources/orders/types/OrdersGetResponseDownloadFilesItem.ts new file mode 100644 index 00000000..341a24d0 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponseDownloadFilesItem.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersGetResponseDownloadFilesItem: core.serialization.ObjectSchema< + serializers.OrdersGetResponseDownloadFilesItem.Raw, + Webflow.OrdersGetResponseDownloadFilesItem +> = core.serialization.object({ + id: core.serialization.string().optional(), + name: core.serialization.string().optional(), + url: core.serialization.string().optional(), +}); + +export declare namespace OrdersGetResponseDownloadFilesItem { + interface Raw { + id?: string | null; + name?: string | null; + url?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponseMetadata.ts b/src/serialization/resources/orders/types/OrdersGetResponseMetadata.ts new file mode 100644 index 00000000..8ee5be40 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponseMetadata.ts @@ -0,0 +1,20 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersGetResponseMetadata: core.serialization.ObjectSchema< + serializers.OrdersGetResponseMetadata.Raw, + Webflow.OrdersGetResponseMetadata +> = core.serialization.object({ + isBuyNow: core.serialization.boolean().optional(), +}); + +export declare namespace OrdersGetResponseMetadata { + interface Raw { + isBuyNow?: boolean | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponseNetAmount.ts b/src/serialization/resources/orders/types/OrdersGetResponseNetAmount.ts new file mode 100644 index 00000000..1f072e95 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponseNetAmount.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersGetResponseNetAmount: core.serialization.ObjectSchema< + serializers.OrdersGetResponseNetAmount.Raw, + Webflow.OrdersGetResponseNetAmount +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersGetResponseNetAmount { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponsePaypalDetails.ts b/src/serialization/resources/orders/types/OrdersGetResponsePaypalDetails.ts new file mode 100644 index 00000000..3d135266 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponsePaypalDetails.ts @@ -0,0 +1,30 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersGetResponsePaypalDetails: core.serialization.ObjectSchema< + serializers.OrdersGetResponsePaypalDetails.Raw, + Webflow.OrdersGetResponsePaypalDetails +> = core.serialization.object({ + orderId: core.serialization.string().optional(), + payerId: core.serialization.string().optional(), + captureId: core.serialization.string().optional(), + refundId: core.serialization.string().optional(), + refundReason: core.serialization.string().optional(), + disputeId: core.serialization.string().optional(), +}); + +export declare namespace OrdersGetResponsePaypalDetails { + interface Raw { + orderId?: string | null; + payerId?: string | null; + captureId?: string | null; + refundId?: string | null; + refundReason?: string | null; + disputeId?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponsePurchasedItemsItem.ts b/src/serialization/resources/orders/types/OrdersGetResponsePurchasedItemsItem.ts new file mode 100644 index 00000000..060bc1df --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponsePurchasedItemsItem.ts @@ -0,0 +1,51 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersGetResponsePurchasedItemsItemRowTotal } from "./OrdersGetResponsePurchasedItemsItemRowTotal"; +import { OrdersGetResponsePurchasedItemsItemVariantImage } from "./OrdersGetResponsePurchasedItemsItemVariantImage"; +import { OrdersGetResponsePurchasedItemsItemVariantPrice } from "./OrdersGetResponsePurchasedItemsItemVariantPrice"; + +export const OrdersGetResponsePurchasedItemsItem: core.serialization.ObjectSchema< + serializers.OrdersGetResponsePurchasedItemsItem.Raw, + Webflow.OrdersGetResponsePurchasedItemsItem +> = core.serialization.object({ + count: core.serialization.number().optional(), + rowTotal: OrdersGetResponsePurchasedItemsItemRowTotal.optional(), + productId: core.serialization.string().optional(), + productName: core.serialization.string().optional(), + productSlug: core.serialization.string().optional(), + variantId: core.serialization.string().optional(), + variantName: core.serialization.string().optional(), + variantSlug: core.serialization.string().optional(), + variantSku: core.serialization.property("variantSKU", core.serialization.string().optional()), + variantImage: OrdersGetResponsePurchasedItemsItemVariantImage.optional(), + variantPrice: OrdersGetResponsePurchasedItemsItemVariantPrice.optional(), + weight: core.serialization.number().optional(), + width: core.serialization.number().optional(), + height: core.serialization.number().optional(), + length: core.serialization.number().optional(), +}); + +export declare namespace OrdersGetResponsePurchasedItemsItem { + interface Raw { + count?: number | null; + rowTotal?: OrdersGetResponsePurchasedItemsItemRowTotal.Raw | null; + productId?: string | null; + productName?: string | null; + productSlug?: string | null; + variantId?: string | null; + variantName?: string | null; + variantSlug?: string | null; + variantSKU?: string | null; + variantImage?: OrdersGetResponsePurchasedItemsItemVariantImage.Raw | null; + variantPrice?: OrdersGetResponsePurchasedItemsItemVariantPrice.Raw | null; + weight?: number | null; + width?: number | null; + height?: number | null; + length?: number | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponsePurchasedItemsItemRowTotal.ts b/src/serialization/resources/orders/types/OrdersGetResponsePurchasedItemsItemRowTotal.ts new file mode 100644 index 00000000..2c04ee8b --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponsePurchasedItemsItemRowTotal.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersGetResponsePurchasedItemsItemRowTotal: core.serialization.ObjectSchema< + serializers.OrdersGetResponsePurchasedItemsItemRowTotal.Raw, + Webflow.OrdersGetResponsePurchasedItemsItemRowTotal +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersGetResponsePurchasedItemsItemRowTotal { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponsePurchasedItemsItemVariantImage.ts b/src/serialization/resources/orders/types/OrdersGetResponsePurchasedItemsItemVariantImage.ts new file mode 100644 index 00000000..691fccb8 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponsePurchasedItemsItemVariantImage.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersGetResponsePurchasedItemsItemVariantImageFile } from "./OrdersGetResponsePurchasedItemsItemVariantImageFile"; + +export const OrdersGetResponsePurchasedItemsItemVariantImage: core.serialization.ObjectSchema< + serializers.OrdersGetResponsePurchasedItemsItemVariantImage.Raw, + Webflow.OrdersGetResponsePurchasedItemsItemVariantImage +> = core.serialization.object({ + url: core.serialization.string().optional(), + file: OrdersGetResponsePurchasedItemsItemVariantImageFile.optional(), +}); + +export declare namespace OrdersGetResponsePurchasedItemsItemVariantImage { + interface Raw { + url?: string | null; + file?: OrdersGetResponsePurchasedItemsItemVariantImageFile.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponsePurchasedItemsItemVariantImageFile.ts b/src/serialization/resources/orders/types/OrdersGetResponsePurchasedItemsItemVariantImageFile.ts new file mode 100644 index 00000000..be98469e --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponsePurchasedItemsItemVariantImageFile.ts @@ -0,0 +1,33 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersGetResponsePurchasedItemsItemVariantImageFileVariantsItem } from "./OrdersGetResponsePurchasedItemsItemVariantImageFileVariantsItem"; + +export const OrdersGetResponsePurchasedItemsItemVariantImageFile: core.serialization.ObjectSchema< + serializers.OrdersGetResponsePurchasedItemsItemVariantImageFile.Raw, + Webflow.OrdersGetResponsePurchasedItemsItemVariantImageFile +> = core.serialization.object({ + size: core.serialization.number().optional(), + originalFileName: core.serialization.string().optional(), + createdOn: core.serialization.date().optional(), + contentType: core.serialization.string().optional(), + width: core.serialization.number().optional(), + height: core.serialization.number().optional(), + variants: core.serialization.list(OrdersGetResponsePurchasedItemsItemVariantImageFileVariantsItem).optional(), +}); + +export declare namespace OrdersGetResponsePurchasedItemsItemVariantImageFile { + interface Raw { + size?: number | null; + originalFileName?: string | null; + createdOn?: string | null; + contentType?: string | null; + width?: number | null; + height?: number | null; + variants?: OrdersGetResponsePurchasedItemsItemVariantImageFileVariantsItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponsePurchasedItemsItemVariantImageFileVariantsItem.ts b/src/serialization/resources/orders/types/OrdersGetResponsePurchasedItemsItemVariantImageFileVariantsItem.ts new file mode 100644 index 00000000..713d156b --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponsePurchasedItemsItemVariantImageFileVariantsItem.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersGetResponsePurchasedItemsItemVariantImageFileVariantsItem: core.serialization.ObjectSchema< + serializers.OrdersGetResponsePurchasedItemsItemVariantImageFileVariantsItem.Raw, + Webflow.OrdersGetResponsePurchasedItemsItemVariantImageFileVariantsItem +> = core.serialization.object({ + url: core.serialization.string().optional(), + originalFileName: core.serialization.string().optional(), + size: core.serialization.number().optional(), + width: core.serialization.number().optional(), + height: core.serialization.number().optional(), +}); + +export declare namespace OrdersGetResponsePurchasedItemsItemVariantImageFileVariantsItem { + interface Raw { + url?: string | null; + originalFileName?: string | null; + size?: number | null; + width?: number | null; + height?: number | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponsePurchasedItemsItemVariantPrice.ts b/src/serialization/resources/orders/types/OrdersGetResponsePurchasedItemsItemVariantPrice.ts new file mode 100644 index 00000000..89ae5065 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponsePurchasedItemsItemVariantPrice.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersGetResponsePurchasedItemsItemVariantPrice: core.serialization.ObjectSchema< + serializers.OrdersGetResponsePurchasedItemsItemVariantPrice.Raw, + Webflow.OrdersGetResponsePurchasedItemsItemVariantPrice +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersGetResponsePurchasedItemsItemVariantPrice { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponseShippingAddress.ts b/src/serialization/resources/orders/types/OrdersGetResponseShippingAddress.ts new file mode 100644 index 00000000..a3d4ebcd --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponseShippingAddress.ts @@ -0,0 +1,38 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersGetResponseShippingAddressType } from "./OrdersGetResponseShippingAddressType"; +import { OrdersGetResponseShippingAddressJapanType } from "./OrdersGetResponseShippingAddressJapanType"; + +export const OrdersGetResponseShippingAddress: core.serialization.ObjectSchema< + serializers.OrdersGetResponseShippingAddress.Raw, + Webflow.OrdersGetResponseShippingAddress +> = core.serialization.object({ + type: OrdersGetResponseShippingAddressType.optional(), + japanType: OrdersGetResponseShippingAddressJapanType.optional(), + addressee: core.serialization.string().optional(), + line1: core.serialization.string().optional(), + line2: core.serialization.string().optional(), + city: core.serialization.string().optional(), + state: core.serialization.string().optional(), + country: core.serialization.string().optional(), + postalCode: core.serialization.string().optional(), +}); + +export declare namespace OrdersGetResponseShippingAddress { + interface Raw { + type?: OrdersGetResponseShippingAddressType.Raw | null; + japanType?: OrdersGetResponseShippingAddressJapanType.Raw | null; + addressee?: string | null; + line1?: string | null; + line2?: string | null; + city?: string | null; + state?: string | null; + country?: string | null; + postalCode?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponseShippingAddressJapanType.ts b/src/serialization/resources/orders/types/OrdersGetResponseShippingAddressJapanType.ts new file mode 100644 index 00000000..72cc7986 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponseShippingAddressJapanType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersGetResponseShippingAddressJapanType: core.serialization.Schema< + serializers.OrdersGetResponseShippingAddressJapanType.Raw, + Webflow.OrdersGetResponseShippingAddressJapanType +> = core.serialization.enum_(["kana", "kanji"]); + +export declare namespace OrdersGetResponseShippingAddressJapanType { + type Raw = "kana" | "kanji"; +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponseShippingAddressType.ts b/src/serialization/resources/orders/types/OrdersGetResponseShippingAddressType.ts new file mode 100644 index 00000000..dda4a899 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponseShippingAddressType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersGetResponseShippingAddressType: core.serialization.Schema< + serializers.OrdersGetResponseShippingAddressType.Raw, + Webflow.OrdersGetResponseShippingAddressType +> = core.serialization.enum_(["shipping", "billing"]); + +export declare namespace OrdersGetResponseShippingAddressType { + type Raw = "shipping" | "billing"; +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponseStatus.ts b/src/serialization/resources/orders/types/OrdersGetResponseStatus.ts new file mode 100644 index 00000000..d7f4e520 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponseStatus.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersGetResponseStatus: core.serialization.Schema< + serializers.OrdersGetResponseStatus.Raw, + Webflow.OrdersGetResponseStatus +> = core.serialization.enum_(["pending", "unfulfilled", "fulfilled", "disputed", "dispute-lost", "refunded"]); + +export declare namespace OrdersGetResponseStatus { + type Raw = "pending" | "unfulfilled" | "fulfilled" | "disputed" | "dispute-lost" | "refunded"; +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponseStripeCard.ts b/src/serialization/resources/orders/types/OrdersGetResponseStripeCard.ts new file mode 100644 index 00000000..c516b096 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponseStripeCard.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersGetResponseStripeCardBrand } from "./OrdersGetResponseStripeCardBrand"; +import { OrdersGetResponseStripeCardExpires } from "./OrdersGetResponseStripeCardExpires"; + +export const OrdersGetResponseStripeCard: core.serialization.ObjectSchema< + serializers.OrdersGetResponseStripeCard.Raw, + Webflow.OrdersGetResponseStripeCard +> = core.serialization.object({ + last4: core.serialization.string().optional(), + brand: OrdersGetResponseStripeCardBrand.optional(), + ownerName: core.serialization.string().optional(), + expires: OrdersGetResponseStripeCardExpires.optional(), +}); + +export declare namespace OrdersGetResponseStripeCard { + interface Raw { + last4?: string | null; + brand?: OrdersGetResponseStripeCardBrand.Raw | null; + ownerName?: string | null; + expires?: OrdersGetResponseStripeCardExpires.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponseStripeCardBrand.ts b/src/serialization/resources/orders/types/OrdersGetResponseStripeCardBrand.ts new file mode 100644 index 00000000..0a16fa66 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponseStripeCardBrand.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersGetResponseStripeCardBrand: core.serialization.Schema< + serializers.OrdersGetResponseStripeCardBrand.Raw, + Webflow.OrdersGetResponseStripeCardBrand +> = core.serialization.enum_(["Visa", "American Express", "MasterCard", "Discover", "JCB", "Diners Club", "Unknown"]); + +export declare namespace OrdersGetResponseStripeCardBrand { + type Raw = "Visa" | "American Express" | "MasterCard" | "Discover" | "JCB" | "Diners Club" | "Unknown"; +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponseStripeCardExpires.ts b/src/serialization/resources/orders/types/OrdersGetResponseStripeCardExpires.ts new file mode 100644 index 00000000..88b88d37 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponseStripeCardExpires.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersGetResponseStripeCardExpires: core.serialization.ObjectSchema< + serializers.OrdersGetResponseStripeCardExpires.Raw, + Webflow.OrdersGetResponseStripeCardExpires +> = core.serialization.object({ + year: core.serialization.number().optional(), + month: core.serialization.number().optional(), +}); + +export declare namespace OrdersGetResponseStripeCardExpires { + interface Raw { + year?: number | null; + month?: number | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponseStripeDetails.ts b/src/serialization/resources/orders/types/OrdersGetResponseStripeDetails.ts new file mode 100644 index 00000000..43d1404d --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponseStripeDetails.ts @@ -0,0 +1,34 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersGetResponseStripeDetails: core.serialization.ObjectSchema< + serializers.OrdersGetResponseStripeDetails.Raw, + Webflow.OrdersGetResponseStripeDetails +> = core.serialization.object({ + subscriptionId: core.serialization.string().optional(), + paymentMethod: core.serialization.string().optional(), + paymentIntentId: core.serialization.string().optional(), + customerId: core.serialization.string().optional(), + chargeId: core.serialization.string().optional(), + disputeId: core.serialization.string().optional(), + refundId: core.serialization.string().optional(), + refundReason: core.serialization.string().optional(), +}); + +export declare namespace OrdersGetResponseStripeDetails { + interface Raw { + subscriptionId?: string | null; + paymentMethod?: string | null; + paymentIntentId?: string | null; + customerId?: string | null; + chargeId?: string | null; + disputeId?: string | null; + refundId?: string | null; + refundReason?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponseTotals.ts b/src/serialization/resources/orders/types/OrdersGetResponseTotals.ts new file mode 100644 index 00000000..4bf4a424 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponseTotals.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersGetResponseTotalsSubtotal } from "./OrdersGetResponseTotalsSubtotal"; +import { OrdersGetResponseTotalsExtrasItem } from "./OrdersGetResponseTotalsExtrasItem"; +import { OrdersGetResponseTotalsTotal } from "./OrdersGetResponseTotalsTotal"; + +export const OrdersGetResponseTotals: core.serialization.ObjectSchema< + serializers.OrdersGetResponseTotals.Raw, + Webflow.OrdersGetResponseTotals +> = core.serialization.object({ + subtotal: OrdersGetResponseTotalsSubtotal.optional(), + extras: core.serialization.list(OrdersGetResponseTotalsExtrasItem).optional(), + total: OrdersGetResponseTotalsTotal.optional(), +}); + +export declare namespace OrdersGetResponseTotals { + interface Raw { + subtotal?: OrdersGetResponseTotalsSubtotal.Raw | null; + extras?: OrdersGetResponseTotalsExtrasItem.Raw[] | null; + total?: OrdersGetResponseTotalsTotal.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponseTotalsExtrasItem.ts b/src/serialization/resources/orders/types/OrdersGetResponseTotalsExtrasItem.ts new file mode 100644 index 00000000..8eeff5fa --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponseTotalsExtrasItem.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersGetResponseTotalsExtrasItemType } from "./OrdersGetResponseTotalsExtrasItemType"; +import { OrdersGetResponseTotalsExtrasItemPrice } from "./OrdersGetResponseTotalsExtrasItemPrice"; + +export const OrdersGetResponseTotalsExtrasItem: core.serialization.ObjectSchema< + serializers.OrdersGetResponseTotalsExtrasItem.Raw, + Webflow.OrdersGetResponseTotalsExtrasItem +> = core.serialization.object({ + type: OrdersGetResponseTotalsExtrasItemType.optional(), + name: core.serialization.string().optional(), + description: core.serialization.string().optional(), + price: OrdersGetResponseTotalsExtrasItemPrice.optional(), +}); + +export declare namespace OrdersGetResponseTotalsExtrasItem { + interface Raw { + type?: OrdersGetResponseTotalsExtrasItemType.Raw | null; + name?: string | null; + description?: string | null; + price?: OrdersGetResponseTotalsExtrasItemPrice.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponseTotalsExtrasItemPrice.ts b/src/serialization/resources/orders/types/OrdersGetResponseTotalsExtrasItemPrice.ts new file mode 100644 index 00000000..917d8acc --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponseTotalsExtrasItemPrice.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersGetResponseTotalsExtrasItemPrice: core.serialization.ObjectSchema< + serializers.OrdersGetResponseTotalsExtrasItemPrice.Raw, + Webflow.OrdersGetResponseTotalsExtrasItemPrice +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersGetResponseTotalsExtrasItemPrice { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponseTotalsExtrasItemType.ts b/src/serialization/resources/orders/types/OrdersGetResponseTotalsExtrasItemType.ts new file mode 100644 index 00000000..cad25926 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponseTotalsExtrasItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersGetResponseTotalsExtrasItemType: core.serialization.Schema< + serializers.OrdersGetResponseTotalsExtrasItemType.Raw, + Webflow.OrdersGetResponseTotalsExtrasItemType +> = core.serialization.enum_(["discount", "discount-shipping", "shipping", "tax"]); + +export declare namespace OrdersGetResponseTotalsExtrasItemType { + type Raw = "discount" | "discount-shipping" | "shipping" | "tax"; +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponseTotalsSubtotal.ts b/src/serialization/resources/orders/types/OrdersGetResponseTotalsSubtotal.ts new file mode 100644 index 00000000..6b84f383 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponseTotalsSubtotal.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersGetResponseTotalsSubtotal: core.serialization.ObjectSchema< + serializers.OrdersGetResponseTotalsSubtotal.Raw, + Webflow.OrdersGetResponseTotalsSubtotal +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersGetResponseTotalsSubtotal { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersGetResponseTotalsTotal.ts b/src/serialization/resources/orders/types/OrdersGetResponseTotalsTotal.ts new file mode 100644 index 00000000..a6818f09 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersGetResponseTotalsTotal.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersGetResponseTotalsTotal: core.serialization.ObjectSchema< + serializers.OrdersGetResponseTotalsTotal.Raw, + Webflow.OrdersGetResponseTotalsTotal +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersGetResponseTotalsTotal { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersListResponse.ts b/src/serialization/resources/orders/types/OrdersListResponse.ts new file mode 100644 index 00000000..b972a642 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponse.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersListResponseOrdersItem } from "./OrdersListResponseOrdersItem"; +import { OrdersListResponsePagination } from "./OrdersListResponsePagination"; + +export const OrdersListResponse: core.serialization.ObjectSchema< + serializers.OrdersListResponse.Raw, + Webflow.OrdersListResponse +> = core.serialization.object({ + orders: core.serialization.list(OrdersListResponseOrdersItem).optional(), + pagination: OrdersListResponsePagination.optional(), +}); + +export declare namespace OrdersListResponse { + interface Raw { + orders?: OrdersListResponseOrdersItem.Raw[] | null; + pagination?: OrdersListResponsePagination.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItem.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItem.ts new file mode 100644 index 00000000..a98ce6b6 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItem.ts @@ -0,0 +1,102 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersListResponseOrdersItemStatus } from "./OrdersListResponseOrdersItemStatus"; +import { OrdersListResponseOrdersItemDisputeLastStatus } from "./OrdersListResponseOrdersItemDisputeLastStatus"; +import { OrdersListResponseOrdersItemCustomerPaid } from "./OrdersListResponseOrdersItemCustomerPaid"; +import { OrdersListResponseOrdersItemNetAmount } from "./OrdersListResponseOrdersItemNetAmount"; +import { OrdersListResponseOrdersItemApplicationFee } from "./OrdersListResponseOrdersItemApplicationFee"; +import { OrdersListResponseOrdersItemAllAddressesItem } from "./OrdersListResponseOrdersItemAllAddressesItem"; +import { OrdersListResponseOrdersItemShippingAddress } from "./OrdersListResponseOrdersItemShippingAddress"; +import { OrdersListResponseOrdersItemBillingAddress } from "./OrdersListResponseOrdersItemBillingAddress"; +import { OrdersListResponseOrdersItemCustomerInfo } from "./OrdersListResponseOrdersItemCustomerInfo"; +import { OrdersListResponseOrdersItemPurchasedItemsItem } from "./OrdersListResponseOrdersItemPurchasedItemsItem"; +import { OrdersListResponseOrdersItemStripeDetails } from "./OrdersListResponseOrdersItemStripeDetails"; +import { OrdersListResponseOrdersItemStripeCard } from "./OrdersListResponseOrdersItemStripeCard"; +import { OrdersListResponseOrdersItemPaypalDetails } from "./OrdersListResponseOrdersItemPaypalDetails"; +import { OrdersListResponseOrdersItemMetadata } from "./OrdersListResponseOrdersItemMetadata"; +import { OrdersListResponseOrdersItemTotals } from "./OrdersListResponseOrdersItemTotals"; +import { OrdersListResponseOrdersItemDownloadFilesItem } from "./OrdersListResponseOrdersItemDownloadFilesItem"; + +export const OrdersListResponseOrdersItem: core.serialization.ObjectSchema< + serializers.OrdersListResponseOrdersItem.Raw, + Webflow.OrdersListResponseOrdersItem +> = core.serialization.object({ + orderId: core.serialization.string().optional(), + status: OrdersListResponseOrdersItemStatus.optional(), + comment: core.serialization.string().optional(), + orderComment: core.serialization.string().optional(), + acceptedOn: core.serialization.date().optional(), + fulfilledOn: core.serialization.date().optional(), + refundedOn: core.serialization.date().optional(), + disputedOn: core.serialization.date().optional(), + disputeUpdatedOn: core.serialization.date().optional(), + disputeLastStatus: OrdersListResponseOrdersItemDisputeLastStatus.optional(), + customerPaid: OrdersListResponseOrdersItemCustomerPaid.optional(), + netAmount: OrdersListResponseOrdersItemNetAmount.optional(), + applicationFee: OrdersListResponseOrdersItemApplicationFee.optional(), + allAddresses: core.serialization.list(OrdersListResponseOrdersItemAllAddressesItem).optional(), + shippingAddress: OrdersListResponseOrdersItemShippingAddress.optional(), + billingAddress: OrdersListResponseOrdersItemBillingAddress.optional(), + shippingProvider: core.serialization.string().optional(), + shippingTracking: core.serialization.string().optional(), + shippingTrackingUrl: core.serialization.property("shippingTrackingURL", core.serialization.string().optional()), + customerInfo: OrdersListResponseOrdersItemCustomerInfo.optional(), + purchasedItems: core.serialization.list(OrdersListResponseOrdersItemPurchasedItemsItem).optional(), + purchasedItemsCount: core.serialization.number().optional(), + stripeDetails: OrdersListResponseOrdersItemStripeDetails.optional(), + stripeCard: OrdersListResponseOrdersItemStripeCard.optional(), + paypalDetails: OrdersListResponseOrdersItemPaypalDetails.optional(), + customData: core.serialization + .list(core.serialization.record(core.serialization.string(), core.serialization.unknown())) + .optional(), + metadata: OrdersListResponseOrdersItemMetadata.optional(), + isCustomerDeleted: core.serialization.boolean().optional(), + isShippingRequired: core.serialization.boolean().optional(), + hasDownloads: core.serialization.boolean().optional(), + paymentProcessor: core.serialization.string().optional(), + totals: OrdersListResponseOrdersItemTotals.optional(), + downloadFiles: core.serialization.list(OrdersListResponseOrdersItemDownloadFilesItem).optional(), +}); + +export declare namespace OrdersListResponseOrdersItem { + interface Raw { + orderId?: string | null; + status?: OrdersListResponseOrdersItemStatus.Raw | null; + comment?: string | null; + orderComment?: string | null; + acceptedOn?: string | null; + fulfilledOn?: string | null; + refundedOn?: string | null; + disputedOn?: string | null; + disputeUpdatedOn?: string | null; + disputeLastStatus?: OrdersListResponseOrdersItemDisputeLastStatus.Raw | null; + customerPaid?: OrdersListResponseOrdersItemCustomerPaid.Raw | null; + netAmount?: OrdersListResponseOrdersItemNetAmount.Raw | null; + applicationFee?: OrdersListResponseOrdersItemApplicationFee.Raw | null; + allAddresses?: OrdersListResponseOrdersItemAllAddressesItem.Raw[] | null; + shippingAddress?: OrdersListResponseOrdersItemShippingAddress.Raw | null; + billingAddress?: OrdersListResponseOrdersItemBillingAddress.Raw | null; + shippingProvider?: string | null; + shippingTracking?: string | null; + shippingTrackingURL?: string | null; + customerInfo?: OrdersListResponseOrdersItemCustomerInfo.Raw | null; + purchasedItems?: OrdersListResponseOrdersItemPurchasedItemsItem.Raw[] | null; + purchasedItemsCount?: number | null; + stripeDetails?: OrdersListResponseOrdersItemStripeDetails.Raw | null; + stripeCard?: OrdersListResponseOrdersItemStripeCard.Raw | null; + paypalDetails?: OrdersListResponseOrdersItemPaypalDetails.Raw | null; + customData?: Record[] | null; + metadata?: OrdersListResponseOrdersItemMetadata.Raw | null; + isCustomerDeleted?: boolean | null; + isShippingRequired?: boolean | null; + hasDownloads?: boolean | null; + paymentProcessor?: string | null; + totals?: OrdersListResponseOrdersItemTotals.Raw | null; + downloadFiles?: OrdersListResponseOrdersItemDownloadFilesItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemAllAddressesItem.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemAllAddressesItem.ts new file mode 100644 index 00000000..8895abfb --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemAllAddressesItem.ts @@ -0,0 +1,38 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersListResponseOrdersItemAllAddressesItemType } from "./OrdersListResponseOrdersItemAllAddressesItemType"; +import { OrdersListResponseOrdersItemAllAddressesItemJapanType } from "./OrdersListResponseOrdersItemAllAddressesItemJapanType"; + +export const OrdersListResponseOrdersItemAllAddressesItem: core.serialization.ObjectSchema< + serializers.OrdersListResponseOrdersItemAllAddressesItem.Raw, + Webflow.OrdersListResponseOrdersItemAllAddressesItem +> = core.serialization.object({ + type: OrdersListResponseOrdersItemAllAddressesItemType.optional(), + japanType: OrdersListResponseOrdersItemAllAddressesItemJapanType.optional(), + addressee: core.serialization.string().optional(), + line1: core.serialization.string().optional(), + line2: core.serialization.string().optional(), + city: core.serialization.string().optional(), + state: core.serialization.string().optional(), + country: core.serialization.string().optional(), + postalCode: core.serialization.string().optional(), +}); + +export declare namespace OrdersListResponseOrdersItemAllAddressesItem { + interface Raw { + type?: OrdersListResponseOrdersItemAllAddressesItemType.Raw | null; + japanType?: OrdersListResponseOrdersItemAllAddressesItemJapanType.Raw | null; + addressee?: string | null; + line1?: string | null; + line2?: string | null; + city?: string | null; + state?: string | null; + country?: string | null; + postalCode?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemAllAddressesItemJapanType.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemAllAddressesItemJapanType.ts new file mode 100644 index 00000000..0a775a19 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemAllAddressesItemJapanType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersListResponseOrdersItemAllAddressesItemJapanType: core.serialization.Schema< + serializers.OrdersListResponseOrdersItemAllAddressesItemJapanType.Raw, + Webflow.OrdersListResponseOrdersItemAllAddressesItemJapanType +> = core.serialization.enum_(["kana", "kanji"]); + +export declare namespace OrdersListResponseOrdersItemAllAddressesItemJapanType { + type Raw = "kana" | "kanji"; +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemAllAddressesItemType.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemAllAddressesItemType.ts new file mode 100644 index 00000000..7e282239 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemAllAddressesItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersListResponseOrdersItemAllAddressesItemType: core.serialization.Schema< + serializers.OrdersListResponseOrdersItemAllAddressesItemType.Raw, + Webflow.OrdersListResponseOrdersItemAllAddressesItemType +> = core.serialization.enum_(["shipping", "billing"]); + +export declare namespace OrdersListResponseOrdersItemAllAddressesItemType { + type Raw = "shipping" | "billing"; +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemApplicationFee.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemApplicationFee.ts new file mode 100644 index 00000000..851873cf --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemApplicationFee.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersListResponseOrdersItemApplicationFee: core.serialization.ObjectSchema< + serializers.OrdersListResponseOrdersItemApplicationFee.Raw, + Webflow.OrdersListResponseOrdersItemApplicationFee +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersListResponseOrdersItemApplicationFee { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemBillingAddress.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemBillingAddress.ts new file mode 100644 index 00000000..6237bc15 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemBillingAddress.ts @@ -0,0 +1,38 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersListResponseOrdersItemBillingAddressType } from "./OrdersListResponseOrdersItemBillingAddressType"; +import { OrdersListResponseOrdersItemBillingAddressJapanType } from "./OrdersListResponseOrdersItemBillingAddressJapanType"; + +export const OrdersListResponseOrdersItemBillingAddress: core.serialization.ObjectSchema< + serializers.OrdersListResponseOrdersItemBillingAddress.Raw, + Webflow.OrdersListResponseOrdersItemBillingAddress +> = core.serialization.object({ + type: OrdersListResponseOrdersItemBillingAddressType.optional(), + japanType: OrdersListResponseOrdersItemBillingAddressJapanType.optional(), + addressee: core.serialization.string().optional(), + line1: core.serialization.string().optional(), + line2: core.serialization.string().optional(), + city: core.serialization.string().optional(), + state: core.serialization.string().optional(), + country: core.serialization.string().optional(), + postalCode: core.serialization.string().optional(), +}); + +export declare namespace OrdersListResponseOrdersItemBillingAddress { + interface Raw { + type?: OrdersListResponseOrdersItemBillingAddressType.Raw | null; + japanType?: OrdersListResponseOrdersItemBillingAddressJapanType.Raw | null; + addressee?: string | null; + line1?: string | null; + line2?: string | null; + city?: string | null; + state?: string | null; + country?: string | null; + postalCode?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemBillingAddressJapanType.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemBillingAddressJapanType.ts new file mode 100644 index 00000000..9a89073d --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemBillingAddressJapanType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersListResponseOrdersItemBillingAddressJapanType: core.serialization.Schema< + serializers.OrdersListResponseOrdersItemBillingAddressJapanType.Raw, + Webflow.OrdersListResponseOrdersItemBillingAddressJapanType +> = core.serialization.enum_(["kana", "kanji"]); + +export declare namespace OrdersListResponseOrdersItemBillingAddressJapanType { + type Raw = "kana" | "kanji"; +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemBillingAddressType.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemBillingAddressType.ts new file mode 100644 index 00000000..3d7fa96c --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemBillingAddressType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersListResponseOrdersItemBillingAddressType: core.serialization.Schema< + serializers.OrdersListResponseOrdersItemBillingAddressType.Raw, + Webflow.OrdersListResponseOrdersItemBillingAddressType +> = core.serialization.enum_(["shipping", "billing"]); + +export declare namespace OrdersListResponseOrdersItemBillingAddressType { + type Raw = "shipping" | "billing"; +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemCustomerInfo.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemCustomerInfo.ts new file mode 100644 index 00000000..1e207d2d --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemCustomerInfo.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersListResponseOrdersItemCustomerInfo: core.serialization.ObjectSchema< + serializers.OrdersListResponseOrdersItemCustomerInfo.Raw, + Webflow.OrdersListResponseOrdersItemCustomerInfo +> = core.serialization.object({ + fullName: core.serialization.string().optional(), + email: core.serialization.string().optional(), +}); + +export declare namespace OrdersListResponseOrdersItemCustomerInfo { + interface Raw { + fullName?: string | null; + email?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemCustomerPaid.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemCustomerPaid.ts new file mode 100644 index 00000000..53eddfb5 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemCustomerPaid.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersListResponseOrdersItemCustomerPaid: core.serialization.ObjectSchema< + serializers.OrdersListResponseOrdersItemCustomerPaid.Raw, + Webflow.OrdersListResponseOrdersItemCustomerPaid +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersListResponseOrdersItemCustomerPaid { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemDisputeLastStatus.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemDisputeLastStatus.ts new file mode 100644 index 00000000..2b707aba --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemDisputeLastStatus.ts @@ -0,0 +1,33 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersListResponseOrdersItemDisputeLastStatus: core.serialization.Schema< + serializers.OrdersListResponseOrdersItemDisputeLastStatus.Raw, + Webflow.OrdersListResponseOrdersItemDisputeLastStatus +> = core.serialization.enum_([ + "warning_needs_response", + "warning_under_review", + "warning_closed", + "needs_response", + "under_review", + "charge_refunded", + "won", + "lost", +]); + +export declare namespace OrdersListResponseOrdersItemDisputeLastStatus { + type Raw = + | "warning_needs_response" + | "warning_under_review" + | "warning_closed" + | "needs_response" + | "under_review" + | "charge_refunded" + | "won" + | "lost"; +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemDownloadFilesItem.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemDownloadFilesItem.ts new file mode 100644 index 00000000..ba9fd2f3 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemDownloadFilesItem.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersListResponseOrdersItemDownloadFilesItem: core.serialization.ObjectSchema< + serializers.OrdersListResponseOrdersItemDownloadFilesItem.Raw, + Webflow.OrdersListResponseOrdersItemDownloadFilesItem +> = core.serialization.object({ + id: core.serialization.string().optional(), + name: core.serialization.string().optional(), + url: core.serialization.string().optional(), +}); + +export declare namespace OrdersListResponseOrdersItemDownloadFilesItem { + interface Raw { + id?: string | null; + name?: string | null; + url?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemMetadata.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemMetadata.ts new file mode 100644 index 00000000..f8bdc8b5 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemMetadata.ts @@ -0,0 +1,20 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersListResponseOrdersItemMetadata: core.serialization.ObjectSchema< + serializers.OrdersListResponseOrdersItemMetadata.Raw, + Webflow.OrdersListResponseOrdersItemMetadata +> = core.serialization.object({ + isBuyNow: core.serialization.boolean().optional(), +}); + +export declare namespace OrdersListResponseOrdersItemMetadata { + interface Raw { + isBuyNow?: boolean | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemNetAmount.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemNetAmount.ts new file mode 100644 index 00000000..8ebc538e --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemNetAmount.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersListResponseOrdersItemNetAmount: core.serialization.ObjectSchema< + serializers.OrdersListResponseOrdersItemNetAmount.Raw, + Webflow.OrdersListResponseOrdersItemNetAmount +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersListResponseOrdersItemNetAmount { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemPaypalDetails.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemPaypalDetails.ts new file mode 100644 index 00000000..4279809f --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemPaypalDetails.ts @@ -0,0 +1,30 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersListResponseOrdersItemPaypalDetails: core.serialization.ObjectSchema< + serializers.OrdersListResponseOrdersItemPaypalDetails.Raw, + Webflow.OrdersListResponseOrdersItemPaypalDetails +> = core.serialization.object({ + orderId: core.serialization.string().optional(), + payerId: core.serialization.string().optional(), + captureId: core.serialization.string().optional(), + refundId: core.serialization.string().optional(), + refundReason: core.serialization.string().optional(), + disputeId: core.serialization.string().optional(), +}); + +export declare namespace OrdersListResponseOrdersItemPaypalDetails { + interface Raw { + orderId?: string | null; + payerId?: string | null; + captureId?: string | null; + refundId?: string | null; + refundReason?: string | null; + disputeId?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItem.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItem.ts new file mode 100644 index 00000000..c607062d --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItem.ts @@ -0,0 +1,51 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersListResponseOrdersItemPurchasedItemsItemRowTotal } from "./OrdersListResponseOrdersItemPurchasedItemsItemRowTotal"; +import { OrdersListResponseOrdersItemPurchasedItemsItemVariantImage } from "./OrdersListResponseOrdersItemPurchasedItemsItemVariantImage"; +import { OrdersListResponseOrdersItemPurchasedItemsItemVariantPrice } from "./OrdersListResponseOrdersItemPurchasedItemsItemVariantPrice"; + +export const OrdersListResponseOrdersItemPurchasedItemsItem: core.serialization.ObjectSchema< + serializers.OrdersListResponseOrdersItemPurchasedItemsItem.Raw, + Webflow.OrdersListResponseOrdersItemPurchasedItemsItem +> = core.serialization.object({ + count: core.serialization.number().optional(), + rowTotal: OrdersListResponseOrdersItemPurchasedItemsItemRowTotal.optional(), + productId: core.serialization.string().optional(), + productName: core.serialization.string().optional(), + productSlug: core.serialization.string().optional(), + variantId: core.serialization.string().optional(), + variantName: core.serialization.string().optional(), + variantSlug: core.serialization.string().optional(), + variantSku: core.serialization.property("variantSKU", core.serialization.string().optional()), + variantImage: OrdersListResponseOrdersItemPurchasedItemsItemVariantImage.optional(), + variantPrice: OrdersListResponseOrdersItemPurchasedItemsItemVariantPrice.optional(), + weight: core.serialization.number().optional(), + width: core.serialization.number().optional(), + height: core.serialization.number().optional(), + length: core.serialization.number().optional(), +}); + +export declare namespace OrdersListResponseOrdersItemPurchasedItemsItem { + interface Raw { + count?: number | null; + rowTotal?: OrdersListResponseOrdersItemPurchasedItemsItemRowTotal.Raw | null; + productId?: string | null; + productName?: string | null; + productSlug?: string | null; + variantId?: string | null; + variantName?: string | null; + variantSlug?: string | null; + variantSKU?: string | null; + variantImage?: OrdersListResponseOrdersItemPurchasedItemsItemVariantImage.Raw | null; + variantPrice?: OrdersListResponseOrdersItemPurchasedItemsItemVariantPrice.Raw | null; + weight?: number | null; + width?: number | null; + height?: number | null; + length?: number | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItemRowTotal.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItemRowTotal.ts new file mode 100644 index 00000000..1f1be520 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItemRowTotal.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersListResponseOrdersItemPurchasedItemsItemRowTotal: core.serialization.ObjectSchema< + serializers.OrdersListResponseOrdersItemPurchasedItemsItemRowTotal.Raw, + Webflow.OrdersListResponseOrdersItemPurchasedItemsItemRowTotal +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersListResponseOrdersItemPurchasedItemsItemRowTotal { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItemVariantImage.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItemVariantImage.ts new file mode 100644 index 00000000..51972004 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItemVariantImage.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFile } from "./OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFile"; + +export const OrdersListResponseOrdersItemPurchasedItemsItemVariantImage: core.serialization.ObjectSchema< + serializers.OrdersListResponseOrdersItemPurchasedItemsItemVariantImage.Raw, + Webflow.OrdersListResponseOrdersItemPurchasedItemsItemVariantImage +> = core.serialization.object({ + url: core.serialization.string().optional(), + file: OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFile.optional(), +}); + +export declare namespace OrdersListResponseOrdersItemPurchasedItemsItemVariantImage { + interface Raw { + url?: string | null; + file?: OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFile.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFile.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFile.ts new file mode 100644 index 00000000..19346ec1 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFile.ts @@ -0,0 +1,35 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFileVariantsItem } from "./OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFileVariantsItem"; + +export const OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFile: core.serialization.ObjectSchema< + serializers.OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFile.Raw, + Webflow.OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFile +> = core.serialization.object({ + size: core.serialization.number().optional(), + originalFileName: core.serialization.string().optional(), + createdOn: core.serialization.date().optional(), + contentType: core.serialization.string().optional(), + width: core.serialization.number().optional(), + height: core.serialization.number().optional(), + variants: core.serialization + .list(OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFileVariantsItem) + .optional(), +}); + +export declare namespace OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFile { + interface Raw { + size?: number | null; + originalFileName?: string | null; + createdOn?: string | null; + contentType?: string | null; + width?: number | null; + height?: number | null; + variants?: OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFileVariantsItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFileVariantsItem.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFileVariantsItem.ts new file mode 100644 index 00000000..a7aed4a1 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFileVariantsItem.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFileVariantsItem: core.serialization.ObjectSchema< + serializers.OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFileVariantsItem.Raw, + Webflow.OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFileVariantsItem +> = core.serialization.object({ + url: core.serialization.string().optional(), + originalFileName: core.serialization.string().optional(), + size: core.serialization.number().optional(), + width: core.serialization.number().optional(), + height: core.serialization.number().optional(), +}); + +export declare namespace OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFileVariantsItem { + interface Raw { + url?: string | null; + originalFileName?: string | null; + size?: number | null; + width?: number | null; + height?: number | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItemVariantPrice.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItemVariantPrice.ts new file mode 100644 index 00000000..8f3d32a9 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemPurchasedItemsItemVariantPrice.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersListResponseOrdersItemPurchasedItemsItemVariantPrice: core.serialization.ObjectSchema< + serializers.OrdersListResponseOrdersItemPurchasedItemsItemVariantPrice.Raw, + Webflow.OrdersListResponseOrdersItemPurchasedItemsItemVariantPrice +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersListResponseOrdersItemPurchasedItemsItemVariantPrice { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemShippingAddress.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemShippingAddress.ts new file mode 100644 index 00000000..056645ac --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemShippingAddress.ts @@ -0,0 +1,38 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersListResponseOrdersItemShippingAddressType } from "./OrdersListResponseOrdersItemShippingAddressType"; +import { OrdersListResponseOrdersItemShippingAddressJapanType } from "./OrdersListResponseOrdersItemShippingAddressJapanType"; + +export const OrdersListResponseOrdersItemShippingAddress: core.serialization.ObjectSchema< + serializers.OrdersListResponseOrdersItemShippingAddress.Raw, + Webflow.OrdersListResponseOrdersItemShippingAddress +> = core.serialization.object({ + type: OrdersListResponseOrdersItemShippingAddressType.optional(), + japanType: OrdersListResponseOrdersItemShippingAddressJapanType.optional(), + addressee: core.serialization.string().optional(), + line1: core.serialization.string().optional(), + line2: core.serialization.string().optional(), + city: core.serialization.string().optional(), + state: core.serialization.string().optional(), + country: core.serialization.string().optional(), + postalCode: core.serialization.string().optional(), +}); + +export declare namespace OrdersListResponseOrdersItemShippingAddress { + interface Raw { + type?: OrdersListResponseOrdersItemShippingAddressType.Raw | null; + japanType?: OrdersListResponseOrdersItemShippingAddressJapanType.Raw | null; + addressee?: string | null; + line1?: string | null; + line2?: string | null; + city?: string | null; + state?: string | null; + country?: string | null; + postalCode?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemShippingAddressJapanType.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemShippingAddressJapanType.ts new file mode 100644 index 00000000..2228e0d0 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemShippingAddressJapanType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersListResponseOrdersItemShippingAddressJapanType: core.serialization.Schema< + serializers.OrdersListResponseOrdersItemShippingAddressJapanType.Raw, + Webflow.OrdersListResponseOrdersItemShippingAddressJapanType +> = core.serialization.enum_(["kana", "kanji"]); + +export declare namespace OrdersListResponseOrdersItemShippingAddressJapanType { + type Raw = "kana" | "kanji"; +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemShippingAddressType.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemShippingAddressType.ts new file mode 100644 index 00000000..87376fcf --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemShippingAddressType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersListResponseOrdersItemShippingAddressType: core.serialization.Schema< + serializers.OrdersListResponseOrdersItemShippingAddressType.Raw, + Webflow.OrdersListResponseOrdersItemShippingAddressType +> = core.serialization.enum_(["shipping", "billing"]); + +export declare namespace OrdersListResponseOrdersItemShippingAddressType { + type Raw = "shipping" | "billing"; +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemStatus.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemStatus.ts new file mode 100644 index 00000000..2fb12bf7 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemStatus.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersListResponseOrdersItemStatus: core.serialization.Schema< + serializers.OrdersListResponseOrdersItemStatus.Raw, + Webflow.OrdersListResponseOrdersItemStatus +> = core.serialization.enum_(["pending", "unfulfilled", "fulfilled", "disputed", "dispute-lost", "refunded"]); + +export declare namespace OrdersListResponseOrdersItemStatus { + type Raw = "pending" | "unfulfilled" | "fulfilled" | "disputed" | "dispute-lost" | "refunded"; +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemStripeCard.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemStripeCard.ts new file mode 100644 index 00000000..78bd2391 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemStripeCard.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersListResponseOrdersItemStripeCardBrand } from "./OrdersListResponseOrdersItemStripeCardBrand"; +import { OrdersListResponseOrdersItemStripeCardExpires } from "./OrdersListResponseOrdersItemStripeCardExpires"; + +export const OrdersListResponseOrdersItemStripeCard: core.serialization.ObjectSchema< + serializers.OrdersListResponseOrdersItemStripeCard.Raw, + Webflow.OrdersListResponseOrdersItemStripeCard +> = core.serialization.object({ + last4: core.serialization.string().optional(), + brand: OrdersListResponseOrdersItemStripeCardBrand.optional(), + ownerName: core.serialization.string().optional(), + expires: OrdersListResponseOrdersItemStripeCardExpires.optional(), +}); + +export declare namespace OrdersListResponseOrdersItemStripeCard { + interface Raw { + last4?: string | null; + brand?: OrdersListResponseOrdersItemStripeCardBrand.Raw | null; + ownerName?: string | null; + expires?: OrdersListResponseOrdersItemStripeCardExpires.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemStripeCardBrand.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemStripeCardBrand.ts new file mode 100644 index 00000000..e55d1c8a --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemStripeCardBrand.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersListResponseOrdersItemStripeCardBrand: core.serialization.Schema< + serializers.OrdersListResponseOrdersItemStripeCardBrand.Raw, + Webflow.OrdersListResponseOrdersItemStripeCardBrand +> = core.serialization.enum_(["Visa", "American Express", "MasterCard", "Discover", "JCB", "Diners Club", "Unknown"]); + +export declare namespace OrdersListResponseOrdersItemStripeCardBrand { + type Raw = "Visa" | "American Express" | "MasterCard" | "Discover" | "JCB" | "Diners Club" | "Unknown"; +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemStripeCardExpires.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemStripeCardExpires.ts new file mode 100644 index 00000000..85bf8fab --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemStripeCardExpires.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersListResponseOrdersItemStripeCardExpires: core.serialization.ObjectSchema< + serializers.OrdersListResponseOrdersItemStripeCardExpires.Raw, + Webflow.OrdersListResponseOrdersItemStripeCardExpires +> = core.serialization.object({ + year: core.serialization.number().optional(), + month: core.serialization.number().optional(), +}); + +export declare namespace OrdersListResponseOrdersItemStripeCardExpires { + interface Raw { + year?: number | null; + month?: number | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemStripeDetails.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemStripeDetails.ts new file mode 100644 index 00000000..d14672a2 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemStripeDetails.ts @@ -0,0 +1,34 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersListResponseOrdersItemStripeDetails: core.serialization.ObjectSchema< + serializers.OrdersListResponseOrdersItemStripeDetails.Raw, + Webflow.OrdersListResponseOrdersItemStripeDetails +> = core.serialization.object({ + subscriptionId: core.serialization.string().optional(), + paymentMethod: core.serialization.string().optional(), + paymentIntentId: core.serialization.string().optional(), + customerId: core.serialization.string().optional(), + chargeId: core.serialization.string().optional(), + disputeId: core.serialization.string().optional(), + refundId: core.serialization.string().optional(), + refundReason: core.serialization.string().optional(), +}); + +export declare namespace OrdersListResponseOrdersItemStripeDetails { + interface Raw { + subscriptionId?: string | null; + paymentMethod?: string | null; + paymentIntentId?: string | null; + customerId?: string | null; + chargeId?: string | null; + disputeId?: string | null; + refundId?: string | null; + refundReason?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemTotals.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemTotals.ts new file mode 100644 index 00000000..350662fc --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemTotals.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersListResponseOrdersItemTotalsSubtotal } from "./OrdersListResponseOrdersItemTotalsSubtotal"; +import { OrdersListResponseOrdersItemTotalsExtrasItem } from "./OrdersListResponseOrdersItemTotalsExtrasItem"; +import { OrdersListResponseOrdersItemTotalsTotal } from "./OrdersListResponseOrdersItemTotalsTotal"; + +export const OrdersListResponseOrdersItemTotals: core.serialization.ObjectSchema< + serializers.OrdersListResponseOrdersItemTotals.Raw, + Webflow.OrdersListResponseOrdersItemTotals +> = core.serialization.object({ + subtotal: OrdersListResponseOrdersItemTotalsSubtotal.optional(), + extras: core.serialization.list(OrdersListResponseOrdersItemTotalsExtrasItem).optional(), + total: OrdersListResponseOrdersItemTotalsTotal.optional(), +}); + +export declare namespace OrdersListResponseOrdersItemTotals { + interface Raw { + subtotal?: OrdersListResponseOrdersItemTotalsSubtotal.Raw | null; + extras?: OrdersListResponseOrdersItemTotalsExtrasItem.Raw[] | null; + total?: OrdersListResponseOrdersItemTotalsTotal.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemTotalsExtrasItem.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemTotalsExtrasItem.ts new file mode 100644 index 00000000..c439e226 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemTotalsExtrasItem.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersListResponseOrdersItemTotalsExtrasItemType } from "./OrdersListResponseOrdersItemTotalsExtrasItemType"; +import { OrdersListResponseOrdersItemTotalsExtrasItemPrice } from "./OrdersListResponseOrdersItemTotalsExtrasItemPrice"; + +export const OrdersListResponseOrdersItemTotalsExtrasItem: core.serialization.ObjectSchema< + serializers.OrdersListResponseOrdersItemTotalsExtrasItem.Raw, + Webflow.OrdersListResponseOrdersItemTotalsExtrasItem +> = core.serialization.object({ + type: OrdersListResponseOrdersItemTotalsExtrasItemType.optional(), + name: core.serialization.string().optional(), + description: core.serialization.string().optional(), + price: OrdersListResponseOrdersItemTotalsExtrasItemPrice.optional(), +}); + +export declare namespace OrdersListResponseOrdersItemTotalsExtrasItem { + interface Raw { + type?: OrdersListResponseOrdersItemTotalsExtrasItemType.Raw | null; + name?: string | null; + description?: string | null; + price?: OrdersListResponseOrdersItemTotalsExtrasItemPrice.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemTotalsExtrasItemPrice.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemTotalsExtrasItemPrice.ts new file mode 100644 index 00000000..b8a1174a --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemTotalsExtrasItemPrice.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersListResponseOrdersItemTotalsExtrasItemPrice: core.serialization.ObjectSchema< + serializers.OrdersListResponseOrdersItemTotalsExtrasItemPrice.Raw, + Webflow.OrdersListResponseOrdersItemTotalsExtrasItemPrice +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersListResponseOrdersItemTotalsExtrasItemPrice { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemTotalsExtrasItemType.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemTotalsExtrasItemType.ts new file mode 100644 index 00000000..3d6e468f --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemTotalsExtrasItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersListResponseOrdersItemTotalsExtrasItemType: core.serialization.Schema< + serializers.OrdersListResponseOrdersItemTotalsExtrasItemType.Raw, + Webflow.OrdersListResponseOrdersItemTotalsExtrasItemType +> = core.serialization.enum_(["discount", "discount-shipping", "shipping", "tax"]); + +export declare namespace OrdersListResponseOrdersItemTotalsExtrasItemType { + type Raw = "discount" | "discount-shipping" | "shipping" | "tax"; +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemTotalsSubtotal.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemTotalsSubtotal.ts new file mode 100644 index 00000000..36a166c6 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemTotalsSubtotal.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersListResponseOrdersItemTotalsSubtotal: core.serialization.ObjectSchema< + serializers.OrdersListResponseOrdersItemTotalsSubtotal.Raw, + Webflow.OrdersListResponseOrdersItemTotalsSubtotal +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersListResponseOrdersItemTotalsSubtotal { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersListResponseOrdersItemTotalsTotal.ts b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemTotalsTotal.ts new file mode 100644 index 00000000..88b17e10 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponseOrdersItemTotalsTotal.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersListResponseOrdersItemTotalsTotal: core.serialization.ObjectSchema< + serializers.OrdersListResponseOrdersItemTotalsTotal.Raw, + Webflow.OrdersListResponseOrdersItemTotalsTotal +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersListResponseOrdersItemTotalsTotal { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersListResponsePagination.ts b/src/serialization/resources/orders/types/OrdersListResponsePagination.ts new file mode 100644 index 00000000..94d24df5 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersListResponsePagination.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersListResponsePagination: core.serialization.ObjectSchema< + serializers.OrdersListResponsePagination.Raw, + Webflow.OrdersListResponsePagination +> = core.serialization.object({ + limit: core.serialization.number().optional(), + offset: core.serialization.number().optional(), + total: core.serialization.number().optional(), +}); + +export declare namespace OrdersListResponsePagination { + interface Raw { + limit?: number | null; + offset?: number | null; + total?: number | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponse.ts b/src/serialization/resources/orders/types/OrdersRefundResponse.ts new file mode 100644 index 00000000..ad9f4c9f --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponse.ts @@ -0,0 +1,102 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersRefundResponseStatus } from "./OrdersRefundResponseStatus"; +import { OrdersRefundResponseDisputeLastStatus } from "./OrdersRefundResponseDisputeLastStatus"; +import { OrdersRefundResponseCustomerPaid } from "./OrdersRefundResponseCustomerPaid"; +import { OrdersRefundResponseNetAmount } from "./OrdersRefundResponseNetAmount"; +import { OrdersRefundResponseApplicationFee } from "./OrdersRefundResponseApplicationFee"; +import { OrdersRefundResponseAllAddressesItem } from "./OrdersRefundResponseAllAddressesItem"; +import { OrdersRefundResponseShippingAddress } from "./OrdersRefundResponseShippingAddress"; +import { OrdersRefundResponseBillingAddress } from "./OrdersRefundResponseBillingAddress"; +import { OrdersRefundResponseCustomerInfo } from "./OrdersRefundResponseCustomerInfo"; +import { OrdersRefundResponsePurchasedItemsItem } from "./OrdersRefundResponsePurchasedItemsItem"; +import { OrdersRefundResponseStripeDetails } from "./OrdersRefundResponseStripeDetails"; +import { OrdersRefundResponseStripeCard } from "./OrdersRefundResponseStripeCard"; +import { OrdersRefundResponsePaypalDetails } from "./OrdersRefundResponsePaypalDetails"; +import { OrdersRefundResponseMetadata } from "./OrdersRefundResponseMetadata"; +import { OrdersRefundResponseTotals } from "./OrdersRefundResponseTotals"; +import { OrdersRefundResponseDownloadFilesItem } from "./OrdersRefundResponseDownloadFilesItem"; + +export const OrdersRefundResponse: core.serialization.ObjectSchema< + serializers.OrdersRefundResponse.Raw, + Webflow.OrdersRefundResponse +> = core.serialization.object({ + orderId: core.serialization.string().optional(), + status: OrdersRefundResponseStatus.optional(), + comment: core.serialization.string().optional(), + orderComment: core.serialization.string().optional(), + acceptedOn: core.serialization.date().optional(), + fulfilledOn: core.serialization.date().optional(), + refundedOn: core.serialization.date().optional(), + disputedOn: core.serialization.date().optional(), + disputeUpdatedOn: core.serialization.date().optional(), + disputeLastStatus: OrdersRefundResponseDisputeLastStatus.optional(), + customerPaid: OrdersRefundResponseCustomerPaid.optional(), + netAmount: OrdersRefundResponseNetAmount.optional(), + applicationFee: OrdersRefundResponseApplicationFee.optional(), + allAddresses: core.serialization.list(OrdersRefundResponseAllAddressesItem).optional(), + shippingAddress: OrdersRefundResponseShippingAddress.optional(), + billingAddress: OrdersRefundResponseBillingAddress.optional(), + shippingProvider: core.serialization.string().optional(), + shippingTracking: core.serialization.string().optional(), + shippingTrackingUrl: core.serialization.property("shippingTrackingURL", core.serialization.string().optional()), + customerInfo: OrdersRefundResponseCustomerInfo.optional(), + purchasedItems: core.serialization.list(OrdersRefundResponsePurchasedItemsItem).optional(), + purchasedItemsCount: core.serialization.number().optional(), + stripeDetails: OrdersRefundResponseStripeDetails.optional(), + stripeCard: OrdersRefundResponseStripeCard.optional(), + paypalDetails: OrdersRefundResponsePaypalDetails.optional(), + customData: core.serialization + .list(core.serialization.record(core.serialization.string(), core.serialization.unknown())) + .optional(), + metadata: OrdersRefundResponseMetadata.optional(), + isCustomerDeleted: core.serialization.boolean().optional(), + isShippingRequired: core.serialization.boolean().optional(), + hasDownloads: core.serialization.boolean().optional(), + paymentProcessor: core.serialization.string().optional(), + totals: OrdersRefundResponseTotals.optional(), + downloadFiles: core.serialization.list(OrdersRefundResponseDownloadFilesItem).optional(), +}); + +export declare namespace OrdersRefundResponse { + interface Raw { + orderId?: string | null; + status?: OrdersRefundResponseStatus.Raw | null; + comment?: string | null; + orderComment?: string | null; + acceptedOn?: string | null; + fulfilledOn?: string | null; + refundedOn?: string | null; + disputedOn?: string | null; + disputeUpdatedOn?: string | null; + disputeLastStatus?: OrdersRefundResponseDisputeLastStatus.Raw | null; + customerPaid?: OrdersRefundResponseCustomerPaid.Raw | null; + netAmount?: OrdersRefundResponseNetAmount.Raw | null; + applicationFee?: OrdersRefundResponseApplicationFee.Raw | null; + allAddresses?: OrdersRefundResponseAllAddressesItem.Raw[] | null; + shippingAddress?: OrdersRefundResponseShippingAddress.Raw | null; + billingAddress?: OrdersRefundResponseBillingAddress.Raw | null; + shippingProvider?: string | null; + shippingTracking?: string | null; + shippingTrackingURL?: string | null; + customerInfo?: OrdersRefundResponseCustomerInfo.Raw | null; + purchasedItems?: OrdersRefundResponsePurchasedItemsItem.Raw[] | null; + purchasedItemsCount?: number | null; + stripeDetails?: OrdersRefundResponseStripeDetails.Raw | null; + stripeCard?: OrdersRefundResponseStripeCard.Raw | null; + paypalDetails?: OrdersRefundResponsePaypalDetails.Raw | null; + customData?: Record[] | null; + metadata?: OrdersRefundResponseMetadata.Raw | null; + isCustomerDeleted?: boolean | null; + isShippingRequired?: boolean | null; + hasDownloads?: boolean | null; + paymentProcessor?: string | null; + totals?: OrdersRefundResponseTotals.Raw | null; + downloadFiles?: OrdersRefundResponseDownloadFilesItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponseAllAddressesItem.ts b/src/serialization/resources/orders/types/OrdersRefundResponseAllAddressesItem.ts new file mode 100644 index 00000000..1391a5af --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponseAllAddressesItem.ts @@ -0,0 +1,38 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersRefundResponseAllAddressesItemType } from "./OrdersRefundResponseAllAddressesItemType"; +import { OrdersRefundResponseAllAddressesItemJapanType } from "./OrdersRefundResponseAllAddressesItemJapanType"; + +export const OrdersRefundResponseAllAddressesItem: core.serialization.ObjectSchema< + serializers.OrdersRefundResponseAllAddressesItem.Raw, + Webflow.OrdersRefundResponseAllAddressesItem +> = core.serialization.object({ + type: OrdersRefundResponseAllAddressesItemType.optional(), + japanType: OrdersRefundResponseAllAddressesItemJapanType.optional(), + addressee: core.serialization.string().optional(), + line1: core.serialization.string().optional(), + line2: core.serialization.string().optional(), + city: core.serialization.string().optional(), + state: core.serialization.string().optional(), + country: core.serialization.string().optional(), + postalCode: core.serialization.string().optional(), +}); + +export declare namespace OrdersRefundResponseAllAddressesItem { + interface Raw { + type?: OrdersRefundResponseAllAddressesItemType.Raw | null; + japanType?: OrdersRefundResponseAllAddressesItemJapanType.Raw | null; + addressee?: string | null; + line1?: string | null; + line2?: string | null; + city?: string | null; + state?: string | null; + country?: string | null; + postalCode?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponseAllAddressesItemJapanType.ts b/src/serialization/resources/orders/types/OrdersRefundResponseAllAddressesItemJapanType.ts new file mode 100644 index 00000000..ee3dff4d --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponseAllAddressesItemJapanType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersRefundResponseAllAddressesItemJapanType: core.serialization.Schema< + serializers.OrdersRefundResponseAllAddressesItemJapanType.Raw, + Webflow.OrdersRefundResponseAllAddressesItemJapanType +> = core.serialization.enum_(["kana", "kanji"]); + +export declare namespace OrdersRefundResponseAllAddressesItemJapanType { + type Raw = "kana" | "kanji"; +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponseAllAddressesItemType.ts b/src/serialization/resources/orders/types/OrdersRefundResponseAllAddressesItemType.ts new file mode 100644 index 00000000..17af2d3d --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponseAllAddressesItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersRefundResponseAllAddressesItemType: core.serialization.Schema< + serializers.OrdersRefundResponseAllAddressesItemType.Raw, + Webflow.OrdersRefundResponseAllAddressesItemType +> = core.serialization.enum_(["shipping", "billing"]); + +export declare namespace OrdersRefundResponseAllAddressesItemType { + type Raw = "shipping" | "billing"; +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponseApplicationFee.ts b/src/serialization/resources/orders/types/OrdersRefundResponseApplicationFee.ts new file mode 100644 index 00000000..6d958321 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponseApplicationFee.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersRefundResponseApplicationFee: core.serialization.ObjectSchema< + serializers.OrdersRefundResponseApplicationFee.Raw, + Webflow.OrdersRefundResponseApplicationFee +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersRefundResponseApplicationFee { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponseBillingAddress.ts b/src/serialization/resources/orders/types/OrdersRefundResponseBillingAddress.ts new file mode 100644 index 00000000..75d8488f --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponseBillingAddress.ts @@ -0,0 +1,38 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersRefundResponseBillingAddressType } from "./OrdersRefundResponseBillingAddressType"; +import { OrdersRefundResponseBillingAddressJapanType } from "./OrdersRefundResponseBillingAddressJapanType"; + +export const OrdersRefundResponseBillingAddress: core.serialization.ObjectSchema< + serializers.OrdersRefundResponseBillingAddress.Raw, + Webflow.OrdersRefundResponseBillingAddress +> = core.serialization.object({ + type: OrdersRefundResponseBillingAddressType.optional(), + japanType: OrdersRefundResponseBillingAddressJapanType.optional(), + addressee: core.serialization.string().optional(), + line1: core.serialization.string().optional(), + line2: core.serialization.string().optional(), + city: core.serialization.string().optional(), + state: core.serialization.string().optional(), + country: core.serialization.string().optional(), + postalCode: core.serialization.string().optional(), +}); + +export declare namespace OrdersRefundResponseBillingAddress { + interface Raw { + type?: OrdersRefundResponseBillingAddressType.Raw | null; + japanType?: OrdersRefundResponseBillingAddressJapanType.Raw | null; + addressee?: string | null; + line1?: string | null; + line2?: string | null; + city?: string | null; + state?: string | null; + country?: string | null; + postalCode?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponseBillingAddressJapanType.ts b/src/serialization/resources/orders/types/OrdersRefundResponseBillingAddressJapanType.ts new file mode 100644 index 00000000..1fd70c63 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponseBillingAddressJapanType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersRefundResponseBillingAddressJapanType: core.serialization.Schema< + serializers.OrdersRefundResponseBillingAddressJapanType.Raw, + Webflow.OrdersRefundResponseBillingAddressJapanType +> = core.serialization.enum_(["kana", "kanji"]); + +export declare namespace OrdersRefundResponseBillingAddressJapanType { + type Raw = "kana" | "kanji"; +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponseBillingAddressType.ts b/src/serialization/resources/orders/types/OrdersRefundResponseBillingAddressType.ts new file mode 100644 index 00000000..6d4f29e0 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponseBillingAddressType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersRefundResponseBillingAddressType: core.serialization.Schema< + serializers.OrdersRefundResponseBillingAddressType.Raw, + Webflow.OrdersRefundResponseBillingAddressType +> = core.serialization.enum_(["shipping", "billing"]); + +export declare namespace OrdersRefundResponseBillingAddressType { + type Raw = "shipping" | "billing"; +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponseCustomerInfo.ts b/src/serialization/resources/orders/types/OrdersRefundResponseCustomerInfo.ts new file mode 100644 index 00000000..6b6f884b --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponseCustomerInfo.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersRefundResponseCustomerInfo: core.serialization.ObjectSchema< + serializers.OrdersRefundResponseCustomerInfo.Raw, + Webflow.OrdersRefundResponseCustomerInfo +> = core.serialization.object({ + fullName: core.serialization.string().optional(), + email: core.serialization.string().optional(), +}); + +export declare namespace OrdersRefundResponseCustomerInfo { + interface Raw { + fullName?: string | null; + email?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponseCustomerPaid.ts b/src/serialization/resources/orders/types/OrdersRefundResponseCustomerPaid.ts new file mode 100644 index 00000000..4951dba8 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponseCustomerPaid.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersRefundResponseCustomerPaid: core.serialization.ObjectSchema< + serializers.OrdersRefundResponseCustomerPaid.Raw, + Webflow.OrdersRefundResponseCustomerPaid +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersRefundResponseCustomerPaid { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponseDisputeLastStatus.ts b/src/serialization/resources/orders/types/OrdersRefundResponseDisputeLastStatus.ts new file mode 100644 index 00000000..7ff18b70 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponseDisputeLastStatus.ts @@ -0,0 +1,33 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersRefundResponseDisputeLastStatus: core.serialization.Schema< + serializers.OrdersRefundResponseDisputeLastStatus.Raw, + Webflow.OrdersRefundResponseDisputeLastStatus +> = core.serialization.enum_([ + "warning_needs_response", + "warning_under_review", + "warning_closed", + "needs_response", + "under_review", + "charge_refunded", + "won", + "lost", +]); + +export declare namespace OrdersRefundResponseDisputeLastStatus { + type Raw = + | "warning_needs_response" + | "warning_under_review" + | "warning_closed" + | "needs_response" + | "under_review" + | "charge_refunded" + | "won" + | "lost"; +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponseDownloadFilesItem.ts b/src/serialization/resources/orders/types/OrdersRefundResponseDownloadFilesItem.ts new file mode 100644 index 00000000..93364ae8 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponseDownloadFilesItem.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersRefundResponseDownloadFilesItem: core.serialization.ObjectSchema< + serializers.OrdersRefundResponseDownloadFilesItem.Raw, + Webflow.OrdersRefundResponseDownloadFilesItem +> = core.serialization.object({ + id: core.serialization.string().optional(), + name: core.serialization.string().optional(), + url: core.serialization.string().optional(), +}); + +export declare namespace OrdersRefundResponseDownloadFilesItem { + interface Raw { + id?: string | null; + name?: string | null; + url?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponseMetadata.ts b/src/serialization/resources/orders/types/OrdersRefundResponseMetadata.ts new file mode 100644 index 00000000..541e583a --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponseMetadata.ts @@ -0,0 +1,20 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersRefundResponseMetadata: core.serialization.ObjectSchema< + serializers.OrdersRefundResponseMetadata.Raw, + Webflow.OrdersRefundResponseMetadata +> = core.serialization.object({ + isBuyNow: core.serialization.boolean().optional(), +}); + +export declare namespace OrdersRefundResponseMetadata { + interface Raw { + isBuyNow?: boolean | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponseNetAmount.ts b/src/serialization/resources/orders/types/OrdersRefundResponseNetAmount.ts new file mode 100644 index 00000000..e440a88d --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponseNetAmount.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersRefundResponseNetAmount: core.serialization.ObjectSchema< + serializers.OrdersRefundResponseNetAmount.Raw, + Webflow.OrdersRefundResponseNetAmount +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersRefundResponseNetAmount { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponsePaypalDetails.ts b/src/serialization/resources/orders/types/OrdersRefundResponsePaypalDetails.ts new file mode 100644 index 00000000..7a487552 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponsePaypalDetails.ts @@ -0,0 +1,30 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersRefundResponsePaypalDetails: core.serialization.ObjectSchema< + serializers.OrdersRefundResponsePaypalDetails.Raw, + Webflow.OrdersRefundResponsePaypalDetails +> = core.serialization.object({ + orderId: core.serialization.string().optional(), + payerId: core.serialization.string().optional(), + captureId: core.serialization.string().optional(), + refundId: core.serialization.string().optional(), + refundReason: core.serialization.string().optional(), + disputeId: core.serialization.string().optional(), +}); + +export declare namespace OrdersRefundResponsePaypalDetails { + interface Raw { + orderId?: string | null; + payerId?: string | null; + captureId?: string | null; + refundId?: string | null; + refundReason?: string | null; + disputeId?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponsePurchasedItemsItem.ts b/src/serialization/resources/orders/types/OrdersRefundResponsePurchasedItemsItem.ts new file mode 100644 index 00000000..72e5acf1 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponsePurchasedItemsItem.ts @@ -0,0 +1,51 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersRefundResponsePurchasedItemsItemRowTotal } from "./OrdersRefundResponsePurchasedItemsItemRowTotal"; +import { OrdersRefundResponsePurchasedItemsItemVariantImage } from "./OrdersRefundResponsePurchasedItemsItemVariantImage"; +import { OrdersRefundResponsePurchasedItemsItemVariantPrice } from "./OrdersRefundResponsePurchasedItemsItemVariantPrice"; + +export const OrdersRefundResponsePurchasedItemsItem: core.serialization.ObjectSchema< + serializers.OrdersRefundResponsePurchasedItemsItem.Raw, + Webflow.OrdersRefundResponsePurchasedItemsItem +> = core.serialization.object({ + count: core.serialization.number().optional(), + rowTotal: OrdersRefundResponsePurchasedItemsItemRowTotal.optional(), + productId: core.serialization.string().optional(), + productName: core.serialization.string().optional(), + productSlug: core.serialization.string().optional(), + variantId: core.serialization.string().optional(), + variantName: core.serialization.string().optional(), + variantSlug: core.serialization.string().optional(), + variantSku: core.serialization.property("variantSKU", core.serialization.string().optional()), + variantImage: OrdersRefundResponsePurchasedItemsItemVariantImage.optional(), + variantPrice: OrdersRefundResponsePurchasedItemsItemVariantPrice.optional(), + weight: core.serialization.number().optional(), + width: core.serialization.number().optional(), + height: core.serialization.number().optional(), + length: core.serialization.number().optional(), +}); + +export declare namespace OrdersRefundResponsePurchasedItemsItem { + interface Raw { + count?: number | null; + rowTotal?: OrdersRefundResponsePurchasedItemsItemRowTotal.Raw | null; + productId?: string | null; + productName?: string | null; + productSlug?: string | null; + variantId?: string | null; + variantName?: string | null; + variantSlug?: string | null; + variantSKU?: string | null; + variantImage?: OrdersRefundResponsePurchasedItemsItemVariantImage.Raw | null; + variantPrice?: OrdersRefundResponsePurchasedItemsItemVariantPrice.Raw | null; + weight?: number | null; + width?: number | null; + height?: number | null; + length?: number | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponsePurchasedItemsItemRowTotal.ts b/src/serialization/resources/orders/types/OrdersRefundResponsePurchasedItemsItemRowTotal.ts new file mode 100644 index 00000000..49063a5d --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponsePurchasedItemsItemRowTotal.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersRefundResponsePurchasedItemsItemRowTotal: core.serialization.ObjectSchema< + serializers.OrdersRefundResponsePurchasedItemsItemRowTotal.Raw, + Webflow.OrdersRefundResponsePurchasedItemsItemRowTotal +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersRefundResponsePurchasedItemsItemRowTotal { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponsePurchasedItemsItemVariantImage.ts b/src/serialization/resources/orders/types/OrdersRefundResponsePurchasedItemsItemVariantImage.ts new file mode 100644 index 00000000..8edcf022 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponsePurchasedItemsItemVariantImage.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersRefundResponsePurchasedItemsItemVariantImageFile } from "./OrdersRefundResponsePurchasedItemsItemVariantImageFile"; + +export const OrdersRefundResponsePurchasedItemsItemVariantImage: core.serialization.ObjectSchema< + serializers.OrdersRefundResponsePurchasedItemsItemVariantImage.Raw, + Webflow.OrdersRefundResponsePurchasedItemsItemVariantImage +> = core.serialization.object({ + url: core.serialization.string().optional(), + file: OrdersRefundResponsePurchasedItemsItemVariantImageFile.optional(), +}); + +export declare namespace OrdersRefundResponsePurchasedItemsItemVariantImage { + interface Raw { + url?: string | null; + file?: OrdersRefundResponsePurchasedItemsItemVariantImageFile.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponsePurchasedItemsItemVariantImageFile.ts b/src/serialization/resources/orders/types/OrdersRefundResponsePurchasedItemsItemVariantImageFile.ts new file mode 100644 index 00000000..544cc28f --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponsePurchasedItemsItemVariantImageFile.ts @@ -0,0 +1,33 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersRefundResponsePurchasedItemsItemVariantImageFileVariantsItem } from "./OrdersRefundResponsePurchasedItemsItemVariantImageFileVariantsItem"; + +export const OrdersRefundResponsePurchasedItemsItemVariantImageFile: core.serialization.ObjectSchema< + serializers.OrdersRefundResponsePurchasedItemsItemVariantImageFile.Raw, + Webflow.OrdersRefundResponsePurchasedItemsItemVariantImageFile +> = core.serialization.object({ + size: core.serialization.number().optional(), + originalFileName: core.serialization.string().optional(), + createdOn: core.serialization.date().optional(), + contentType: core.serialization.string().optional(), + width: core.serialization.number().optional(), + height: core.serialization.number().optional(), + variants: core.serialization.list(OrdersRefundResponsePurchasedItemsItemVariantImageFileVariantsItem).optional(), +}); + +export declare namespace OrdersRefundResponsePurchasedItemsItemVariantImageFile { + interface Raw { + size?: number | null; + originalFileName?: string | null; + createdOn?: string | null; + contentType?: string | null; + width?: number | null; + height?: number | null; + variants?: OrdersRefundResponsePurchasedItemsItemVariantImageFileVariantsItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponsePurchasedItemsItemVariantImageFileVariantsItem.ts b/src/serialization/resources/orders/types/OrdersRefundResponsePurchasedItemsItemVariantImageFileVariantsItem.ts new file mode 100644 index 00000000..c8539590 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponsePurchasedItemsItemVariantImageFileVariantsItem.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersRefundResponsePurchasedItemsItemVariantImageFileVariantsItem: core.serialization.ObjectSchema< + serializers.OrdersRefundResponsePurchasedItemsItemVariantImageFileVariantsItem.Raw, + Webflow.OrdersRefundResponsePurchasedItemsItemVariantImageFileVariantsItem +> = core.serialization.object({ + url: core.serialization.string().optional(), + originalFileName: core.serialization.string().optional(), + size: core.serialization.number().optional(), + width: core.serialization.number().optional(), + height: core.serialization.number().optional(), +}); + +export declare namespace OrdersRefundResponsePurchasedItemsItemVariantImageFileVariantsItem { + interface Raw { + url?: string | null; + originalFileName?: string | null; + size?: number | null; + width?: number | null; + height?: number | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponsePurchasedItemsItemVariantPrice.ts b/src/serialization/resources/orders/types/OrdersRefundResponsePurchasedItemsItemVariantPrice.ts new file mode 100644 index 00000000..d01a0e2c --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponsePurchasedItemsItemVariantPrice.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersRefundResponsePurchasedItemsItemVariantPrice: core.serialization.ObjectSchema< + serializers.OrdersRefundResponsePurchasedItemsItemVariantPrice.Raw, + Webflow.OrdersRefundResponsePurchasedItemsItemVariantPrice +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersRefundResponsePurchasedItemsItemVariantPrice { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponseShippingAddress.ts b/src/serialization/resources/orders/types/OrdersRefundResponseShippingAddress.ts new file mode 100644 index 00000000..fc239afa --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponseShippingAddress.ts @@ -0,0 +1,38 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersRefundResponseShippingAddressType } from "./OrdersRefundResponseShippingAddressType"; +import { OrdersRefundResponseShippingAddressJapanType } from "./OrdersRefundResponseShippingAddressJapanType"; + +export const OrdersRefundResponseShippingAddress: core.serialization.ObjectSchema< + serializers.OrdersRefundResponseShippingAddress.Raw, + Webflow.OrdersRefundResponseShippingAddress +> = core.serialization.object({ + type: OrdersRefundResponseShippingAddressType.optional(), + japanType: OrdersRefundResponseShippingAddressJapanType.optional(), + addressee: core.serialization.string().optional(), + line1: core.serialization.string().optional(), + line2: core.serialization.string().optional(), + city: core.serialization.string().optional(), + state: core.serialization.string().optional(), + country: core.serialization.string().optional(), + postalCode: core.serialization.string().optional(), +}); + +export declare namespace OrdersRefundResponseShippingAddress { + interface Raw { + type?: OrdersRefundResponseShippingAddressType.Raw | null; + japanType?: OrdersRefundResponseShippingAddressJapanType.Raw | null; + addressee?: string | null; + line1?: string | null; + line2?: string | null; + city?: string | null; + state?: string | null; + country?: string | null; + postalCode?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponseShippingAddressJapanType.ts b/src/serialization/resources/orders/types/OrdersRefundResponseShippingAddressJapanType.ts new file mode 100644 index 00000000..b0f34ab6 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponseShippingAddressJapanType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersRefundResponseShippingAddressJapanType: core.serialization.Schema< + serializers.OrdersRefundResponseShippingAddressJapanType.Raw, + Webflow.OrdersRefundResponseShippingAddressJapanType +> = core.serialization.enum_(["kana", "kanji"]); + +export declare namespace OrdersRefundResponseShippingAddressJapanType { + type Raw = "kana" | "kanji"; +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponseShippingAddressType.ts b/src/serialization/resources/orders/types/OrdersRefundResponseShippingAddressType.ts new file mode 100644 index 00000000..af217f61 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponseShippingAddressType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersRefundResponseShippingAddressType: core.serialization.Schema< + serializers.OrdersRefundResponseShippingAddressType.Raw, + Webflow.OrdersRefundResponseShippingAddressType +> = core.serialization.enum_(["shipping", "billing"]); + +export declare namespace OrdersRefundResponseShippingAddressType { + type Raw = "shipping" | "billing"; +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponseStatus.ts b/src/serialization/resources/orders/types/OrdersRefundResponseStatus.ts new file mode 100644 index 00000000..f4feb668 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponseStatus.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersRefundResponseStatus: core.serialization.Schema< + serializers.OrdersRefundResponseStatus.Raw, + Webflow.OrdersRefundResponseStatus +> = core.serialization.enum_(["pending", "unfulfilled", "fulfilled", "disputed", "dispute-lost", "refunded"]); + +export declare namespace OrdersRefundResponseStatus { + type Raw = "pending" | "unfulfilled" | "fulfilled" | "disputed" | "dispute-lost" | "refunded"; +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponseStripeCard.ts b/src/serialization/resources/orders/types/OrdersRefundResponseStripeCard.ts new file mode 100644 index 00000000..d9f66626 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponseStripeCard.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersRefundResponseStripeCardBrand } from "./OrdersRefundResponseStripeCardBrand"; +import { OrdersRefundResponseStripeCardExpires } from "./OrdersRefundResponseStripeCardExpires"; + +export const OrdersRefundResponseStripeCard: core.serialization.ObjectSchema< + serializers.OrdersRefundResponseStripeCard.Raw, + Webflow.OrdersRefundResponseStripeCard +> = core.serialization.object({ + last4: core.serialization.string().optional(), + brand: OrdersRefundResponseStripeCardBrand.optional(), + ownerName: core.serialization.string().optional(), + expires: OrdersRefundResponseStripeCardExpires.optional(), +}); + +export declare namespace OrdersRefundResponseStripeCard { + interface Raw { + last4?: string | null; + brand?: OrdersRefundResponseStripeCardBrand.Raw | null; + ownerName?: string | null; + expires?: OrdersRefundResponseStripeCardExpires.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponseStripeCardBrand.ts b/src/serialization/resources/orders/types/OrdersRefundResponseStripeCardBrand.ts new file mode 100644 index 00000000..71d731b7 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponseStripeCardBrand.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersRefundResponseStripeCardBrand: core.serialization.Schema< + serializers.OrdersRefundResponseStripeCardBrand.Raw, + Webflow.OrdersRefundResponseStripeCardBrand +> = core.serialization.enum_(["Visa", "American Express", "MasterCard", "Discover", "JCB", "Diners Club", "Unknown"]); + +export declare namespace OrdersRefundResponseStripeCardBrand { + type Raw = "Visa" | "American Express" | "MasterCard" | "Discover" | "JCB" | "Diners Club" | "Unknown"; +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponseStripeCardExpires.ts b/src/serialization/resources/orders/types/OrdersRefundResponseStripeCardExpires.ts new file mode 100644 index 00000000..2a33b915 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponseStripeCardExpires.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersRefundResponseStripeCardExpires: core.serialization.ObjectSchema< + serializers.OrdersRefundResponseStripeCardExpires.Raw, + Webflow.OrdersRefundResponseStripeCardExpires +> = core.serialization.object({ + year: core.serialization.number().optional(), + month: core.serialization.number().optional(), +}); + +export declare namespace OrdersRefundResponseStripeCardExpires { + interface Raw { + year?: number | null; + month?: number | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponseStripeDetails.ts b/src/serialization/resources/orders/types/OrdersRefundResponseStripeDetails.ts new file mode 100644 index 00000000..f2158bd8 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponseStripeDetails.ts @@ -0,0 +1,34 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersRefundResponseStripeDetails: core.serialization.ObjectSchema< + serializers.OrdersRefundResponseStripeDetails.Raw, + Webflow.OrdersRefundResponseStripeDetails +> = core.serialization.object({ + subscriptionId: core.serialization.string().optional(), + paymentMethod: core.serialization.string().optional(), + paymentIntentId: core.serialization.string().optional(), + customerId: core.serialization.string().optional(), + chargeId: core.serialization.string().optional(), + disputeId: core.serialization.string().optional(), + refundId: core.serialization.string().optional(), + refundReason: core.serialization.string().optional(), +}); + +export declare namespace OrdersRefundResponseStripeDetails { + interface Raw { + subscriptionId?: string | null; + paymentMethod?: string | null; + paymentIntentId?: string | null; + customerId?: string | null; + chargeId?: string | null; + disputeId?: string | null; + refundId?: string | null; + refundReason?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponseTotals.ts b/src/serialization/resources/orders/types/OrdersRefundResponseTotals.ts new file mode 100644 index 00000000..0872b249 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponseTotals.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersRefundResponseTotalsSubtotal } from "./OrdersRefundResponseTotalsSubtotal"; +import { OrdersRefundResponseTotalsExtrasItem } from "./OrdersRefundResponseTotalsExtrasItem"; +import { OrdersRefundResponseTotalsTotal } from "./OrdersRefundResponseTotalsTotal"; + +export const OrdersRefundResponseTotals: core.serialization.ObjectSchema< + serializers.OrdersRefundResponseTotals.Raw, + Webflow.OrdersRefundResponseTotals +> = core.serialization.object({ + subtotal: OrdersRefundResponseTotalsSubtotal.optional(), + extras: core.serialization.list(OrdersRefundResponseTotalsExtrasItem).optional(), + total: OrdersRefundResponseTotalsTotal.optional(), +}); + +export declare namespace OrdersRefundResponseTotals { + interface Raw { + subtotal?: OrdersRefundResponseTotalsSubtotal.Raw | null; + extras?: OrdersRefundResponseTotalsExtrasItem.Raw[] | null; + total?: OrdersRefundResponseTotalsTotal.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponseTotalsExtrasItem.ts b/src/serialization/resources/orders/types/OrdersRefundResponseTotalsExtrasItem.ts new file mode 100644 index 00000000..5ab4e073 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponseTotalsExtrasItem.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersRefundResponseTotalsExtrasItemType } from "./OrdersRefundResponseTotalsExtrasItemType"; +import { OrdersRefundResponseTotalsExtrasItemPrice } from "./OrdersRefundResponseTotalsExtrasItemPrice"; + +export const OrdersRefundResponseTotalsExtrasItem: core.serialization.ObjectSchema< + serializers.OrdersRefundResponseTotalsExtrasItem.Raw, + Webflow.OrdersRefundResponseTotalsExtrasItem +> = core.serialization.object({ + type: OrdersRefundResponseTotalsExtrasItemType.optional(), + name: core.serialization.string().optional(), + description: core.serialization.string().optional(), + price: OrdersRefundResponseTotalsExtrasItemPrice.optional(), +}); + +export declare namespace OrdersRefundResponseTotalsExtrasItem { + interface Raw { + type?: OrdersRefundResponseTotalsExtrasItemType.Raw | null; + name?: string | null; + description?: string | null; + price?: OrdersRefundResponseTotalsExtrasItemPrice.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponseTotalsExtrasItemPrice.ts b/src/serialization/resources/orders/types/OrdersRefundResponseTotalsExtrasItemPrice.ts new file mode 100644 index 00000000..607c5e7e --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponseTotalsExtrasItemPrice.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersRefundResponseTotalsExtrasItemPrice: core.serialization.ObjectSchema< + serializers.OrdersRefundResponseTotalsExtrasItemPrice.Raw, + Webflow.OrdersRefundResponseTotalsExtrasItemPrice +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersRefundResponseTotalsExtrasItemPrice { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponseTotalsExtrasItemType.ts b/src/serialization/resources/orders/types/OrdersRefundResponseTotalsExtrasItemType.ts new file mode 100644 index 00000000..af80404b --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponseTotalsExtrasItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersRefundResponseTotalsExtrasItemType: core.serialization.Schema< + serializers.OrdersRefundResponseTotalsExtrasItemType.Raw, + Webflow.OrdersRefundResponseTotalsExtrasItemType +> = core.serialization.enum_(["discount", "discount-shipping", "shipping", "tax"]); + +export declare namespace OrdersRefundResponseTotalsExtrasItemType { + type Raw = "discount" | "discount-shipping" | "shipping" | "tax"; +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponseTotalsSubtotal.ts b/src/serialization/resources/orders/types/OrdersRefundResponseTotalsSubtotal.ts new file mode 100644 index 00000000..5fe88390 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponseTotalsSubtotal.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersRefundResponseTotalsSubtotal: core.serialization.ObjectSchema< + serializers.OrdersRefundResponseTotalsSubtotal.Raw, + Webflow.OrdersRefundResponseTotalsSubtotal +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersRefundResponseTotalsSubtotal { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersRefundResponseTotalsTotal.ts b/src/serialization/resources/orders/types/OrdersRefundResponseTotalsTotal.ts new file mode 100644 index 00000000..d37ace46 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersRefundResponseTotalsTotal.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersRefundResponseTotalsTotal: core.serialization.ObjectSchema< + serializers.OrdersRefundResponseTotalsTotal.Raw, + Webflow.OrdersRefundResponseTotalsTotal +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersRefundResponseTotalsTotal { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponse.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponse.ts new file mode 100644 index 00000000..3ca27da3 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponse.ts @@ -0,0 +1,102 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersUpdateFulfillResponseStatus } from "./OrdersUpdateFulfillResponseStatus"; +import { OrdersUpdateFulfillResponseDisputeLastStatus } from "./OrdersUpdateFulfillResponseDisputeLastStatus"; +import { OrdersUpdateFulfillResponseCustomerPaid } from "./OrdersUpdateFulfillResponseCustomerPaid"; +import { OrdersUpdateFulfillResponseNetAmount } from "./OrdersUpdateFulfillResponseNetAmount"; +import { OrdersUpdateFulfillResponseApplicationFee } from "./OrdersUpdateFulfillResponseApplicationFee"; +import { OrdersUpdateFulfillResponseAllAddressesItem } from "./OrdersUpdateFulfillResponseAllAddressesItem"; +import { OrdersUpdateFulfillResponseShippingAddress } from "./OrdersUpdateFulfillResponseShippingAddress"; +import { OrdersUpdateFulfillResponseBillingAddress } from "./OrdersUpdateFulfillResponseBillingAddress"; +import { OrdersUpdateFulfillResponseCustomerInfo } from "./OrdersUpdateFulfillResponseCustomerInfo"; +import { OrdersUpdateFulfillResponsePurchasedItemsItem } from "./OrdersUpdateFulfillResponsePurchasedItemsItem"; +import { OrdersUpdateFulfillResponseStripeDetails } from "./OrdersUpdateFulfillResponseStripeDetails"; +import { OrdersUpdateFulfillResponseStripeCard } from "./OrdersUpdateFulfillResponseStripeCard"; +import { OrdersUpdateFulfillResponsePaypalDetails } from "./OrdersUpdateFulfillResponsePaypalDetails"; +import { OrdersUpdateFulfillResponseMetadata } from "./OrdersUpdateFulfillResponseMetadata"; +import { OrdersUpdateFulfillResponseTotals } from "./OrdersUpdateFulfillResponseTotals"; +import { OrdersUpdateFulfillResponseDownloadFilesItem } from "./OrdersUpdateFulfillResponseDownloadFilesItem"; + +export const OrdersUpdateFulfillResponse: core.serialization.ObjectSchema< + serializers.OrdersUpdateFulfillResponse.Raw, + Webflow.OrdersUpdateFulfillResponse +> = core.serialization.object({ + orderId: core.serialization.string().optional(), + status: OrdersUpdateFulfillResponseStatus.optional(), + comment: core.serialization.string().optional(), + orderComment: core.serialization.string().optional(), + acceptedOn: core.serialization.date().optional(), + fulfilledOn: core.serialization.date().optional(), + refundedOn: core.serialization.date().optional(), + disputedOn: core.serialization.date().optional(), + disputeUpdatedOn: core.serialization.date().optional(), + disputeLastStatus: OrdersUpdateFulfillResponseDisputeLastStatus.optional(), + customerPaid: OrdersUpdateFulfillResponseCustomerPaid.optional(), + netAmount: OrdersUpdateFulfillResponseNetAmount.optional(), + applicationFee: OrdersUpdateFulfillResponseApplicationFee.optional(), + allAddresses: core.serialization.list(OrdersUpdateFulfillResponseAllAddressesItem).optional(), + shippingAddress: OrdersUpdateFulfillResponseShippingAddress.optional(), + billingAddress: OrdersUpdateFulfillResponseBillingAddress.optional(), + shippingProvider: core.serialization.string().optional(), + shippingTracking: core.serialization.string().optional(), + shippingTrackingUrl: core.serialization.property("shippingTrackingURL", core.serialization.string().optional()), + customerInfo: OrdersUpdateFulfillResponseCustomerInfo.optional(), + purchasedItems: core.serialization.list(OrdersUpdateFulfillResponsePurchasedItemsItem).optional(), + purchasedItemsCount: core.serialization.number().optional(), + stripeDetails: OrdersUpdateFulfillResponseStripeDetails.optional(), + stripeCard: OrdersUpdateFulfillResponseStripeCard.optional(), + paypalDetails: OrdersUpdateFulfillResponsePaypalDetails.optional(), + customData: core.serialization + .list(core.serialization.record(core.serialization.string(), core.serialization.unknown())) + .optional(), + metadata: OrdersUpdateFulfillResponseMetadata.optional(), + isCustomerDeleted: core.serialization.boolean().optional(), + isShippingRequired: core.serialization.boolean().optional(), + hasDownloads: core.serialization.boolean().optional(), + paymentProcessor: core.serialization.string().optional(), + totals: OrdersUpdateFulfillResponseTotals.optional(), + downloadFiles: core.serialization.list(OrdersUpdateFulfillResponseDownloadFilesItem).optional(), +}); + +export declare namespace OrdersUpdateFulfillResponse { + interface Raw { + orderId?: string | null; + status?: OrdersUpdateFulfillResponseStatus.Raw | null; + comment?: string | null; + orderComment?: string | null; + acceptedOn?: string | null; + fulfilledOn?: string | null; + refundedOn?: string | null; + disputedOn?: string | null; + disputeUpdatedOn?: string | null; + disputeLastStatus?: OrdersUpdateFulfillResponseDisputeLastStatus.Raw | null; + customerPaid?: OrdersUpdateFulfillResponseCustomerPaid.Raw | null; + netAmount?: OrdersUpdateFulfillResponseNetAmount.Raw | null; + applicationFee?: OrdersUpdateFulfillResponseApplicationFee.Raw | null; + allAddresses?: OrdersUpdateFulfillResponseAllAddressesItem.Raw[] | null; + shippingAddress?: OrdersUpdateFulfillResponseShippingAddress.Raw | null; + billingAddress?: OrdersUpdateFulfillResponseBillingAddress.Raw | null; + shippingProvider?: string | null; + shippingTracking?: string | null; + shippingTrackingURL?: string | null; + customerInfo?: OrdersUpdateFulfillResponseCustomerInfo.Raw | null; + purchasedItems?: OrdersUpdateFulfillResponsePurchasedItemsItem.Raw[] | null; + purchasedItemsCount?: number | null; + stripeDetails?: OrdersUpdateFulfillResponseStripeDetails.Raw | null; + stripeCard?: OrdersUpdateFulfillResponseStripeCard.Raw | null; + paypalDetails?: OrdersUpdateFulfillResponsePaypalDetails.Raw | null; + customData?: Record[] | null; + metadata?: OrdersUpdateFulfillResponseMetadata.Raw | null; + isCustomerDeleted?: boolean | null; + isShippingRequired?: boolean | null; + hasDownloads?: boolean | null; + paymentProcessor?: string | null; + totals?: OrdersUpdateFulfillResponseTotals.Raw | null; + downloadFiles?: OrdersUpdateFulfillResponseDownloadFilesItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseAllAddressesItem.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseAllAddressesItem.ts new file mode 100644 index 00000000..512bb426 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseAllAddressesItem.ts @@ -0,0 +1,38 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersUpdateFulfillResponseAllAddressesItemType } from "./OrdersUpdateFulfillResponseAllAddressesItemType"; +import { OrdersUpdateFulfillResponseAllAddressesItemJapanType } from "./OrdersUpdateFulfillResponseAllAddressesItemJapanType"; + +export const OrdersUpdateFulfillResponseAllAddressesItem: core.serialization.ObjectSchema< + serializers.OrdersUpdateFulfillResponseAllAddressesItem.Raw, + Webflow.OrdersUpdateFulfillResponseAllAddressesItem +> = core.serialization.object({ + type: OrdersUpdateFulfillResponseAllAddressesItemType.optional(), + japanType: OrdersUpdateFulfillResponseAllAddressesItemJapanType.optional(), + addressee: core.serialization.string().optional(), + line1: core.serialization.string().optional(), + line2: core.serialization.string().optional(), + city: core.serialization.string().optional(), + state: core.serialization.string().optional(), + country: core.serialization.string().optional(), + postalCode: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateFulfillResponseAllAddressesItem { + interface Raw { + type?: OrdersUpdateFulfillResponseAllAddressesItemType.Raw | null; + japanType?: OrdersUpdateFulfillResponseAllAddressesItemJapanType.Raw | null; + addressee?: string | null; + line1?: string | null; + line2?: string | null; + city?: string | null; + state?: string | null; + country?: string | null; + postalCode?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseAllAddressesItemJapanType.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseAllAddressesItemJapanType.ts new file mode 100644 index 00000000..4fd9b02b --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseAllAddressesItemJapanType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateFulfillResponseAllAddressesItemJapanType: core.serialization.Schema< + serializers.OrdersUpdateFulfillResponseAllAddressesItemJapanType.Raw, + Webflow.OrdersUpdateFulfillResponseAllAddressesItemJapanType +> = core.serialization.enum_(["kana", "kanji"]); + +export declare namespace OrdersUpdateFulfillResponseAllAddressesItemJapanType { + type Raw = "kana" | "kanji"; +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseAllAddressesItemType.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseAllAddressesItemType.ts new file mode 100644 index 00000000..b149aaf1 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseAllAddressesItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateFulfillResponseAllAddressesItemType: core.serialization.Schema< + serializers.OrdersUpdateFulfillResponseAllAddressesItemType.Raw, + Webflow.OrdersUpdateFulfillResponseAllAddressesItemType +> = core.serialization.enum_(["shipping", "billing"]); + +export declare namespace OrdersUpdateFulfillResponseAllAddressesItemType { + type Raw = "shipping" | "billing"; +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseApplicationFee.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseApplicationFee.ts new file mode 100644 index 00000000..f76d747e --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseApplicationFee.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateFulfillResponseApplicationFee: core.serialization.ObjectSchema< + serializers.OrdersUpdateFulfillResponseApplicationFee.Raw, + Webflow.OrdersUpdateFulfillResponseApplicationFee +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateFulfillResponseApplicationFee { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseBillingAddress.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseBillingAddress.ts new file mode 100644 index 00000000..c13d087b --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseBillingAddress.ts @@ -0,0 +1,38 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersUpdateFulfillResponseBillingAddressType } from "./OrdersUpdateFulfillResponseBillingAddressType"; +import { OrdersUpdateFulfillResponseBillingAddressJapanType } from "./OrdersUpdateFulfillResponseBillingAddressJapanType"; + +export const OrdersUpdateFulfillResponseBillingAddress: core.serialization.ObjectSchema< + serializers.OrdersUpdateFulfillResponseBillingAddress.Raw, + Webflow.OrdersUpdateFulfillResponseBillingAddress +> = core.serialization.object({ + type: OrdersUpdateFulfillResponseBillingAddressType.optional(), + japanType: OrdersUpdateFulfillResponseBillingAddressJapanType.optional(), + addressee: core.serialization.string().optional(), + line1: core.serialization.string().optional(), + line2: core.serialization.string().optional(), + city: core.serialization.string().optional(), + state: core.serialization.string().optional(), + country: core.serialization.string().optional(), + postalCode: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateFulfillResponseBillingAddress { + interface Raw { + type?: OrdersUpdateFulfillResponseBillingAddressType.Raw | null; + japanType?: OrdersUpdateFulfillResponseBillingAddressJapanType.Raw | null; + addressee?: string | null; + line1?: string | null; + line2?: string | null; + city?: string | null; + state?: string | null; + country?: string | null; + postalCode?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseBillingAddressJapanType.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseBillingAddressJapanType.ts new file mode 100644 index 00000000..d84f9329 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseBillingAddressJapanType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateFulfillResponseBillingAddressJapanType: core.serialization.Schema< + serializers.OrdersUpdateFulfillResponseBillingAddressJapanType.Raw, + Webflow.OrdersUpdateFulfillResponseBillingAddressJapanType +> = core.serialization.enum_(["kana", "kanji"]); + +export declare namespace OrdersUpdateFulfillResponseBillingAddressJapanType { + type Raw = "kana" | "kanji"; +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseBillingAddressType.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseBillingAddressType.ts new file mode 100644 index 00000000..e4382791 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseBillingAddressType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateFulfillResponseBillingAddressType: core.serialization.Schema< + serializers.OrdersUpdateFulfillResponseBillingAddressType.Raw, + Webflow.OrdersUpdateFulfillResponseBillingAddressType +> = core.serialization.enum_(["shipping", "billing"]); + +export declare namespace OrdersUpdateFulfillResponseBillingAddressType { + type Raw = "shipping" | "billing"; +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseCustomerInfo.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseCustomerInfo.ts new file mode 100644 index 00000000..c5c927b2 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseCustomerInfo.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateFulfillResponseCustomerInfo: core.serialization.ObjectSchema< + serializers.OrdersUpdateFulfillResponseCustomerInfo.Raw, + Webflow.OrdersUpdateFulfillResponseCustomerInfo +> = core.serialization.object({ + fullName: core.serialization.string().optional(), + email: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateFulfillResponseCustomerInfo { + interface Raw { + fullName?: string | null; + email?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseCustomerPaid.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseCustomerPaid.ts new file mode 100644 index 00000000..978bf496 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseCustomerPaid.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateFulfillResponseCustomerPaid: core.serialization.ObjectSchema< + serializers.OrdersUpdateFulfillResponseCustomerPaid.Raw, + Webflow.OrdersUpdateFulfillResponseCustomerPaid +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateFulfillResponseCustomerPaid { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseDisputeLastStatus.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseDisputeLastStatus.ts new file mode 100644 index 00000000..fde9f50c --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseDisputeLastStatus.ts @@ -0,0 +1,33 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateFulfillResponseDisputeLastStatus: core.serialization.Schema< + serializers.OrdersUpdateFulfillResponseDisputeLastStatus.Raw, + Webflow.OrdersUpdateFulfillResponseDisputeLastStatus +> = core.serialization.enum_([ + "warning_needs_response", + "warning_under_review", + "warning_closed", + "needs_response", + "under_review", + "charge_refunded", + "won", + "lost", +]); + +export declare namespace OrdersUpdateFulfillResponseDisputeLastStatus { + type Raw = + | "warning_needs_response" + | "warning_under_review" + | "warning_closed" + | "needs_response" + | "under_review" + | "charge_refunded" + | "won" + | "lost"; +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseDownloadFilesItem.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseDownloadFilesItem.ts new file mode 100644 index 00000000..07203027 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseDownloadFilesItem.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateFulfillResponseDownloadFilesItem: core.serialization.ObjectSchema< + serializers.OrdersUpdateFulfillResponseDownloadFilesItem.Raw, + Webflow.OrdersUpdateFulfillResponseDownloadFilesItem +> = core.serialization.object({ + id: core.serialization.string().optional(), + name: core.serialization.string().optional(), + url: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateFulfillResponseDownloadFilesItem { + interface Raw { + id?: string | null; + name?: string | null; + url?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseMetadata.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseMetadata.ts new file mode 100644 index 00000000..af9687f1 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseMetadata.ts @@ -0,0 +1,20 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateFulfillResponseMetadata: core.serialization.ObjectSchema< + serializers.OrdersUpdateFulfillResponseMetadata.Raw, + Webflow.OrdersUpdateFulfillResponseMetadata +> = core.serialization.object({ + isBuyNow: core.serialization.boolean().optional(), +}); + +export declare namespace OrdersUpdateFulfillResponseMetadata { + interface Raw { + isBuyNow?: boolean | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseNetAmount.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseNetAmount.ts new file mode 100644 index 00000000..ebd29c95 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseNetAmount.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateFulfillResponseNetAmount: core.serialization.ObjectSchema< + serializers.OrdersUpdateFulfillResponseNetAmount.Raw, + Webflow.OrdersUpdateFulfillResponseNetAmount +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateFulfillResponseNetAmount { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponsePaypalDetails.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponsePaypalDetails.ts new file mode 100644 index 00000000..63adeede --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponsePaypalDetails.ts @@ -0,0 +1,30 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateFulfillResponsePaypalDetails: core.serialization.ObjectSchema< + serializers.OrdersUpdateFulfillResponsePaypalDetails.Raw, + Webflow.OrdersUpdateFulfillResponsePaypalDetails +> = core.serialization.object({ + orderId: core.serialization.string().optional(), + payerId: core.serialization.string().optional(), + captureId: core.serialization.string().optional(), + refundId: core.serialization.string().optional(), + refundReason: core.serialization.string().optional(), + disputeId: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateFulfillResponsePaypalDetails { + interface Raw { + orderId?: string | null; + payerId?: string | null; + captureId?: string | null; + refundId?: string | null; + refundReason?: string | null; + disputeId?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItem.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItem.ts new file mode 100644 index 00000000..dcfc7cbd --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItem.ts @@ -0,0 +1,51 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersUpdateFulfillResponsePurchasedItemsItemRowTotal } from "./OrdersUpdateFulfillResponsePurchasedItemsItemRowTotal"; +import { OrdersUpdateFulfillResponsePurchasedItemsItemVariantImage } from "./OrdersUpdateFulfillResponsePurchasedItemsItemVariantImage"; +import { OrdersUpdateFulfillResponsePurchasedItemsItemVariantPrice } from "./OrdersUpdateFulfillResponsePurchasedItemsItemVariantPrice"; + +export const OrdersUpdateFulfillResponsePurchasedItemsItem: core.serialization.ObjectSchema< + serializers.OrdersUpdateFulfillResponsePurchasedItemsItem.Raw, + Webflow.OrdersUpdateFulfillResponsePurchasedItemsItem +> = core.serialization.object({ + count: core.serialization.number().optional(), + rowTotal: OrdersUpdateFulfillResponsePurchasedItemsItemRowTotal.optional(), + productId: core.serialization.string().optional(), + productName: core.serialization.string().optional(), + productSlug: core.serialization.string().optional(), + variantId: core.serialization.string().optional(), + variantName: core.serialization.string().optional(), + variantSlug: core.serialization.string().optional(), + variantSku: core.serialization.property("variantSKU", core.serialization.string().optional()), + variantImage: OrdersUpdateFulfillResponsePurchasedItemsItemVariantImage.optional(), + variantPrice: OrdersUpdateFulfillResponsePurchasedItemsItemVariantPrice.optional(), + weight: core.serialization.number().optional(), + width: core.serialization.number().optional(), + height: core.serialization.number().optional(), + length: core.serialization.number().optional(), +}); + +export declare namespace OrdersUpdateFulfillResponsePurchasedItemsItem { + interface Raw { + count?: number | null; + rowTotal?: OrdersUpdateFulfillResponsePurchasedItemsItemRowTotal.Raw | null; + productId?: string | null; + productName?: string | null; + productSlug?: string | null; + variantId?: string | null; + variantName?: string | null; + variantSlug?: string | null; + variantSKU?: string | null; + variantImage?: OrdersUpdateFulfillResponsePurchasedItemsItemVariantImage.Raw | null; + variantPrice?: OrdersUpdateFulfillResponsePurchasedItemsItemVariantPrice.Raw | null; + weight?: number | null; + width?: number | null; + height?: number | null; + length?: number | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItemRowTotal.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItemRowTotal.ts new file mode 100644 index 00000000..5fb40891 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItemRowTotal.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateFulfillResponsePurchasedItemsItemRowTotal: core.serialization.ObjectSchema< + serializers.OrdersUpdateFulfillResponsePurchasedItemsItemRowTotal.Raw, + Webflow.OrdersUpdateFulfillResponsePurchasedItemsItemRowTotal +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateFulfillResponsePurchasedItemsItemRowTotal { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItemVariantImage.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItemVariantImage.ts new file mode 100644 index 00000000..dd9d577d --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItemVariantImage.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFile } from "./OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFile"; + +export const OrdersUpdateFulfillResponsePurchasedItemsItemVariantImage: core.serialization.ObjectSchema< + serializers.OrdersUpdateFulfillResponsePurchasedItemsItemVariantImage.Raw, + Webflow.OrdersUpdateFulfillResponsePurchasedItemsItemVariantImage +> = core.serialization.object({ + url: core.serialization.string().optional(), + file: OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFile.optional(), +}); + +export declare namespace OrdersUpdateFulfillResponsePurchasedItemsItemVariantImage { + interface Raw { + url?: string | null; + file?: OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFile.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFile.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFile.ts new file mode 100644 index 00000000..47330ffe --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFile.ts @@ -0,0 +1,35 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFileVariantsItem } from "./OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFileVariantsItem"; + +export const OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFile: core.serialization.ObjectSchema< + serializers.OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFile.Raw, + Webflow.OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFile +> = core.serialization.object({ + size: core.serialization.number().optional(), + originalFileName: core.serialization.string().optional(), + createdOn: core.serialization.date().optional(), + contentType: core.serialization.string().optional(), + width: core.serialization.number().optional(), + height: core.serialization.number().optional(), + variants: core.serialization + .list(OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFileVariantsItem) + .optional(), +}); + +export declare namespace OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFile { + interface Raw { + size?: number | null; + originalFileName?: string | null; + createdOn?: string | null; + contentType?: string | null; + width?: number | null; + height?: number | null; + variants?: OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFileVariantsItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFileVariantsItem.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFileVariantsItem.ts new file mode 100644 index 00000000..e860d322 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFileVariantsItem.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFileVariantsItem: core.serialization.ObjectSchema< + serializers.OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFileVariantsItem.Raw, + Webflow.OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFileVariantsItem +> = core.serialization.object({ + url: core.serialization.string().optional(), + originalFileName: core.serialization.string().optional(), + size: core.serialization.number().optional(), + width: core.serialization.number().optional(), + height: core.serialization.number().optional(), +}); + +export declare namespace OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFileVariantsItem { + interface Raw { + url?: string | null; + originalFileName?: string | null; + size?: number | null; + width?: number | null; + height?: number | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItemVariantPrice.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItemVariantPrice.ts new file mode 100644 index 00000000..fdf989e2 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponsePurchasedItemsItemVariantPrice.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateFulfillResponsePurchasedItemsItemVariantPrice: core.serialization.ObjectSchema< + serializers.OrdersUpdateFulfillResponsePurchasedItemsItemVariantPrice.Raw, + Webflow.OrdersUpdateFulfillResponsePurchasedItemsItemVariantPrice +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateFulfillResponsePurchasedItemsItemVariantPrice { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseShippingAddress.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseShippingAddress.ts new file mode 100644 index 00000000..89686f79 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseShippingAddress.ts @@ -0,0 +1,38 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersUpdateFulfillResponseShippingAddressType } from "./OrdersUpdateFulfillResponseShippingAddressType"; +import { OrdersUpdateFulfillResponseShippingAddressJapanType } from "./OrdersUpdateFulfillResponseShippingAddressJapanType"; + +export const OrdersUpdateFulfillResponseShippingAddress: core.serialization.ObjectSchema< + serializers.OrdersUpdateFulfillResponseShippingAddress.Raw, + Webflow.OrdersUpdateFulfillResponseShippingAddress +> = core.serialization.object({ + type: OrdersUpdateFulfillResponseShippingAddressType.optional(), + japanType: OrdersUpdateFulfillResponseShippingAddressJapanType.optional(), + addressee: core.serialization.string().optional(), + line1: core.serialization.string().optional(), + line2: core.serialization.string().optional(), + city: core.serialization.string().optional(), + state: core.serialization.string().optional(), + country: core.serialization.string().optional(), + postalCode: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateFulfillResponseShippingAddress { + interface Raw { + type?: OrdersUpdateFulfillResponseShippingAddressType.Raw | null; + japanType?: OrdersUpdateFulfillResponseShippingAddressJapanType.Raw | null; + addressee?: string | null; + line1?: string | null; + line2?: string | null; + city?: string | null; + state?: string | null; + country?: string | null; + postalCode?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseShippingAddressJapanType.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseShippingAddressJapanType.ts new file mode 100644 index 00000000..a7f6f1c1 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseShippingAddressJapanType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateFulfillResponseShippingAddressJapanType: core.serialization.Schema< + serializers.OrdersUpdateFulfillResponseShippingAddressJapanType.Raw, + Webflow.OrdersUpdateFulfillResponseShippingAddressJapanType +> = core.serialization.enum_(["kana", "kanji"]); + +export declare namespace OrdersUpdateFulfillResponseShippingAddressJapanType { + type Raw = "kana" | "kanji"; +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseShippingAddressType.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseShippingAddressType.ts new file mode 100644 index 00000000..f261c5ce --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseShippingAddressType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateFulfillResponseShippingAddressType: core.serialization.Schema< + serializers.OrdersUpdateFulfillResponseShippingAddressType.Raw, + Webflow.OrdersUpdateFulfillResponseShippingAddressType +> = core.serialization.enum_(["shipping", "billing"]); + +export declare namespace OrdersUpdateFulfillResponseShippingAddressType { + type Raw = "shipping" | "billing"; +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseStatus.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseStatus.ts new file mode 100644 index 00000000..fcea419d --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseStatus.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateFulfillResponseStatus: core.serialization.Schema< + serializers.OrdersUpdateFulfillResponseStatus.Raw, + Webflow.OrdersUpdateFulfillResponseStatus +> = core.serialization.enum_(["pending", "unfulfilled", "fulfilled", "disputed", "dispute-lost", "refunded"]); + +export declare namespace OrdersUpdateFulfillResponseStatus { + type Raw = "pending" | "unfulfilled" | "fulfilled" | "disputed" | "dispute-lost" | "refunded"; +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseStripeCard.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseStripeCard.ts new file mode 100644 index 00000000..b0a715da --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseStripeCard.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersUpdateFulfillResponseStripeCardBrand } from "./OrdersUpdateFulfillResponseStripeCardBrand"; +import { OrdersUpdateFulfillResponseStripeCardExpires } from "./OrdersUpdateFulfillResponseStripeCardExpires"; + +export const OrdersUpdateFulfillResponseStripeCard: core.serialization.ObjectSchema< + serializers.OrdersUpdateFulfillResponseStripeCard.Raw, + Webflow.OrdersUpdateFulfillResponseStripeCard +> = core.serialization.object({ + last4: core.serialization.string().optional(), + brand: OrdersUpdateFulfillResponseStripeCardBrand.optional(), + ownerName: core.serialization.string().optional(), + expires: OrdersUpdateFulfillResponseStripeCardExpires.optional(), +}); + +export declare namespace OrdersUpdateFulfillResponseStripeCard { + interface Raw { + last4?: string | null; + brand?: OrdersUpdateFulfillResponseStripeCardBrand.Raw | null; + ownerName?: string | null; + expires?: OrdersUpdateFulfillResponseStripeCardExpires.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseStripeCardBrand.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseStripeCardBrand.ts new file mode 100644 index 00000000..3f30519c --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseStripeCardBrand.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateFulfillResponseStripeCardBrand: core.serialization.Schema< + serializers.OrdersUpdateFulfillResponseStripeCardBrand.Raw, + Webflow.OrdersUpdateFulfillResponseStripeCardBrand +> = core.serialization.enum_(["Visa", "American Express", "MasterCard", "Discover", "JCB", "Diners Club", "Unknown"]); + +export declare namespace OrdersUpdateFulfillResponseStripeCardBrand { + type Raw = "Visa" | "American Express" | "MasterCard" | "Discover" | "JCB" | "Diners Club" | "Unknown"; +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseStripeCardExpires.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseStripeCardExpires.ts new file mode 100644 index 00000000..e4c0715b --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseStripeCardExpires.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateFulfillResponseStripeCardExpires: core.serialization.ObjectSchema< + serializers.OrdersUpdateFulfillResponseStripeCardExpires.Raw, + Webflow.OrdersUpdateFulfillResponseStripeCardExpires +> = core.serialization.object({ + year: core.serialization.number().optional(), + month: core.serialization.number().optional(), +}); + +export declare namespace OrdersUpdateFulfillResponseStripeCardExpires { + interface Raw { + year?: number | null; + month?: number | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseStripeDetails.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseStripeDetails.ts new file mode 100644 index 00000000..388a4f6e --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseStripeDetails.ts @@ -0,0 +1,34 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateFulfillResponseStripeDetails: core.serialization.ObjectSchema< + serializers.OrdersUpdateFulfillResponseStripeDetails.Raw, + Webflow.OrdersUpdateFulfillResponseStripeDetails +> = core.serialization.object({ + subscriptionId: core.serialization.string().optional(), + paymentMethod: core.serialization.string().optional(), + paymentIntentId: core.serialization.string().optional(), + customerId: core.serialization.string().optional(), + chargeId: core.serialization.string().optional(), + disputeId: core.serialization.string().optional(), + refundId: core.serialization.string().optional(), + refundReason: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateFulfillResponseStripeDetails { + interface Raw { + subscriptionId?: string | null; + paymentMethod?: string | null; + paymentIntentId?: string | null; + customerId?: string | null; + chargeId?: string | null; + disputeId?: string | null; + refundId?: string | null; + refundReason?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseTotals.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseTotals.ts new file mode 100644 index 00000000..020723a2 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseTotals.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersUpdateFulfillResponseTotalsSubtotal } from "./OrdersUpdateFulfillResponseTotalsSubtotal"; +import { OrdersUpdateFulfillResponseTotalsExtrasItem } from "./OrdersUpdateFulfillResponseTotalsExtrasItem"; +import { OrdersUpdateFulfillResponseTotalsTotal } from "./OrdersUpdateFulfillResponseTotalsTotal"; + +export const OrdersUpdateFulfillResponseTotals: core.serialization.ObjectSchema< + serializers.OrdersUpdateFulfillResponseTotals.Raw, + Webflow.OrdersUpdateFulfillResponseTotals +> = core.serialization.object({ + subtotal: OrdersUpdateFulfillResponseTotalsSubtotal.optional(), + extras: core.serialization.list(OrdersUpdateFulfillResponseTotalsExtrasItem).optional(), + total: OrdersUpdateFulfillResponseTotalsTotal.optional(), +}); + +export declare namespace OrdersUpdateFulfillResponseTotals { + interface Raw { + subtotal?: OrdersUpdateFulfillResponseTotalsSubtotal.Raw | null; + extras?: OrdersUpdateFulfillResponseTotalsExtrasItem.Raw[] | null; + total?: OrdersUpdateFulfillResponseTotalsTotal.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseTotalsExtrasItem.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseTotalsExtrasItem.ts new file mode 100644 index 00000000..4b672f1d --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseTotalsExtrasItem.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersUpdateFulfillResponseTotalsExtrasItemType } from "./OrdersUpdateFulfillResponseTotalsExtrasItemType"; +import { OrdersUpdateFulfillResponseTotalsExtrasItemPrice } from "./OrdersUpdateFulfillResponseTotalsExtrasItemPrice"; + +export const OrdersUpdateFulfillResponseTotalsExtrasItem: core.serialization.ObjectSchema< + serializers.OrdersUpdateFulfillResponseTotalsExtrasItem.Raw, + Webflow.OrdersUpdateFulfillResponseTotalsExtrasItem +> = core.serialization.object({ + type: OrdersUpdateFulfillResponseTotalsExtrasItemType.optional(), + name: core.serialization.string().optional(), + description: core.serialization.string().optional(), + price: OrdersUpdateFulfillResponseTotalsExtrasItemPrice.optional(), +}); + +export declare namespace OrdersUpdateFulfillResponseTotalsExtrasItem { + interface Raw { + type?: OrdersUpdateFulfillResponseTotalsExtrasItemType.Raw | null; + name?: string | null; + description?: string | null; + price?: OrdersUpdateFulfillResponseTotalsExtrasItemPrice.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseTotalsExtrasItemPrice.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseTotalsExtrasItemPrice.ts new file mode 100644 index 00000000..573ef63f --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseTotalsExtrasItemPrice.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateFulfillResponseTotalsExtrasItemPrice: core.serialization.ObjectSchema< + serializers.OrdersUpdateFulfillResponseTotalsExtrasItemPrice.Raw, + Webflow.OrdersUpdateFulfillResponseTotalsExtrasItemPrice +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateFulfillResponseTotalsExtrasItemPrice { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseTotalsExtrasItemType.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseTotalsExtrasItemType.ts new file mode 100644 index 00000000..c97c220d --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseTotalsExtrasItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateFulfillResponseTotalsExtrasItemType: core.serialization.Schema< + serializers.OrdersUpdateFulfillResponseTotalsExtrasItemType.Raw, + Webflow.OrdersUpdateFulfillResponseTotalsExtrasItemType +> = core.serialization.enum_(["discount", "discount-shipping", "shipping", "tax"]); + +export declare namespace OrdersUpdateFulfillResponseTotalsExtrasItemType { + type Raw = "discount" | "discount-shipping" | "shipping" | "tax"; +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseTotalsSubtotal.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseTotalsSubtotal.ts new file mode 100644 index 00000000..0bb6afaf --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseTotalsSubtotal.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateFulfillResponseTotalsSubtotal: core.serialization.ObjectSchema< + serializers.OrdersUpdateFulfillResponseTotalsSubtotal.Raw, + Webflow.OrdersUpdateFulfillResponseTotalsSubtotal +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateFulfillResponseTotalsSubtotal { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseTotalsTotal.ts b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseTotalsTotal.ts new file mode 100644 index 00000000..1b595461 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateFulfillResponseTotalsTotal.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateFulfillResponseTotalsTotal: core.serialization.ObjectSchema< + serializers.OrdersUpdateFulfillResponseTotalsTotal.Raw, + Webflow.OrdersUpdateFulfillResponseTotalsTotal +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateFulfillResponseTotalsTotal { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponse.ts b/src/serialization/resources/orders/types/OrdersUpdateResponse.ts new file mode 100644 index 00000000..73dcd688 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponse.ts @@ -0,0 +1,102 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersUpdateResponseStatus } from "./OrdersUpdateResponseStatus"; +import { OrdersUpdateResponseDisputeLastStatus } from "./OrdersUpdateResponseDisputeLastStatus"; +import { OrdersUpdateResponseCustomerPaid } from "./OrdersUpdateResponseCustomerPaid"; +import { OrdersUpdateResponseNetAmount } from "./OrdersUpdateResponseNetAmount"; +import { OrdersUpdateResponseApplicationFee } from "./OrdersUpdateResponseApplicationFee"; +import { OrdersUpdateResponseAllAddressesItem } from "./OrdersUpdateResponseAllAddressesItem"; +import { OrdersUpdateResponseShippingAddress } from "./OrdersUpdateResponseShippingAddress"; +import { OrdersUpdateResponseBillingAddress } from "./OrdersUpdateResponseBillingAddress"; +import { OrdersUpdateResponseCustomerInfo } from "./OrdersUpdateResponseCustomerInfo"; +import { OrdersUpdateResponsePurchasedItemsItem } from "./OrdersUpdateResponsePurchasedItemsItem"; +import { OrdersUpdateResponseStripeDetails } from "./OrdersUpdateResponseStripeDetails"; +import { OrdersUpdateResponseStripeCard } from "./OrdersUpdateResponseStripeCard"; +import { OrdersUpdateResponsePaypalDetails } from "./OrdersUpdateResponsePaypalDetails"; +import { OrdersUpdateResponseMetadata } from "./OrdersUpdateResponseMetadata"; +import { OrdersUpdateResponseTotals } from "./OrdersUpdateResponseTotals"; +import { OrdersUpdateResponseDownloadFilesItem } from "./OrdersUpdateResponseDownloadFilesItem"; + +export const OrdersUpdateResponse: core.serialization.ObjectSchema< + serializers.OrdersUpdateResponse.Raw, + Webflow.OrdersUpdateResponse +> = core.serialization.object({ + orderId: core.serialization.string().optional(), + status: OrdersUpdateResponseStatus.optional(), + comment: core.serialization.string().optional(), + orderComment: core.serialization.string().optional(), + acceptedOn: core.serialization.date().optional(), + fulfilledOn: core.serialization.date().optional(), + refundedOn: core.serialization.date().optional(), + disputedOn: core.serialization.date().optional(), + disputeUpdatedOn: core.serialization.date().optional(), + disputeLastStatus: OrdersUpdateResponseDisputeLastStatus.optional(), + customerPaid: OrdersUpdateResponseCustomerPaid.optional(), + netAmount: OrdersUpdateResponseNetAmount.optional(), + applicationFee: OrdersUpdateResponseApplicationFee.optional(), + allAddresses: core.serialization.list(OrdersUpdateResponseAllAddressesItem).optional(), + shippingAddress: OrdersUpdateResponseShippingAddress.optional(), + billingAddress: OrdersUpdateResponseBillingAddress.optional(), + shippingProvider: core.serialization.string().optional(), + shippingTracking: core.serialization.string().optional(), + shippingTrackingUrl: core.serialization.property("shippingTrackingURL", core.serialization.string().optional()), + customerInfo: OrdersUpdateResponseCustomerInfo.optional(), + purchasedItems: core.serialization.list(OrdersUpdateResponsePurchasedItemsItem).optional(), + purchasedItemsCount: core.serialization.number().optional(), + stripeDetails: OrdersUpdateResponseStripeDetails.optional(), + stripeCard: OrdersUpdateResponseStripeCard.optional(), + paypalDetails: OrdersUpdateResponsePaypalDetails.optional(), + customData: core.serialization + .list(core.serialization.record(core.serialization.string(), core.serialization.unknown())) + .optional(), + metadata: OrdersUpdateResponseMetadata.optional(), + isCustomerDeleted: core.serialization.boolean().optional(), + isShippingRequired: core.serialization.boolean().optional(), + hasDownloads: core.serialization.boolean().optional(), + paymentProcessor: core.serialization.string().optional(), + totals: OrdersUpdateResponseTotals.optional(), + downloadFiles: core.serialization.list(OrdersUpdateResponseDownloadFilesItem).optional(), +}); + +export declare namespace OrdersUpdateResponse { + interface Raw { + orderId?: string | null; + status?: OrdersUpdateResponseStatus.Raw | null; + comment?: string | null; + orderComment?: string | null; + acceptedOn?: string | null; + fulfilledOn?: string | null; + refundedOn?: string | null; + disputedOn?: string | null; + disputeUpdatedOn?: string | null; + disputeLastStatus?: OrdersUpdateResponseDisputeLastStatus.Raw | null; + customerPaid?: OrdersUpdateResponseCustomerPaid.Raw | null; + netAmount?: OrdersUpdateResponseNetAmount.Raw | null; + applicationFee?: OrdersUpdateResponseApplicationFee.Raw | null; + allAddresses?: OrdersUpdateResponseAllAddressesItem.Raw[] | null; + shippingAddress?: OrdersUpdateResponseShippingAddress.Raw | null; + billingAddress?: OrdersUpdateResponseBillingAddress.Raw | null; + shippingProvider?: string | null; + shippingTracking?: string | null; + shippingTrackingURL?: string | null; + customerInfo?: OrdersUpdateResponseCustomerInfo.Raw | null; + purchasedItems?: OrdersUpdateResponsePurchasedItemsItem.Raw[] | null; + purchasedItemsCount?: number | null; + stripeDetails?: OrdersUpdateResponseStripeDetails.Raw | null; + stripeCard?: OrdersUpdateResponseStripeCard.Raw | null; + paypalDetails?: OrdersUpdateResponsePaypalDetails.Raw | null; + customData?: Record[] | null; + metadata?: OrdersUpdateResponseMetadata.Raw | null; + isCustomerDeleted?: boolean | null; + isShippingRequired?: boolean | null; + hasDownloads?: boolean | null; + paymentProcessor?: string | null; + totals?: OrdersUpdateResponseTotals.Raw | null; + downloadFiles?: OrdersUpdateResponseDownloadFilesItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponseAllAddressesItem.ts b/src/serialization/resources/orders/types/OrdersUpdateResponseAllAddressesItem.ts new file mode 100644 index 00000000..ecc3246f --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponseAllAddressesItem.ts @@ -0,0 +1,38 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersUpdateResponseAllAddressesItemType } from "./OrdersUpdateResponseAllAddressesItemType"; +import { OrdersUpdateResponseAllAddressesItemJapanType } from "./OrdersUpdateResponseAllAddressesItemJapanType"; + +export const OrdersUpdateResponseAllAddressesItem: core.serialization.ObjectSchema< + serializers.OrdersUpdateResponseAllAddressesItem.Raw, + Webflow.OrdersUpdateResponseAllAddressesItem +> = core.serialization.object({ + type: OrdersUpdateResponseAllAddressesItemType.optional(), + japanType: OrdersUpdateResponseAllAddressesItemJapanType.optional(), + addressee: core.serialization.string().optional(), + line1: core.serialization.string().optional(), + line2: core.serialization.string().optional(), + city: core.serialization.string().optional(), + state: core.serialization.string().optional(), + country: core.serialization.string().optional(), + postalCode: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateResponseAllAddressesItem { + interface Raw { + type?: OrdersUpdateResponseAllAddressesItemType.Raw | null; + japanType?: OrdersUpdateResponseAllAddressesItemJapanType.Raw | null; + addressee?: string | null; + line1?: string | null; + line2?: string | null; + city?: string | null; + state?: string | null; + country?: string | null; + postalCode?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponseAllAddressesItemJapanType.ts b/src/serialization/resources/orders/types/OrdersUpdateResponseAllAddressesItemJapanType.ts new file mode 100644 index 00000000..6d01efb3 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponseAllAddressesItemJapanType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateResponseAllAddressesItemJapanType: core.serialization.Schema< + serializers.OrdersUpdateResponseAllAddressesItemJapanType.Raw, + Webflow.OrdersUpdateResponseAllAddressesItemJapanType +> = core.serialization.enum_(["kana", "kanji"]); + +export declare namespace OrdersUpdateResponseAllAddressesItemJapanType { + type Raw = "kana" | "kanji"; +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponseAllAddressesItemType.ts b/src/serialization/resources/orders/types/OrdersUpdateResponseAllAddressesItemType.ts new file mode 100644 index 00000000..2a76b85c --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponseAllAddressesItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateResponseAllAddressesItemType: core.serialization.Schema< + serializers.OrdersUpdateResponseAllAddressesItemType.Raw, + Webflow.OrdersUpdateResponseAllAddressesItemType +> = core.serialization.enum_(["shipping", "billing"]); + +export declare namespace OrdersUpdateResponseAllAddressesItemType { + type Raw = "shipping" | "billing"; +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponseApplicationFee.ts b/src/serialization/resources/orders/types/OrdersUpdateResponseApplicationFee.ts new file mode 100644 index 00000000..e1fade51 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponseApplicationFee.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateResponseApplicationFee: core.serialization.ObjectSchema< + serializers.OrdersUpdateResponseApplicationFee.Raw, + Webflow.OrdersUpdateResponseApplicationFee +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateResponseApplicationFee { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponseBillingAddress.ts b/src/serialization/resources/orders/types/OrdersUpdateResponseBillingAddress.ts new file mode 100644 index 00000000..762518b5 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponseBillingAddress.ts @@ -0,0 +1,38 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersUpdateResponseBillingAddressType } from "./OrdersUpdateResponseBillingAddressType"; +import { OrdersUpdateResponseBillingAddressJapanType } from "./OrdersUpdateResponseBillingAddressJapanType"; + +export const OrdersUpdateResponseBillingAddress: core.serialization.ObjectSchema< + serializers.OrdersUpdateResponseBillingAddress.Raw, + Webflow.OrdersUpdateResponseBillingAddress +> = core.serialization.object({ + type: OrdersUpdateResponseBillingAddressType.optional(), + japanType: OrdersUpdateResponseBillingAddressJapanType.optional(), + addressee: core.serialization.string().optional(), + line1: core.serialization.string().optional(), + line2: core.serialization.string().optional(), + city: core.serialization.string().optional(), + state: core.serialization.string().optional(), + country: core.serialization.string().optional(), + postalCode: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateResponseBillingAddress { + interface Raw { + type?: OrdersUpdateResponseBillingAddressType.Raw | null; + japanType?: OrdersUpdateResponseBillingAddressJapanType.Raw | null; + addressee?: string | null; + line1?: string | null; + line2?: string | null; + city?: string | null; + state?: string | null; + country?: string | null; + postalCode?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponseBillingAddressJapanType.ts b/src/serialization/resources/orders/types/OrdersUpdateResponseBillingAddressJapanType.ts new file mode 100644 index 00000000..f0a987a4 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponseBillingAddressJapanType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateResponseBillingAddressJapanType: core.serialization.Schema< + serializers.OrdersUpdateResponseBillingAddressJapanType.Raw, + Webflow.OrdersUpdateResponseBillingAddressJapanType +> = core.serialization.enum_(["kana", "kanji"]); + +export declare namespace OrdersUpdateResponseBillingAddressJapanType { + type Raw = "kana" | "kanji"; +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponseBillingAddressType.ts b/src/serialization/resources/orders/types/OrdersUpdateResponseBillingAddressType.ts new file mode 100644 index 00000000..73a7c503 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponseBillingAddressType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateResponseBillingAddressType: core.serialization.Schema< + serializers.OrdersUpdateResponseBillingAddressType.Raw, + Webflow.OrdersUpdateResponseBillingAddressType +> = core.serialization.enum_(["shipping", "billing"]); + +export declare namespace OrdersUpdateResponseBillingAddressType { + type Raw = "shipping" | "billing"; +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponseCustomerInfo.ts b/src/serialization/resources/orders/types/OrdersUpdateResponseCustomerInfo.ts new file mode 100644 index 00000000..2165dc9f --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponseCustomerInfo.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateResponseCustomerInfo: core.serialization.ObjectSchema< + serializers.OrdersUpdateResponseCustomerInfo.Raw, + Webflow.OrdersUpdateResponseCustomerInfo +> = core.serialization.object({ + fullName: core.serialization.string().optional(), + email: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateResponseCustomerInfo { + interface Raw { + fullName?: string | null; + email?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponseCustomerPaid.ts b/src/serialization/resources/orders/types/OrdersUpdateResponseCustomerPaid.ts new file mode 100644 index 00000000..c8069217 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponseCustomerPaid.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateResponseCustomerPaid: core.serialization.ObjectSchema< + serializers.OrdersUpdateResponseCustomerPaid.Raw, + Webflow.OrdersUpdateResponseCustomerPaid +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateResponseCustomerPaid { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponseDisputeLastStatus.ts b/src/serialization/resources/orders/types/OrdersUpdateResponseDisputeLastStatus.ts new file mode 100644 index 00000000..6c3fe8e8 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponseDisputeLastStatus.ts @@ -0,0 +1,33 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateResponseDisputeLastStatus: core.serialization.Schema< + serializers.OrdersUpdateResponseDisputeLastStatus.Raw, + Webflow.OrdersUpdateResponseDisputeLastStatus +> = core.serialization.enum_([ + "warning_needs_response", + "warning_under_review", + "warning_closed", + "needs_response", + "under_review", + "charge_refunded", + "won", + "lost", +]); + +export declare namespace OrdersUpdateResponseDisputeLastStatus { + type Raw = + | "warning_needs_response" + | "warning_under_review" + | "warning_closed" + | "needs_response" + | "under_review" + | "charge_refunded" + | "won" + | "lost"; +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponseDownloadFilesItem.ts b/src/serialization/resources/orders/types/OrdersUpdateResponseDownloadFilesItem.ts new file mode 100644 index 00000000..c64fc4ef --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponseDownloadFilesItem.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateResponseDownloadFilesItem: core.serialization.ObjectSchema< + serializers.OrdersUpdateResponseDownloadFilesItem.Raw, + Webflow.OrdersUpdateResponseDownloadFilesItem +> = core.serialization.object({ + id: core.serialization.string().optional(), + name: core.serialization.string().optional(), + url: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateResponseDownloadFilesItem { + interface Raw { + id?: string | null; + name?: string | null; + url?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponseMetadata.ts b/src/serialization/resources/orders/types/OrdersUpdateResponseMetadata.ts new file mode 100644 index 00000000..47f570b0 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponseMetadata.ts @@ -0,0 +1,20 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateResponseMetadata: core.serialization.ObjectSchema< + serializers.OrdersUpdateResponseMetadata.Raw, + Webflow.OrdersUpdateResponseMetadata +> = core.serialization.object({ + isBuyNow: core.serialization.boolean().optional(), +}); + +export declare namespace OrdersUpdateResponseMetadata { + interface Raw { + isBuyNow?: boolean | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponseNetAmount.ts b/src/serialization/resources/orders/types/OrdersUpdateResponseNetAmount.ts new file mode 100644 index 00000000..217c12ee --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponseNetAmount.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateResponseNetAmount: core.serialization.ObjectSchema< + serializers.OrdersUpdateResponseNetAmount.Raw, + Webflow.OrdersUpdateResponseNetAmount +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateResponseNetAmount { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponsePaypalDetails.ts b/src/serialization/resources/orders/types/OrdersUpdateResponsePaypalDetails.ts new file mode 100644 index 00000000..1da0ba48 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponsePaypalDetails.ts @@ -0,0 +1,30 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateResponsePaypalDetails: core.serialization.ObjectSchema< + serializers.OrdersUpdateResponsePaypalDetails.Raw, + Webflow.OrdersUpdateResponsePaypalDetails +> = core.serialization.object({ + orderId: core.serialization.string().optional(), + payerId: core.serialization.string().optional(), + captureId: core.serialization.string().optional(), + refundId: core.serialization.string().optional(), + refundReason: core.serialization.string().optional(), + disputeId: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateResponsePaypalDetails { + interface Raw { + orderId?: string | null; + payerId?: string | null; + captureId?: string | null; + refundId?: string | null; + refundReason?: string | null; + disputeId?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponsePurchasedItemsItem.ts b/src/serialization/resources/orders/types/OrdersUpdateResponsePurchasedItemsItem.ts new file mode 100644 index 00000000..43fbfb4d --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponsePurchasedItemsItem.ts @@ -0,0 +1,51 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersUpdateResponsePurchasedItemsItemRowTotal } from "./OrdersUpdateResponsePurchasedItemsItemRowTotal"; +import { OrdersUpdateResponsePurchasedItemsItemVariantImage } from "./OrdersUpdateResponsePurchasedItemsItemVariantImage"; +import { OrdersUpdateResponsePurchasedItemsItemVariantPrice } from "./OrdersUpdateResponsePurchasedItemsItemVariantPrice"; + +export const OrdersUpdateResponsePurchasedItemsItem: core.serialization.ObjectSchema< + serializers.OrdersUpdateResponsePurchasedItemsItem.Raw, + Webflow.OrdersUpdateResponsePurchasedItemsItem +> = core.serialization.object({ + count: core.serialization.number().optional(), + rowTotal: OrdersUpdateResponsePurchasedItemsItemRowTotal.optional(), + productId: core.serialization.string().optional(), + productName: core.serialization.string().optional(), + productSlug: core.serialization.string().optional(), + variantId: core.serialization.string().optional(), + variantName: core.serialization.string().optional(), + variantSlug: core.serialization.string().optional(), + variantSku: core.serialization.property("variantSKU", core.serialization.string().optional()), + variantImage: OrdersUpdateResponsePurchasedItemsItemVariantImage.optional(), + variantPrice: OrdersUpdateResponsePurchasedItemsItemVariantPrice.optional(), + weight: core.serialization.number().optional(), + width: core.serialization.number().optional(), + height: core.serialization.number().optional(), + length: core.serialization.number().optional(), +}); + +export declare namespace OrdersUpdateResponsePurchasedItemsItem { + interface Raw { + count?: number | null; + rowTotal?: OrdersUpdateResponsePurchasedItemsItemRowTotal.Raw | null; + productId?: string | null; + productName?: string | null; + productSlug?: string | null; + variantId?: string | null; + variantName?: string | null; + variantSlug?: string | null; + variantSKU?: string | null; + variantImage?: OrdersUpdateResponsePurchasedItemsItemVariantImage.Raw | null; + variantPrice?: OrdersUpdateResponsePurchasedItemsItemVariantPrice.Raw | null; + weight?: number | null; + width?: number | null; + height?: number | null; + length?: number | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponsePurchasedItemsItemRowTotal.ts b/src/serialization/resources/orders/types/OrdersUpdateResponsePurchasedItemsItemRowTotal.ts new file mode 100644 index 00000000..b3512e25 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponsePurchasedItemsItemRowTotal.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateResponsePurchasedItemsItemRowTotal: core.serialization.ObjectSchema< + serializers.OrdersUpdateResponsePurchasedItemsItemRowTotal.Raw, + Webflow.OrdersUpdateResponsePurchasedItemsItemRowTotal +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateResponsePurchasedItemsItemRowTotal { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponsePurchasedItemsItemVariantImage.ts b/src/serialization/resources/orders/types/OrdersUpdateResponsePurchasedItemsItemVariantImage.ts new file mode 100644 index 00000000..9467c2df --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponsePurchasedItemsItemVariantImage.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersUpdateResponsePurchasedItemsItemVariantImageFile } from "./OrdersUpdateResponsePurchasedItemsItemVariantImageFile"; + +export const OrdersUpdateResponsePurchasedItemsItemVariantImage: core.serialization.ObjectSchema< + serializers.OrdersUpdateResponsePurchasedItemsItemVariantImage.Raw, + Webflow.OrdersUpdateResponsePurchasedItemsItemVariantImage +> = core.serialization.object({ + url: core.serialization.string().optional(), + file: OrdersUpdateResponsePurchasedItemsItemVariantImageFile.optional(), +}); + +export declare namespace OrdersUpdateResponsePurchasedItemsItemVariantImage { + interface Raw { + url?: string | null; + file?: OrdersUpdateResponsePurchasedItemsItemVariantImageFile.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponsePurchasedItemsItemVariantImageFile.ts b/src/serialization/resources/orders/types/OrdersUpdateResponsePurchasedItemsItemVariantImageFile.ts new file mode 100644 index 00000000..75c3fbf2 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponsePurchasedItemsItemVariantImageFile.ts @@ -0,0 +1,33 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersUpdateResponsePurchasedItemsItemVariantImageFileVariantsItem } from "./OrdersUpdateResponsePurchasedItemsItemVariantImageFileVariantsItem"; + +export const OrdersUpdateResponsePurchasedItemsItemVariantImageFile: core.serialization.ObjectSchema< + serializers.OrdersUpdateResponsePurchasedItemsItemVariantImageFile.Raw, + Webflow.OrdersUpdateResponsePurchasedItemsItemVariantImageFile +> = core.serialization.object({ + size: core.serialization.number().optional(), + originalFileName: core.serialization.string().optional(), + createdOn: core.serialization.date().optional(), + contentType: core.serialization.string().optional(), + width: core.serialization.number().optional(), + height: core.serialization.number().optional(), + variants: core.serialization.list(OrdersUpdateResponsePurchasedItemsItemVariantImageFileVariantsItem).optional(), +}); + +export declare namespace OrdersUpdateResponsePurchasedItemsItemVariantImageFile { + interface Raw { + size?: number | null; + originalFileName?: string | null; + createdOn?: string | null; + contentType?: string | null; + width?: number | null; + height?: number | null; + variants?: OrdersUpdateResponsePurchasedItemsItemVariantImageFileVariantsItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponsePurchasedItemsItemVariantImageFileVariantsItem.ts b/src/serialization/resources/orders/types/OrdersUpdateResponsePurchasedItemsItemVariantImageFileVariantsItem.ts new file mode 100644 index 00000000..f25abe1b --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponsePurchasedItemsItemVariantImageFileVariantsItem.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateResponsePurchasedItemsItemVariantImageFileVariantsItem: core.serialization.ObjectSchema< + serializers.OrdersUpdateResponsePurchasedItemsItemVariantImageFileVariantsItem.Raw, + Webflow.OrdersUpdateResponsePurchasedItemsItemVariantImageFileVariantsItem +> = core.serialization.object({ + url: core.serialization.string().optional(), + originalFileName: core.serialization.string().optional(), + size: core.serialization.number().optional(), + width: core.serialization.number().optional(), + height: core.serialization.number().optional(), +}); + +export declare namespace OrdersUpdateResponsePurchasedItemsItemVariantImageFileVariantsItem { + interface Raw { + url?: string | null; + originalFileName?: string | null; + size?: number | null; + width?: number | null; + height?: number | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponsePurchasedItemsItemVariantPrice.ts b/src/serialization/resources/orders/types/OrdersUpdateResponsePurchasedItemsItemVariantPrice.ts new file mode 100644 index 00000000..b479372a --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponsePurchasedItemsItemVariantPrice.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateResponsePurchasedItemsItemVariantPrice: core.serialization.ObjectSchema< + serializers.OrdersUpdateResponsePurchasedItemsItemVariantPrice.Raw, + Webflow.OrdersUpdateResponsePurchasedItemsItemVariantPrice +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateResponsePurchasedItemsItemVariantPrice { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponseShippingAddress.ts b/src/serialization/resources/orders/types/OrdersUpdateResponseShippingAddress.ts new file mode 100644 index 00000000..92f40388 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponseShippingAddress.ts @@ -0,0 +1,38 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersUpdateResponseShippingAddressType } from "./OrdersUpdateResponseShippingAddressType"; +import { OrdersUpdateResponseShippingAddressJapanType } from "./OrdersUpdateResponseShippingAddressJapanType"; + +export const OrdersUpdateResponseShippingAddress: core.serialization.ObjectSchema< + serializers.OrdersUpdateResponseShippingAddress.Raw, + Webflow.OrdersUpdateResponseShippingAddress +> = core.serialization.object({ + type: OrdersUpdateResponseShippingAddressType.optional(), + japanType: OrdersUpdateResponseShippingAddressJapanType.optional(), + addressee: core.serialization.string().optional(), + line1: core.serialization.string().optional(), + line2: core.serialization.string().optional(), + city: core.serialization.string().optional(), + state: core.serialization.string().optional(), + country: core.serialization.string().optional(), + postalCode: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateResponseShippingAddress { + interface Raw { + type?: OrdersUpdateResponseShippingAddressType.Raw | null; + japanType?: OrdersUpdateResponseShippingAddressJapanType.Raw | null; + addressee?: string | null; + line1?: string | null; + line2?: string | null; + city?: string | null; + state?: string | null; + country?: string | null; + postalCode?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponseShippingAddressJapanType.ts b/src/serialization/resources/orders/types/OrdersUpdateResponseShippingAddressJapanType.ts new file mode 100644 index 00000000..693c12fd --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponseShippingAddressJapanType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateResponseShippingAddressJapanType: core.serialization.Schema< + serializers.OrdersUpdateResponseShippingAddressJapanType.Raw, + Webflow.OrdersUpdateResponseShippingAddressJapanType +> = core.serialization.enum_(["kana", "kanji"]); + +export declare namespace OrdersUpdateResponseShippingAddressJapanType { + type Raw = "kana" | "kanji"; +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponseShippingAddressType.ts b/src/serialization/resources/orders/types/OrdersUpdateResponseShippingAddressType.ts new file mode 100644 index 00000000..0e5aa4a2 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponseShippingAddressType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateResponseShippingAddressType: core.serialization.Schema< + serializers.OrdersUpdateResponseShippingAddressType.Raw, + Webflow.OrdersUpdateResponseShippingAddressType +> = core.serialization.enum_(["shipping", "billing"]); + +export declare namespace OrdersUpdateResponseShippingAddressType { + type Raw = "shipping" | "billing"; +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponseStatus.ts b/src/serialization/resources/orders/types/OrdersUpdateResponseStatus.ts new file mode 100644 index 00000000..108d7418 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponseStatus.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateResponseStatus: core.serialization.Schema< + serializers.OrdersUpdateResponseStatus.Raw, + Webflow.OrdersUpdateResponseStatus +> = core.serialization.enum_(["pending", "unfulfilled", "fulfilled", "disputed", "dispute-lost", "refunded"]); + +export declare namespace OrdersUpdateResponseStatus { + type Raw = "pending" | "unfulfilled" | "fulfilled" | "disputed" | "dispute-lost" | "refunded"; +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponseStripeCard.ts b/src/serialization/resources/orders/types/OrdersUpdateResponseStripeCard.ts new file mode 100644 index 00000000..54c33ec2 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponseStripeCard.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersUpdateResponseStripeCardBrand } from "./OrdersUpdateResponseStripeCardBrand"; +import { OrdersUpdateResponseStripeCardExpires } from "./OrdersUpdateResponseStripeCardExpires"; + +export const OrdersUpdateResponseStripeCard: core.serialization.ObjectSchema< + serializers.OrdersUpdateResponseStripeCard.Raw, + Webflow.OrdersUpdateResponseStripeCard +> = core.serialization.object({ + last4: core.serialization.string().optional(), + brand: OrdersUpdateResponseStripeCardBrand.optional(), + ownerName: core.serialization.string().optional(), + expires: OrdersUpdateResponseStripeCardExpires.optional(), +}); + +export declare namespace OrdersUpdateResponseStripeCard { + interface Raw { + last4?: string | null; + brand?: OrdersUpdateResponseStripeCardBrand.Raw | null; + ownerName?: string | null; + expires?: OrdersUpdateResponseStripeCardExpires.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponseStripeCardBrand.ts b/src/serialization/resources/orders/types/OrdersUpdateResponseStripeCardBrand.ts new file mode 100644 index 00000000..a78fbadf --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponseStripeCardBrand.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateResponseStripeCardBrand: core.serialization.Schema< + serializers.OrdersUpdateResponseStripeCardBrand.Raw, + Webflow.OrdersUpdateResponseStripeCardBrand +> = core.serialization.enum_(["Visa", "American Express", "MasterCard", "Discover", "JCB", "Diners Club", "Unknown"]); + +export declare namespace OrdersUpdateResponseStripeCardBrand { + type Raw = "Visa" | "American Express" | "MasterCard" | "Discover" | "JCB" | "Diners Club" | "Unknown"; +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponseStripeCardExpires.ts b/src/serialization/resources/orders/types/OrdersUpdateResponseStripeCardExpires.ts new file mode 100644 index 00000000..71c190ab --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponseStripeCardExpires.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateResponseStripeCardExpires: core.serialization.ObjectSchema< + serializers.OrdersUpdateResponseStripeCardExpires.Raw, + Webflow.OrdersUpdateResponseStripeCardExpires +> = core.serialization.object({ + year: core.serialization.number().optional(), + month: core.serialization.number().optional(), +}); + +export declare namespace OrdersUpdateResponseStripeCardExpires { + interface Raw { + year?: number | null; + month?: number | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponseStripeDetails.ts b/src/serialization/resources/orders/types/OrdersUpdateResponseStripeDetails.ts new file mode 100644 index 00000000..561415ab --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponseStripeDetails.ts @@ -0,0 +1,34 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateResponseStripeDetails: core.serialization.ObjectSchema< + serializers.OrdersUpdateResponseStripeDetails.Raw, + Webflow.OrdersUpdateResponseStripeDetails +> = core.serialization.object({ + subscriptionId: core.serialization.string().optional(), + paymentMethod: core.serialization.string().optional(), + paymentIntentId: core.serialization.string().optional(), + customerId: core.serialization.string().optional(), + chargeId: core.serialization.string().optional(), + disputeId: core.serialization.string().optional(), + refundId: core.serialization.string().optional(), + refundReason: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateResponseStripeDetails { + interface Raw { + subscriptionId?: string | null; + paymentMethod?: string | null; + paymentIntentId?: string | null; + customerId?: string | null; + chargeId?: string | null; + disputeId?: string | null; + refundId?: string | null; + refundReason?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponseTotals.ts b/src/serialization/resources/orders/types/OrdersUpdateResponseTotals.ts new file mode 100644 index 00000000..5bb7f555 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponseTotals.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersUpdateResponseTotalsSubtotal } from "./OrdersUpdateResponseTotalsSubtotal"; +import { OrdersUpdateResponseTotalsExtrasItem } from "./OrdersUpdateResponseTotalsExtrasItem"; +import { OrdersUpdateResponseTotalsTotal } from "./OrdersUpdateResponseTotalsTotal"; + +export const OrdersUpdateResponseTotals: core.serialization.ObjectSchema< + serializers.OrdersUpdateResponseTotals.Raw, + Webflow.OrdersUpdateResponseTotals +> = core.serialization.object({ + subtotal: OrdersUpdateResponseTotalsSubtotal.optional(), + extras: core.serialization.list(OrdersUpdateResponseTotalsExtrasItem).optional(), + total: OrdersUpdateResponseTotalsTotal.optional(), +}); + +export declare namespace OrdersUpdateResponseTotals { + interface Raw { + subtotal?: OrdersUpdateResponseTotalsSubtotal.Raw | null; + extras?: OrdersUpdateResponseTotalsExtrasItem.Raw[] | null; + total?: OrdersUpdateResponseTotalsTotal.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponseTotalsExtrasItem.ts b/src/serialization/resources/orders/types/OrdersUpdateResponseTotalsExtrasItem.ts new file mode 100644 index 00000000..a0bdbc8d --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponseTotalsExtrasItem.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersUpdateResponseTotalsExtrasItemType } from "./OrdersUpdateResponseTotalsExtrasItemType"; +import { OrdersUpdateResponseTotalsExtrasItemPrice } from "./OrdersUpdateResponseTotalsExtrasItemPrice"; + +export const OrdersUpdateResponseTotalsExtrasItem: core.serialization.ObjectSchema< + serializers.OrdersUpdateResponseTotalsExtrasItem.Raw, + Webflow.OrdersUpdateResponseTotalsExtrasItem +> = core.serialization.object({ + type: OrdersUpdateResponseTotalsExtrasItemType.optional(), + name: core.serialization.string().optional(), + description: core.serialization.string().optional(), + price: OrdersUpdateResponseTotalsExtrasItemPrice.optional(), +}); + +export declare namespace OrdersUpdateResponseTotalsExtrasItem { + interface Raw { + type?: OrdersUpdateResponseTotalsExtrasItemType.Raw | null; + name?: string | null; + description?: string | null; + price?: OrdersUpdateResponseTotalsExtrasItemPrice.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponseTotalsExtrasItemPrice.ts b/src/serialization/resources/orders/types/OrdersUpdateResponseTotalsExtrasItemPrice.ts new file mode 100644 index 00000000..6fe95275 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponseTotalsExtrasItemPrice.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateResponseTotalsExtrasItemPrice: core.serialization.ObjectSchema< + serializers.OrdersUpdateResponseTotalsExtrasItemPrice.Raw, + Webflow.OrdersUpdateResponseTotalsExtrasItemPrice +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateResponseTotalsExtrasItemPrice { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponseTotalsExtrasItemType.ts b/src/serialization/resources/orders/types/OrdersUpdateResponseTotalsExtrasItemType.ts new file mode 100644 index 00000000..dabc7182 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponseTotalsExtrasItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateResponseTotalsExtrasItemType: core.serialization.Schema< + serializers.OrdersUpdateResponseTotalsExtrasItemType.Raw, + Webflow.OrdersUpdateResponseTotalsExtrasItemType +> = core.serialization.enum_(["discount", "discount-shipping", "shipping", "tax"]); + +export declare namespace OrdersUpdateResponseTotalsExtrasItemType { + type Raw = "discount" | "discount-shipping" | "shipping" | "tax"; +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponseTotalsSubtotal.ts b/src/serialization/resources/orders/types/OrdersUpdateResponseTotalsSubtotal.ts new file mode 100644 index 00000000..82566a9b --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponseTotalsSubtotal.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateResponseTotalsSubtotal: core.serialization.ObjectSchema< + serializers.OrdersUpdateResponseTotalsSubtotal.Raw, + Webflow.OrdersUpdateResponseTotalsSubtotal +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateResponseTotalsSubtotal { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateResponseTotalsTotal.ts b/src/serialization/resources/orders/types/OrdersUpdateResponseTotalsTotal.ts new file mode 100644 index 00000000..ea160826 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateResponseTotalsTotal.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateResponseTotalsTotal: core.serialization.ObjectSchema< + serializers.OrdersUpdateResponseTotalsTotal.Raw, + Webflow.OrdersUpdateResponseTotalsTotal +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateResponseTotalsTotal { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponse.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponse.ts new file mode 100644 index 00000000..b3b78479 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponse.ts @@ -0,0 +1,102 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersUpdateUnfulfillResponseStatus } from "./OrdersUpdateUnfulfillResponseStatus"; +import { OrdersUpdateUnfulfillResponseDisputeLastStatus } from "./OrdersUpdateUnfulfillResponseDisputeLastStatus"; +import { OrdersUpdateUnfulfillResponseCustomerPaid } from "./OrdersUpdateUnfulfillResponseCustomerPaid"; +import { OrdersUpdateUnfulfillResponseNetAmount } from "./OrdersUpdateUnfulfillResponseNetAmount"; +import { OrdersUpdateUnfulfillResponseApplicationFee } from "./OrdersUpdateUnfulfillResponseApplicationFee"; +import { OrdersUpdateUnfulfillResponseAllAddressesItem } from "./OrdersUpdateUnfulfillResponseAllAddressesItem"; +import { OrdersUpdateUnfulfillResponseShippingAddress } from "./OrdersUpdateUnfulfillResponseShippingAddress"; +import { OrdersUpdateUnfulfillResponseBillingAddress } from "./OrdersUpdateUnfulfillResponseBillingAddress"; +import { OrdersUpdateUnfulfillResponseCustomerInfo } from "./OrdersUpdateUnfulfillResponseCustomerInfo"; +import { OrdersUpdateUnfulfillResponsePurchasedItemsItem } from "./OrdersUpdateUnfulfillResponsePurchasedItemsItem"; +import { OrdersUpdateUnfulfillResponseStripeDetails } from "./OrdersUpdateUnfulfillResponseStripeDetails"; +import { OrdersUpdateUnfulfillResponseStripeCard } from "./OrdersUpdateUnfulfillResponseStripeCard"; +import { OrdersUpdateUnfulfillResponsePaypalDetails } from "./OrdersUpdateUnfulfillResponsePaypalDetails"; +import { OrdersUpdateUnfulfillResponseMetadata } from "./OrdersUpdateUnfulfillResponseMetadata"; +import { OrdersUpdateUnfulfillResponseTotals } from "./OrdersUpdateUnfulfillResponseTotals"; +import { OrdersUpdateUnfulfillResponseDownloadFilesItem } from "./OrdersUpdateUnfulfillResponseDownloadFilesItem"; + +export const OrdersUpdateUnfulfillResponse: core.serialization.ObjectSchema< + serializers.OrdersUpdateUnfulfillResponse.Raw, + Webflow.OrdersUpdateUnfulfillResponse +> = core.serialization.object({ + orderId: core.serialization.string().optional(), + status: OrdersUpdateUnfulfillResponseStatus.optional(), + comment: core.serialization.string().optional(), + orderComment: core.serialization.string().optional(), + acceptedOn: core.serialization.date().optional(), + fulfilledOn: core.serialization.date().optional(), + refundedOn: core.serialization.date().optional(), + disputedOn: core.serialization.date().optional(), + disputeUpdatedOn: core.serialization.date().optional(), + disputeLastStatus: OrdersUpdateUnfulfillResponseDisputeLastStatus.optional(), + customerPaid: OrdersUpdateUnfulfillResponseCustomerPaid.optional(), + netAmount: OrdersUpdateUnfulfillResponseNetAmount.optional(), + applicationFee: OrdersUpdateUnfulfillResponseApplicationFee.optional(), + allAddresses: core.serialization.list(OrdersUpdateUnfulfillResponseAllAddressesItem).optional(), + shippingAddress: OrdersUpdateUnfulfillResponseShippingAddress.optional(), + billingAddress: OrdersUpdateUnfulfillResponseBillingAddress.optional(), + shippingProvider: core.serialization.string().optional(), + shippingTracking: core.serialization.string().optional(), + shippingTrackingUrl: core.serialization.property("shippingTrackingURL", core.serialization.string().optional()), + customerInfo: OrdersUpdateUnfulfillResponseCustomerInfo.optional(), + purchasedItems: core.serialization.list(OrdersUpdateUnfulfillResponsePurchasedItemsItem).optional(), + purchasedItemsCount: core.serialization.number().optional(), + stripeDetails: OrdersUpdateUnfulfillResponseStripeDetails.optional(), + stripeCard: OrdersUpdateUnfulfillResponseStripeCard.optional(), + paypalDetails: OrdersUpdateUnfulfillResponsePaypalDetails.optional(), + customData: core.serialization + .list(core.serialization.record(core.serialization.string(), core.serialization.unknown())) + .optional(), + metadata: OrdersUpdateUnfulfillResponseMetadata.optional(), + isCustomerDeleted: core.serialization.boolean().optional(), + isShippingRequired: core.serialization.boolean().optional(), + hasDownloads: core.serialization.boolean().optional(), + paymentProcessor: core.serialization.string().optional(), + totals: OrdersUpdateUnfulfillResponseTotals.optional(), + downloadFiles: core.serialization.list(OrdersUpdateUnfulfillResponseDownloadFilesItem).optional(), +}); + +export declare namespace OrdersUpdateUnfulfillResponse { + interface Raw { + orderId?: string | null; + status?: OrdersUpdateUnfulfillResponseStatus.Raw | null; + comment?: string | null; + orderComment?: string | null; + acceptedOn?: string | null; + fulfilledOn?: string | null; + refundedOn?: string | null; + disputedOn?: string | null; + disputeUpdatedOn?: string | null; + disputeLastStatus?: OrdersUpdateUnfulfillResponseDisputeLastStatus.Raw | null; + customerPaid?: OrdersUpdateUnfulfillResponseCustomerPaid.Raw | null; + netAmount?: OrdersUpdateUnfulfillResponseNetAmount.Raw | null; + applicationFee?: OrdersUpdateUnfulfillResponseApplicationFee.Raw | null; + allAddresses?: OrdersUpdateUnfulfillResponseAllAddressesItem.Raw[] | null; + shippingAddress?: OrdersUpdateUnfulfillResponseShippingAddress.Raw | null; + billingAddress?: OrdersUpdateUnfulfillResponseBillingAddress.Raw | null; + shippingProvider?: string | null; + shippingTracking?: string | null; + shippingTrackingURL?: string | null; + customerInfo?: OrdersUpdateUnfulfillResponseCustomerInfo.Raw | null; + purchasedItems?: OrdersUpdateUnfulfillResponsePurchasedItemsItem.Raw[] | null; + purchasedItemsCount?: number | null; + stripeDetails?: OrdersUpdateUnfulfillResponseStripeDetails.Raw | null; + stripeCard?: OrdersUpdateUnfulfillResponseStripeCard.Raw | null; + paypalDetails?: OrdersUpdateUnfulfillResponsePaypalDetails.Raw | null; + customData?: Record[] | null; + metadata?: OrdersUpdateUnfulfillResponseMetadata.Raw | null; + isCustomerDeleted?: boolean | null; + isShippingRequired?: boolean | null; + hasDownloads?: boolean | null; + paymentProcessor?: string | null; + totals?: OrdersUpdateUnfulfillResponseTotals.Raw | null; + downloadFiles?: OrdersUpdateUnfulfillResponseDownloadFilesItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseAllAddressesItem.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseAllAddressesItem.ts new file mode 100644 index 00000000..76a4cca8 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseAllAddressesItem.ts @@ -0,0 +1,38 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersUpdateUnfulfillResponseAllAddressesItemType } from "./OrdersUpdateUnfulfillResponseAllAddressesItemType"; +import { OrdersUpdateUnfulfillResponseAllAddressesItemJapanType } from "./OrdersUpdateUnfulfillResponseAllAddressesItemJapanType"; + +export const OrdersUpdateUnfulfillResponseAllAddressesItem: core.serialization.ObjectSchema< + serializers.OrdersUpdateUnfulfillResponseAllAddressesItem.Raw, + Webflow.OrdersUpdateUnfulfillResponseAllAddressesItem +> = core.serialization.object({ + type: OrdersUpdateUnfulfillResponseAllAddressesItemType.optional(), + japanType: OrdersUpdateUnfulfillResponseAllAddressesItemJapanType.optional(), + addressee: core.serialization.string().optional(), + line1: core.serialization.string().optional(), + line2: core.serialization.string().optional(), + city: core.serialization.string().optional(), + state: core.serialization.string().optional(), + country: core.serialization.string().optional(), + postalCode: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateUnfulfillResponseAllAddressesItem { + interface Raw { + type?: OrdersUpdateUnfulfillResponseAllAddressesItemType.Raw | null; + japanType?: OrdersUpdateUnfulfillResponseAllAddressesItemJapanType.Raw | null; + addressee?: string | null; + line1?: string | null; + line2?: string | null; + city?: string | null; + state?: string | null; + country?: string | null; + postalCode?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseAllAddressesItemJapanType.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseAllAddressesItemJapanType.ts new file mode 100644 index 00000000..68aa1c88 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseAllAddressesItemJapanType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateUnfulfillResponseAllAddressesItemJapanType: core.serialization.Schema< + serializers.OrdersUpdateUnfulfillResponseAllAddressesItemJapanType.Raw, + Webflow.OrdersUpdateUnfulfillResponseAllAddressesItemJapanType +> = core.serialization.enum_(["kana", "kanji"]); + +export declare namespace OrdersUpdateUnfulfillResponseAllAddressesItemJapanType { + type Raw = "kana" | "kanji"; +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseAllAddressesItemType.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseAllAddressesItemType.ts new file mode 100644 index 00000000..fe0168a5 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseAllAddressesItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateUnfulfillResponseAllAddressesItemType: core.serialization.Schema< + serializers.OrdersUpdateUnfulfillResponseAllAddressesItemType.Raw, + Webflow.OrdersUpdateUnfulfillResponseAllAddressesItemType +> = core.serialization.enum_(["shipping", "billing"]); + +export declare namespace OrdersUpdateUnfulfillResponseAllAddressesItemType { + type Raw = "shipping" | "billing"; +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseApplicationFee.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseApplicationFee.ts new file mode 100644 index 00000000..96d2fbeb --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseApplicationFee.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateUnfulfillResponseApplicationFee: core.serialization.ObjectSchema< + serializers.OrdersUpdateUnfulfillResponseApplicationFee.Raw, + Webflow.OrdersUpdateUnfulfillResponseApplicationFee +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateUnfulfillResponseApplicationFee { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseBillingAddress.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseBillingAddress.ts new file mode 100644 index 00000000..da584ce1 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseBillingAddress.ts @@ -0,0 +1,38 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersUpdateUnfulfillResponseBillingAddressType } from "./OrdersUpdateUnfulfillResponseBillingAddressType"; +import { OrdersUpdateUnfulfillResponseBillingAddressJapanType } from "./OrdersUpdateUnfulfillResponseBillingAddressJapanType"; + +export const OrdersUpdateUnfulfillResponseBillingAddress: core.serialization.ObjectSchema< + serializers.OrdersUpdateUnfulfillResponseBillingAddress.Raw, + Webflow.OrdersUpdateUnfulfillResponseBillingAddress +> = core.serialization.object({ + type: OrdersUpdateUnfulfillResponseBillingAddressType.optional(), + japanType: OrdersUpdateUnfulfillResponseBillingAddressJapanType.optional(), + addressee: core.serialization.string().optional(), + line1: core.serialization.string().optional(), + line2: core.serialization.string().optional(), + city: core.serialization.string().optional(), + state: core.serialization.string().optional(), + country: core.serialization.string().optional(), + postalCode: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateUnfulfillResponseBillingAddress { + interface Raw { + type?: OrdersUpdateUnfulfillResponseBillingAddressType.Raw | null; + japanType?: OrdersUpdateUnfulfillResponseBillingAddressJapanType.Raw | null; + addressee?: string | null; + line1?: string | null; + line2?: string | null; + city?: string | null; + state?: string | null; + country?: string | null; + postalCode?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseBillingAddressJapanType.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseBillingAddressJapanType.ts new file mode 100644 index 00000000..420c6036 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseBillingAddressJapanType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateUnfulfillResponseBillingAddressJapanType: core.serialization.Schema< + serializers.OrdersUpdateUnfulfillResponseBillingAddressJapanType.Raw, + Webflow.OrdersUpdateUnfulfillResponseBillingAddressJapanType +> = core.serialization.enum_(["kana", "kanji"]); + +export declare namespace OrdersUpdateUnfulfillResponseBillingAddressJapanType { + type Raw = "kana" | "kanji"; +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseBillingAddressType.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseBillingAddressType.ts new file mode 100644 index 00000000..8c6993c9 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseBillingAddressType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateUnfulfillResponseBillingAddressType: core.serialization.Schema< + serializers.OrdersUpdateUnfulfillResponseBillingAddressType.Raw, + Webflow.OrdersUpdateUnfulfillResponseBillingAddressType +> = core.serialization.enum_(["shipping", "billing"]); + +export declare namespace OrdersUpdateUnfulfillResponseBillingAddressType { + type Raw = "shipping" | "billing"; +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseCustomerInfo.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseCustomerInfo.ts new file mode 100644 index 00000000..3f2a4447 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseCustomerInfo.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateUnfulfillResponseCustomerInfo: core.serialization.ObjectSchema< + serializers.OrdersUpdateUnfulfillResponseCustomerInfo.Raw, + Webflow.OrdersUpdateUnfulfillResponseCustomerInfo +> = core.serialization.object({ + fullName: core.serialization.string().optional(), + email: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateUnfulfillResponseCustomerInfo { + interface Raw { + fullName?: string | null; + email?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseCustomerPaid.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseCustomerPaid.ts new file mode 100644 index 00000000..2b24db54 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseCustomerPaid.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateUnfulfillResponseCustomerPaid: core.serialization.ObjectSchema< + serializers.OrdersUpdateUnfulfillResponseCustomerPaid.Raw, + Webflow.OrdersUpdateUnfulfillResponseCustomerPaid +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateUnfulfillResponseCustomerPaid { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseDisputeLastStatus.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseDisputeLastStatus.ts new file mode 100644 index 00000000..cba0389a --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseDisputeLastStatus.ts @@ -0,0 +1,33 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateUnfulfillResponseDisputeLastStatus: core.serialization.Schema< + serializers.OrdersUpdateUnfulfillResponseDisputeLastStatus.Raw, + Webflow.OrdersUpdateUnfulfillResponseDisputeLastStatus +> = core.serialization.enum_([ + "warning_needs_response", + "warning_under_review", + "warning_closed", + "needs_response", + "under_review", + "charge_refunded", + "won", + "lost", +]); + +export declare namespace OrdersUpdateUnfulfillResponseDisputeLastStatus { + type Raw = + | "warning_needs_response" + | "warning_under_review" + | "warning_closed" + | "needs_response" + | "under_review" + | "charge_refunded" + | "won" + | "lost"; +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseDownloadFilesItem.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseDownloadFilesItem.ts new file mode 100644 index 00000000..55b7b9ef --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseDownloadFilesItem.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateUnfulfillResponseDownloadFilesItem: core.serialization.ObjectSchema< + serializers.OrdersUpdateUnfulfillResponseDownloadFilesItem.Raw, + Webflow.OrdersUpdateUnfulfillResponseDownloadFilesItem +> = core.serialization.object({ + id: core.serialization.string().optional(), + name: core.serialization.string().optional(), + url: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateUnfulfillResponseDownloadFilesItem { + interface Raw { + id?: string | null; + name?: string | null; + url?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseMetadata.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseMetadata.ts new file mode 100644 index 00000000..8ab4b6ad --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseMetadata.ts @@ -0,0 +1,20 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateUnfulfillResponseMetadata: core.serialization.ObjectSchema< + serializers.OrdersUpdateUnfulfillResponseMetadata.Raw, + Webflow.OrdersUpdateUnfulfillResponseMetadata +> = core.serialization.object({ + isBuyNow: core.serialization.boolean().optional(), +}); + +export declare namespace OrdersUpdateUnfulfillResponseMetadata { + interface Raw { + isBuyNow?: boolean | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseNetAmount.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseNetAmount.ts new file mode 100644 index 00000000..d5b12dd4 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseNetAmount.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateUnfulfillResponseNetAmount: core.serialization.ObjectSchema< + serializers.OrdersUpdateUnfulfillResponseNetAmount.Raw, + Webflow.OrdersUpdateUnfulfillResponseNetAmount +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateUnfulfillResponseNetAmount { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponsePaypalDetails.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponsePaypalDetails.ts new file mode 100644 index 00000000..aebdd2e7 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponsePaypalDetails.ts @@ -0,0 +1,30 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateUnfulfillResponsePaypalDetails: core.serialization.ObjectSchema< + serializers.OrdersUpdateUnfulfillResponsePaypalDetails.Raw, + Webflow.OrdersUpdateUnfulfillResponsePaypalDetails +> = core.serialization.object({ + orderId: core.serialization.string().optional(), + payerId: core.serialization.string().optional(), + captureId: core.serialization.string().optional(), + refundId: core.serialization.string().optional(), + refundReason: core.serialization.string().optional(), + disputeId: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateUnfulfillResponsePaypalDetails { + interface Raw { + orderId?: string | null; + payerId?: string | null; + captureId?: string | null; + refundId?: string | null; + refundReason?: string | null; + disputeId?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItem.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItem.ts new file mode 100644 index 00000000..d915b5d7 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItem.ts @@ -0,0 +1,51 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersUpdateUnfulfillResponsePurchasedItemsItemRowTotal } from "./OrdersUpdateUnfulfillResponsePurchasedItemsItemRowTotal"; +import { OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImage } from "./OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImage"; +import { OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantPrice } from "./OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantPrice"; + +export const OrdersUpdateUnfulfillResponsePurchasedItemsItem: core.serialization.ObjectSchema< + serializers.OrdersUpdateUnfulfillResponsePurchasedItemsItem.Raw, + Webflow.OrdersUpdateUnfulfillResponsePurchasedItemsItem +> = core.serialization.object({ + count: core.serialization.number().optional(), + rowTotal: OrdersUpdateUnfulfillResponsePurchasedItemsItemRowTotal.optional(), + productId: core.serialization.string().optional(), + productName: core.serialization.string().optional(), + productSlug: core.serialization.string().optional(), + variantId: core.serialization.string().optional(), + variantName: core.serialization.string().optional(), + variantSlug: core.serialization.string().optional(), + variantSku: core.serialization.property("variantSKU", core.serialization.string().optional()), + variantImage: OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImage.optional(), + variantPrice: OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantPrice.optional(), + weight: core.serialization.number().optional(), + width: core.serialization.number().optional(), + height: core.serialization.number().optional(), + length: core.serialization.number().optional(), +}); + +export declare namespace OrdersUpdateUnfulfillResponsePurchasedItemsItem { + interface Raw { + count?: number | null; + rowTotal?: OrdersUpdateUnfulfillResponsePurchasedItemsItemRowTotal.Raw | null; + productId?: string | null; + productName?: string | null; + productSlug?: string | null; + variantId?: string | null; + variantName?: string | null; + variantSlug?: string | null; + variantSKU?: string | null; + variantImage?: OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImage.Raw | null; + variantPrice?: OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantPrice.Raw | null; + weight?: number | null; + width?: number | null; + height?: number | null; + length?: number | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItemRowTotal.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItemRowTotal.ts new file mode 100644 index 00000000..edc2680e --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItemRowTotal.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateUnfulfillResponsePurchasedItemsItemRowTotal: core.serialization.ObjectSchema< + serializers.OrdersUpdateUnfulfillResponsePurchasedItemsItemRowTotal.Raw, + Webflow.OrdersUpdateUnfulfillResponsePurchasedItemsItemRowTotal +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateUnfulfillResponsePurchasedItemsItemRowTotal { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImage.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImage.ts new file mode 100644 index 00000000..2e74446b --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImage.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFile } from "./OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFile"; + +export const OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImage: core.serialization.ObjectSchema< + serializers.OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImage.Raw, + Webflow.OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImage +> = core.serialization.object({ + url: core.serialization.string().optional(), + file: OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFile.optional(), +}); + +export declare namespace OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImage { + interface Raw { + url?: string | null; + file?: OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFile.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFile.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFile.ts new file mode 100644 index 00000000..e40b490d --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFile.ts @@ -0,0 +1,35 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFileVariantsItem } from "./OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFileVariantsItem"; + +export const OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFile: core.serialization.ObjectSchema< + serializers.OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFile.Raw, + Webflow.OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFile +> = core.serialization.object({ + size: core.serialization.number().optional(), + originalFileName: core.serialization.string().optional(), + createdOn: core.serialization.date().optional(), + contentType: core.serialization.string().optional(), + width: core.serialization.number().optional(), + height: core.serialization.number().optional(), + variants: core.serialization + .list(OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFileVariantsItem) + .optional(), +}); + +export declare namespace OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFile { + interface Raw { + size?: number | null; + originalFileName?: string | null; + createdOn?: string | null; + contentType?: string | null; + width?: number | null; + height?: number | null; + variants?: OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFileVariantsItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFileVariantsItem.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFileVariantsItem.ts new file mode 100644 index 00000000..4e29efb9 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFileVariantsItem.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFileVariantsItem: core.serialization.ObjectSchema< + serializers.OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFileVariantsItem.Raw, + Webflow.OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFileVariantsItem +> = core.serialization.object({ + url: core.serialization.string().optional(), + originalFileName: core.serialization.string().optional(), + size: core.serialization.number().optional(), + width: core.serialization.number().optional(), + height: core.serialization.number().optional(), +}); + +export declare namespace OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFileVariantsItem { + interface Raw { + url?: string | null; + originalFileName?: string | null; + size?: number | null; + width?: number | null; + height?: number | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantPrice.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantPrice.ts new file mode 100644 index 00000000..eca6ca02 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantPrice.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantPrice: core.serialization.ObjectSchema< + serializers.OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantPrice.Raw, + Webflow.OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantPrice +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantPrice { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseShippingAddress.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseShippingAddress.ts new file mode 100644 index 00000000..f81f3499 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseShippingAddress.ts @@ -0,0 +1,38 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersUpdateUnfulfillResponseShippingAddressType } from "./OrdersUpdateUnfulfillResponseShippingAddressType"; +import { OrdersUpdateUnfulfillResponseShippingAddressJapanType } from "./OrdersUpdateUnfulfillResponseShippingAddressJapanType"; + +export const OrdersUpdateUnfulfillResponseShippingAddress: core.serialization.ObjectSchema< + serializers.OrdersUpdateUnfulfillResponseShippingAddress.Raw, + Webflow.OrdersUpdateUnfulfillResponseShippingAddress +> = core.serialization.object({ + type: OrdersUpdateUnfulfillResponseShippingAddressType.optional(), + japanType: OrdersUpdateUnfulfillResponseShippingAddressJapanType.optional(), + addressee: core.serialization.string().optional(), + line1: core.serialization.string().optional(), + line2: core.serialization.string().optional(), + city: core.serialization.string().optional(), + state: core.serialization.string().optional(), + country: core.serialization.string().optional(), + postalCode: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateUnfulfillResponseShippingAddress { + interface Raw { + type?: OrdersUpdateUnfulfillResponseShippingAddressType.Raw | null; + japanType?: OrdersUpdateUnfulfillResponseShippingAddressJapanType.Raw | null; + addressee?: string | null; + line1?: string | null; + line2?: string | null; + city?: string | null; + state?: string | null; + country?: string | null; + postalCode?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseShippingAddressJapanType.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseShippingAddressJapanType.ts new file mode 100644 index 00000000..cd3a4733 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseShippingAddressJapanType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateUnfulfillResponseShippingAddressJapanType: core.serialization.Schema< + serializers.OrdersUpdateUnfulfillResponseShippingAddressJapanType.Raw, + Webflow.OrdersUpdateUnfulfillResponseShippingAddressJapanType +> = core.serialization.enum_(["kana", "kanji"]); + +export declare namespace OrdersUpdateUnfulfillResponseShippingAddressJapanType { + type Raw = "kana" | "kanji"; +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseShippingAddressType.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseShippingAddressType.ts new file mode 100644 index 00000000..50fc2a57 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseShippingAddressType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateUnfulfillResponseShippingAddressType: core.serialization.Schema< + serializers.OrdersUpdateUnfulfillResponseShippingAddressType.Raw, + Webflow.OrdersUpdateUnfulfillResponseShippingAddressType +> = core.serialization.enum_(["shipping", "billing"]); + +export declare namespace OrdersUpdateUnfulfillResponseShippingAddressType { + type Raw = "shipping" | "billing"; +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseStatus.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseStatus.ts new file mode 100644 index 00000000..61eb5ecb --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseStatus.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateUnfulfillResponseStatus: core.serialization.Schema< + serializers.OrdersUpdateUnfulfillResponseStatus.Raw, + Webflow.OrdersUpdateUnfulfillResponseStatus +> = core.serialization.enum_(["pending", "unfulfilled", "fulfilled", "disputed", "dispute-lost", "refunded"]); + +export declare namespace OrdersUpdateUnfulfillResponseStatus { + type Raw = "pending" | "unfulfilled" | "fulfilled" | "disputed" | "dispute-lost" | "refunded"; +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseStripeCard.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseStripeCard.ts new file mode 100644 index 00000000..cb75eb6a --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseStripeCard.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersUpdateUnfulfillResponseStripeCardBrand } from "./OrdersUpdateUnfulfillResponseStripeCardBrand"; +import { OrdersUpdateUnfulfillResponseStripeCardExpires } from "./OrdersUpdateUnfulfillResponseStripeCardExpires"; + +export const OrdersUpdateUnfulfillResponseStripeCard: core.serialization.ObjectSchema< + serializers.OrdersUpdateUnfulfillResponseStripeCard.Raw, + Webflow.OrdersUpdateUnfulfillResponseStripeCard +> = core.serialization.object({ + last4: core.serialization.string().optional(), + brand: OrdersUpdateUnfulfillResponseStripeCardBrand.optional(), + ownerName: core.serialization.string().optional(), + expires: OrdersUpdateUnfulfillResponseStripeCardExpires.optional(), +}); + +export declare namespace OrdersUpdateUnfulfillResponseStripeCard { + interface Raw { + last4?: string | null; + brand?: OrdersUpdateUnfulfillResponseStripeCardBrand.Raw | null; + ownerName?: string | null; + expires?: OrdersUpdateUnfulfillResponseStripeCardExpires.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseStripeCardBrand.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseStripeCardBrand.ts new file mode 100644 index 00000000..6a565e23 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseStripeCardBrand.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateUnfulfillResponseStripeCardBrand: core.serialization.Schema< + serializers.OrdersUpdateUnfulfillResponseStripeCardBrand.Raw, + Webflow.OrdersUpdateUnfulfillResponseStripeCardBrand +> = core.serialization.enum_(["Visa", "American Express", "MasterCard", "Discover", "JCB", "Diners Club", "Unknown"]); + +export declare namespace OrdersUpdateUnfulfillResponseStripeCardBrand { + type Raw = "Visa" | "American Express" | "MasterCard" | "Discover" | "JCB" | "Diners Club" | "Unknown"; +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseStripeCardExpires.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseStripeCardExpires.ts new file mode 100644 index 00000000..80c0082d --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseStripeCardExpires.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateUnfulfillResponseStripeCardExpires: core.serialization.ObjectSchema< + serializers.OrdersUpdateUnfulfillResponseStripeCardExpires.Raw, + Webflow.OrdersUpdateUnfulfillResponseStripeCardExpires +> = core.serialization.object({ + year: core.serialization.number().optional(), + month: core.serialization.number().optional(), +}); + +export declare namespace OrdersUpdateUnfulfillResponseStripeCardExpires { + interface Raw { + year?: number | null; + month?: number | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseStripeDetails.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseStripeDetails.ts new file mode 100644 index 00000000..822180d9 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseStripeDetails.ts @@ -0,0 +1,34 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateUnfulfillResponseStripeDetails: core.serialization.ObjectSchema< + serializers.OrdersUpdateUnfulfillResponseStripeDetails.Raw, + Webflow.OrdersUpdateUnfulfillResponseStripeDetails +> = core.serialization.object({ + subscriptionId: core.serialization.string().optional(), + paymentMethod: core.serialization.string().optional(), + paymentIntentId: core.serialization.string().optional(), + customerId: core.serialization.string().optional(), + chargeId: core.serialization.string().optional(), + disputeId: core.serialization.string().optional(), + refundId: core.serialization.string().optional(), + refundReason: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateUnfulfillResponseStripeDetails { + interface Raw { + subscriptionId?: string | null; + paymentMethod?: string | null; + paymentIntentId?: string | null; + customerId?: string | null; + chargeId?: string | null; + disputeId?: string | null; + refundId?: string | null; + refundReason?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseTotals.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseTotals.ts new file mode 100644 index 00000000..e93d8bd5 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseTotals.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersUpdateUnfulfillResponseTotalsSubtotal } from "./OrdersUpdateUnfulfillResponseTotalsSubtotal"; +import { OrdersUpdateUnfulfillResponseTotalsExtrasItem } from "./OrdersUpdateUnfulfillResponseTotalsExtrasItem"; +import { OrdersUpdateUnfulfillResponseTotalsTotal } from "./OrdersUpdateUnfulfillResponseTotalsTotal"; + +export const OrdersUpdateUnfulfillResponseTotals: core.serialization.ObjectSchema< + serializers.OrdersUpdateUnfulfillResponseTotals.Raw, + Webflow.OrdersUpdateUnfulfillResponseTotals +> = core.serialization.object({ + subtotal: OrdersUpdateUnfulfillResponseTotalsSubtotal.optional(), + extras: core.serialization.list(OrdersUpdateUnfulfillResponseTotalsExtrasItem).optional(), + total: OrdersUpdateUnfulfillResponseTotalsTotal.optional(), +}); + +export declare namespace OrdersUpdateUnfulfillResponseTotals { + interface Raw { + subtotal?: OrdersUpdateUnfulfillResponseTotalsSubtotal.Raw | null; + extras?: OrdersUpdateUnfulfillResponseTotalsExtrasItem.Raw[] | null; + total?: OrdersUpdateUnfulfillResponseTotalsTotal.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseTotalsExtrasItem.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseTotalsExtrasItem.ts new file mode 100644 index 00000000..28ea7bb0 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseTotalsExtrasItem.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { OrdersUpdateUnfulfillResponseTotalsExtrasItemType } from "./OrdersUpdateUnfulfillResponseTotalsExtrasItemType"; +import { OrdersUpdateUnfulfillResponseTotalsExtrasItemPrice } from "./OrdersUpdateUnfulfillResponseTotalsExtrasItemPrice"; + +export const OrdersUpdateUnfulfillResponseTotalsExtrasItem: core.serialization.ObjectSchema< + serializers.OrdersUpdateUnfulfillResponseTotalsExtrasItem.Raw, + Webflow.OrdersUpdateUnfulfillResponseTotalsExtrasItem +> = core.serialization.object({ + type: OrdersUpdateUnfulfillResponseTotalsExtrasItemType.optional(), + name: core.serialization.string().optional(), + description: core.serialization.string().optional(), + price: OrdersUpdateUnfulfillResponseTotalsExtrasItemPrice.optional(), +}); + +export declare namespace OrdersUpdateUnfulfillResponseTotalsExtrasItem { + interface Raw { + type?: OrdersUpdateUnfulfillResponseTotalsExtrasItemType.Raw | null; + name?: string | null; + description?: string | null; + price?: OrdersUpdateUnfulfillResponseTotalsExtrasItemPrice.Raw | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseTotalsExtrasItemPrice.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseTotalsExtrasItemPrice.ts new file mode 100644 index 00000000..de171b1b --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseTotalsExtrasItemPrice.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateUnfulfillResponseTotalsExtrasItemPrice: core.serialization.ObjectSchema< + serializers.OrdersUpdateUnfulfillResponseTotalsExtrasItemPrice.Raw, + Webflow.OrdersUpdateUnfulfillResponseTotalsExtrasItemPrice +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateUnfulfillResponseTotalsExtrasItemPrice { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseTotalsExtrasItemType.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseTotalsExtrasItemType.ts new file mode 100644 index 00000000..9d3b1025 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseTotalsExtrasItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateUnfulfillResponseTotalsExtrasItemType: core.serialization.Schema< + serializers.OrdersUpdateUnfulfillResponseTotalsExtrasItemType.Raw, + Webflow.OrdersUpdateUnfulfillResponseTotalsExtrasItemType +> = core.serialization.enum_(["discount", "discount-shipping", "shipping", "tax"]); + +export declare namespace OrdersUpdateUnfulfillResponseTotalsExtrasItemType { + type Raw = "discount" | "discount-shipping" | "shipping" | "tax"; +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseTotalsSubtotal.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseTotalsSubtotal.ts new file mode 100644 index 00000000..7a1eaf08 --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseTotalsSubtotal.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateUnfulfillResponseTotalsSubtotal: core.serialization.ObjectSchema< + serializers.OrdersUpdateUnfulfillResponseTotalsSubtotal.Raw, + Webflow.OrdersUpdateUnfulfillResponseTotalsSubtotal +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateUnfulfillResponseTotalsSubtotal { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseTotalsTotal.ts b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseTotalsTotal.ts new file mode 100644 index 00000000..df19fe0c --- /dev/null +++ b/src/serialization/resources/orders/types/OrdersUpdateUnfulfillResponseTotalsTotal.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const OrdersUpdateUnfulfillResponseTotalsTotal: core.serialization.ObjectSchema< + serializers.OrdersUpdateUnfulfillResponseTotalsTotal.Raw, + Webflow.OrdersUpdateUnfulfillResponseTotalsTotal +> = core.serialization.object({ + unit: core.serialization.string().optional(), + value: core.serialization.string().optional(), + string: core.serialization.string().optional(), +}); + +export declare namespace OrdersUpdateUnfulfillResponseTotalsTotal { + interface Raw { + unit?: string | null; + value?: string | null; + string?: string | null; + } +} diff --git a/src/serialization/resources/orders/types/index.ts b/src/serialization/resources/orders/types/index.ts index 59a55534..beae8e61 100644 --- a/src/serialization/resources/orders/types/index.ts +++ b/src/serialization/resources/orders/types/index.ts @@ -1,2 +1,284 @@ export * from "./OrdersListRequestStatus"; +export * from "./OrdersListResponseOrdersItemStatus"; +export * from "./OrdersListResponseOrdersItemDisputeLastStatus"; +export * from "./OrdersListResponseOrdersItemCustomerPaid"; +export * from "./OrdersListResponseOrdersItemNetAmount"; +export * from "./OrdersListResponseOrdersItemApplicationFee"; +export * from "./OrdersListResponseOrdersItemAllAddressesItemType"; +export * from "./OrdersListResponseOrdersItemAllAddressesItemJapanType"; +export * from "./OrdersListResponseOrdersItemAllAddressesItem"; +export * from "./OrdersListResponseOrdersItemShippingAddressType"; +export * from "./OrdersListResponseOrdersItemShippingAddressJapanType"; +export * from "./OrdersListResponseOrdersItemShippingAddress"; +export * from "./OrdersListResponseOrdersItemBillingAddressType"; +export * from "./OrdersListResponseOrdersItemBillingAddressJapanType"; +export * from "./OrdersListResponseOrdersItemBillingAddress"; +export * from "./OrdersListResponseOrdersItemCustomerInfo"; +export * from "./OrdersListResponseOrdersItemPurchasedItemsItemRowTotal"; +export * from "./OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFileVariantsItem"; +export * from "./OrdersListResponseOrdersItemPurchasedItemsItemVariantImageFile"; +export * from "./OrdersListResponseOrdersItemPurchasedItemsItemVariantImage"; +export * from "./OrdersListResponseOrdersItemPurchasedItemsItemVariantPrice"; +export * from "./OrdersListResponseOrdersItemPurchasedItemsItem"; +export * from "./OrdersListResponseOrdersItemStripeDetails"; +export * from "./OrdersListResponseOrdersItemStripeCardBrand"; +export * from "./OrdersListResponseOrdersItemStripeCardExpires"; +export * from "./OrdersListResponseOrdersItemStripeCard"; +export * from "./OrdersListResponseOrdersItemPaypalDetails"; +export * from "./OrdersListResponseOrdersItemMetadata"; +export * from "./OrdersListResponseOrdersItemTotalsSubtotal"; +export * from "./OrdersListResponseOrdersItemTotalsExtrasItemType"; +export * from "./OrdersListResponseOrdersItemTotalsExtrasItemPrice"; +export * from "./OrdersListResponseOrdersItemTotalsExtrasItem"; +export * from "./OrdersListResponseOrdersItemTotalsTotal"; +export * from "./OrdersListResponseOrdersItemTotals"; +export * from "./OrdersListResponseOrdersItemDownloadFilesItem"; +export * from "./OrdersListResponseOrdersItem"; +export * from "./OrdersListResponsePagination"; +export * from "./OrdersListResponse"; +export * from "./OrdersGetResponseStatus"; +export * from "./OrdersGetResponseDisputeLastStatus"; +export * from "./OrdersGetResponseCustomerPaid"; +export * from "./OrdersGetResponseNetAmount"; +export * from "./OrdersGetResponseApplicationFee"; +export * from "./OrdersGetResponseAllAddressesItemType"; +export * from "./OrdersGetResponseAllAddressesItemJapanType"; +export * from "./OrdersGetResponseAllAddressesItem"; +export * from "./OrdersGetResponseShippingAddressType"; +export * from "./OrdersGetResponseShippingAddressJapanType"; +export * from "./OrdersGetResponseShippingAddress"; +export * from "./OrdersGetResponseBillingAddressType"; +export * from "./OrdersGetResponseBillingAddressJapanType"; +export * from "./OrdersGetResponseBillingAddress"; +export * from "./OrdersGetResponseCustomerInfo"; +export * from "./OrdersGetResponsePurchasedItemsItemRowTotal"; +export * from "./OrdersGetResponsePurchasedItemsItemVariantImageFileVariantsItem"; +export * from "./OrdersGetResponsePurchasedItemsItemVariantImageFile"; +export * from "./OrdersGetResponsePurchasedItemsItemVariantImage"; +export * from "./OrdersGetResponsePurchasedItemsItemVariantPrice"; +export * from "./OrdersGetResponsePurchasedItemsItem"; +export * from "./OrdersGetResponseStripeDetails"; +export * from "./OrdersGetResponseStripeCardBrand"; +export * from "./OrdersGetResponseStripeCardExpires"; +export * from "./OrdersGetResponseStripeCard"; +export * from "./OrdersGetResponsePaypalDetails"; +export * from "./OrdersGetResponseMetadata"; +export * from "./OrdersGetResponseTotalsSubtotal"; +export * from "./OrdersGetResponseTotalsExtrasItemType"; +export * from "./OrdersGetResponseTotalsExtrasItemPrice"; +export * from "./OrdersGetResponseTotalsExtrasItem"; +export * from "./OrdersGetResponseTotalsTotal"; +export * from "./OrdersGetResponseTotals"; +export * from "./OrdersGetResponseDownloadFilesItem"; +export * from "./OrdersGetResponse"; +export * from "./OrdersUpdateResponseStatus"; +export * from "./OrdersUpdateResponseDisputeLastStatus"; +export * from "./OrdersUpdateResponseCustomerPaid"; +export * from "./OrdersUpdateResponseNetAmount"; +export * from "./OrdersUpdateResponseApplicationFee"; +export * from "./OrdersUpdateResponseAllAddressesItemType"; +export * from "./OrdersUpdateResponseAllAddressesItemJapanType"; +export * from "./OrdersUpdateResponseAllAddressesItem"; +export * from "./OrdersUpdateResponseShippingAddressType"; +export * from "./OrdersUpdateResponseShippingAddressJapanType"; +export * from "./OrdersUpdateResponseShippingAddress"; +export * from "./OrdersUpdateResponseBillingAddressType"; +export * from "./OrdersUpdateResponseBillingAddressJapanType"; +export * from "./OrdersUpdateResponseBillingAddress"; +export * from "./OrdersUpdateResponseCustomerInfo"; +export * from "./OrdersUpdateResponsePurchasedItemsItemRowTotal"; +export * from "./OrdersUpdateResponsePurchasedItemsItemVariantImageFileVariantsItem"; +export * from "./OrdersUpdateResponsePurchasedItemsItemVariantImageFile"; +export * from "./OrdersUpdateResponsePurchasedItemsItemVariantImage"; +export * from "./OrdersUpdateResponsePurchasedItemsItemVariantPrice"; +export * from "./OrdersUpdateResponsePurchasedItemsItem"; +export * from "./OrdersUpdateResponseStripeDetails"; +export * from "./OrdersUpdateResponseStripeCardBrand"; +export * from "./OrdersUpdateResponseStripeCardExpires"; +export * from "./OrdersUpdateResponseStripeCard"; +export * from "./OrdersUpdateResponsePaypalDetails"; +export * from "./OrdersUpdateResponseMetadata"; +export * from "./OrdersUpdateResponseTotalsSubtotal"; +export * from "./OrdersUpdateResponseTotalsExtrasItemType"; +export * from "./OrdersUpdateResponseTotalsExtrasItemPrice"; +export * from "./OrdersUpdateResponseTotalsExtrasItem"; +export * from "./OrdersUpdateResponseTotalsTotal"; +export * from "./OrdersUpdateResponseTotals"; +export * from "./OrdersUpdateResponseDownloadFilesItem"; +export * from "./OrdersUpdateResponse"; +export * from "./OrdersUpdateFulfillResponseStatus"; +export * from "./OrdersUpdateFulfillResponseDisputeLastStatus"; +export * from "./OrdersUpdateFulfillResponseCustomerPaid"; +export * from "./OrdersUpdateFulfillResponseNetAmount"; +export * from "./OrdersUpdateFulfillResponseApplicationFee"; +export * from "./OrdersUpdateFulfillResponseAllAddressesItemType"; +export * from "./OrdersUpdateFulfillResponseAllAddressesItemJapanType"; +export * from "./OrdersUpdateFulfillResponseAllAddressesItem"; +export * from "./OrdersUpdateFulfillResponseShippingAddressType"; +export * from "./OrdersUpdateFulfillResponseShippingAddressJapanType"; +export * from "./OrdersUpdateFulfillResponseShippingAddress"; +export * from "./OrdersUpdateFulfillResponseBillingAddressType"; +export * from "./OrdersUpdateFulfillResponseBillingAddressJapanType"; +export * from "./OrdersUpdateFulfillResponseBillingAddress"; +export * from "./OrdersUpdateFulfillResponseCustomerInfo"; +export * from "./OrdersUpdateFulfillResponsePurchasedItemsItemRowTotal"; +export * from "./OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFileVariantsItem"; +export * from "./OrdersUpdateFulfillResponsePurchasedItemsItemVariantImageFile"; +export * from "./OrdersUpdateFulfillResponsePurchasedItemsItemVariantImage"; +export * from "./OrdersUpdateFulfillResponsePurchasedItemsItemVariantPrice"; +export * from "./OrdersUpdateFulfillResponsePurchasedItemsItem"; +export * from "./OrdersUpdateFulfillResponseStripeDetails"; +export * from "./OrdersUpdateFulfillResponseStripeCardBrand"; +export * from "./OrdersUpdateFulfillResponseStripeCardExpires"; +export * from "./OrdersUpdateFulfillResponseStripeCard"; +export * from "./OrdersUpdateFulfillResponsePaypalDetails"; +export * from "./OrdersUpdateFulfillResponseMetadata"; +export * from "./OrdersUpdateFulfillResponseTotalsSubtotal"; +export * from "./OrdersUpdateFulfillResponseTotalsExtrasItemType"; +export * from "./OrdersUpdateFulfillResponseTotalsExtrasItemPrice"; +export * from "./OrdersUpdateFulfillResponseTotalsExtrasItem"; +export * from "./OrdersUpdateFulfillResponseTotalsTotal"; +export * from "./OrdersUpdateFulfillResponseTotals"; +export * from "./OrdersUpdateFulfillResponseDownloadFilesItem"; +export * from "./OrdersUpdateFulfillResponse"; +export * from "./OrdersUpdateUnfulfillResponseStatus"; +export * from "./OrdersUpdateUnfulfillResponseDisputeLastStatus"; +export * from "./OrdersUpdateUnfulfillResponseCustomerPaid"; +export * from "./OrdersUpdateUnfulfillResponseNetAmount"; +export * from "./OrdersUpdateUnfulfillResponseApplicationFee"; +export * from "./OrdersUpdateUnfulfillResponseAllAddressesItemType"; +export * from "./OrdersUpdateUnfulfillResponseAllAddressesItemJapanType"; +export * from "./OrdersUpdateUnfulfillResponseAllAddressesItem"; +export * from "./OrdersUpdateUnfulfillResponseShippingAddressType"; +export * from "./OrdersUpdateUnfulfillResponseShippingAddressJapanType"; +export * from "./OrdersUpdateUnfulfillResponseShippingAddress"; +export * from "./OrdersUpdateUnfulfillResponseBillingAddressType"; +export * from "./OrdersUpdateUnfulfillResponseBillingAddressJapanType"; +export * from "./OrdersUpdateUnfulfillResponseBillingAddress"; +export * from "./OrdersUpdateUnfulfillResponseCustomerInfo"; +export * from "./OrdersUpdateUnfulfillResponsePurchasedItemsItemRowTotal"; +export * from "./OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFileVariantsItem"; +export * from "./OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImageFile"; +export * from "./OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantImage"; +export * from "./OrdersUpdateUnfulfillResponsePurchasedItemsItemVariantPrice"; +export * from "./OrdersUpdateUnfulfillResponsePurchasedItemsItem"; +export * from "./OrdersUpdateUnfulfillResponseStripeDetails"; +export * from "./OrdersUpdateUnfulfillResponseStripeCardBrand"; +export * from "./OrdersUpdateUnfulfillResponseStripeCardExpires"; +export * from "./OrdersUpdateUnfulfillResponseStripeCard"; +export * from "./OrdersUpdateUnfulfillResponsePaypalDetails"; +export * from "./OrdersUpdateUnfulfillResponseMetadata"; +export * from "./OrdersUpdateUnfulfillResponseTotalsSubtotal"; +export * from "./OrdersUpdateUnfulfillResponseTotalsExtrasItemType"; +export * from "./OrdersUpdateUnfulfillResponseTotalsExtrasItemPrice"; +export * from "./OrdersUpdateUnfulfillResponseTotalsExtrasItem"; +export * from "./OrdersUpdateUnfulfillResponseTotalsTotal"; +export * from "./OrdersUpdateUnfulfillResponseTotals"; +export * from "./OrdersUpdateUnfulfillResponseDownloadFilesItem"; +export * from "./OrdersUpdateUnfulfillResponse"; export * from "./OrdersRefundRequestReason"; +export * from "./OrdersRefundResponseStatus"; +export * from "./OrdersRefundResponseDisputeLastStatus"; +export * from "./OrdersRefundResponseCustomerPaid"; +export * from "./OrdersRefundResponseNetAmount"; +export * from "./OrdersRefundResponseApplicationFee"; +export * from "./OrdersRefundResponseAllAddressesItemType"; +export * from "./OrdersRefundResponseAllAddressesItemJapanType"; +export * from "./OrdersRefundResponseAllAddressesItem"; +export * from "./OrdersRefundResponseShippingAddressType"; +export * from "./OrdersRefundResponseShippingAddressJapanType"; +export * from "./OrdersRefundResponseShippingAddress"; +export * from "./OrdersRefundResponseBillingAddressType"; +export * from "./OrdersRefundResponseBillingAddressJapanType"; +export * from "./OrdersRefundResponseBillingAddress"; +export * from "./OrdersRefundResponseCustomerInfo"; +export * from "./OrdersRefundResponsePurchasedItemsItemRowTotal"; +export * from "./OrdersRefundResponsePurchasedItemsItemVariantImageFileVariantsItem"; +export * from "./OrdersRefundResponsePurchasedItemsItemVariantImageFile"; +export * from "./OrdersRefundResponsePurchasedItemsItemVariantImage"; +export * from "./OrdersRefundResponsePurchasedItemsItemVariantPrice"; +export * from "./OrdersRefundResponsePurchasedItemsItem"; +export * from "./OrdersRefundResponseStripeDetails"; +export * from "./OrdersRefundResponseStripeCardBrand"; +export * from "./OrdersRefundResponseStripeCardExpires"; +export * from "./OrdersRefundResponseStripeCard"; +export * from "./OrdersRefundResponsePaypalDetails"; +export * from "./OrdersRefundResponseMetadata"; +export * from "./OrdersRefundResponseTotalsSubtotal"; +export * from "./OrdersRefundResponseTotalsExtrasItemType"; +export * from "./OrdersRefundResponseTotalsExtrasItemPrice"; +export * from "./OrdersRefundResponseTotalsExtrasItem"; +export * from "./OrdersRefundResponseTotalsTotal"; +export * from "./OrdersRefundResponseTotals"; +export * from "./OrdersRefundResponseDownloadFilesItem"; +export * from "./OrdersRefundResponse"; +export * from "./EcommNewOrderPayloadStatus"; +export * from "./EcommNewOrderPayloadDisputeLastStatus"; +export * from "./EcommNewOrderPayloadCustomerPaid"; +export * from "./EcommNewOrderPayloadNetAmount"; +export * from "./EcommNewOrderPayloadApplicationFee"; +export * from "./EcommNewOrderPayloadAllAddressesItemType"; +export * from "./EcommNewOrderPayloadAllAddressesItemJapanType"; +export * from "./EcommNewOrderPayloadAllAddressesItem"; +export * from "./EcommNewOrderPayloadShippingAddressType"; +export * from "./EcommNewOrderPayloadShippingAddressJapanType"; +export * from "./EcommNewOrderPayloadShippingAddress"; +export * from "./EcommNewOrderPayloadBillingAddressType"; +export * from "./EcommNewOrderPayloadBillingAddressJapanType"; +export * from "./EcommNewOrderPayloadBillingAddress"; +export * from "./EcommNewOrderPayloadCustomerInfo"; +export * from "./EcommNewOrderPayloadPurchasedItemsItemRowTotal"; +export * from "./EcommNewOrderPayloadPurchasedItemsItemVariantImageFileVariantsItem"; +export * from "./EcommNewOrderPayloadPurchasedItemsItemVariantImageFile"; +export * from "./EcommNewOrderPayloadPurchasedItemsItemVariantImage"; +export * from "./EcommNewOrderPayloadPurchasedItemsItemVariantPrice"; +export * from "./EcommNewOrderPayloadPurchasedItemsItem"; +export * from "./EcommNewOrderPayloadStripeDetails"; +export * from "./EcommNewOrderPayloadStripeCardBrand"; +export * from "./EcommNewOrderPayloadStripeCardExpires"; +export * from "./EcommNewOrderPayloadStripeCard"; +export * from "./EcommNewOrderPayloadPaypalDetails"; +export * from "./EcommNewOrderPayloadMetadata"; +export * from "./EcommNewOrderPayloadTotalsSubtotal"; +export * from "./EcommNewOrderPayloadTotalsExtrasItemType"; +export * from "./EcommNewOrderPayloadTotalsExtrasItemPrice"; +export * from "./EcommNewOrderPayloadTotalsExtrasItem"; +export * from "./EcommNewOrderPayloadTotalsTotal"; +export * from "./EcommNewOrderPayloadTotals"; +export * from "./EcommNewOrderPayloadDownloadFilesItem"; +export * from "./EcommNewOrderPayload"; +export * from "./EcommOrderChangedPayloadStatus"; +export * from "./EcommOrderChangedPayloadDisputeLastStatus"; +export * from "./EcommOrderChangedPayloadCustomerPaid"; +export * from "./EcommOrderChangedPayloadNetAmount"; +export * from "./EcommOrderChangedPayloadApplicationFee"; +export * from "./EcommOrderChangedPayloadAllAddressesItemType"; +export * from "./EcommOrderChangedPayloadAllAddressesItemJapanType"; +export * from "./EcommOrderChangedPayloadAllAddressesItem"; +export * from "./EcommOrderChangedPayloadShippingAddressType"; +export * from "./EcommOrderChangedPayloadShippingAddressJapanType"; +export * from "./EcommOrderChangedPayloadShippingAddress"; +export * from "./EcommOrderChangedPayloadBillingAddressType"; +export * from "./EcommOrderChangedPayloadBillingAddressJapanType"; +export * from "./EcommOrderChangedPayloadBillingAddress"; +export * from "./EcommOrderChangedPayloadCustomerInfo"; +export * from "./EcommOrderChangedPayloadPurchasedItemsItemRowTotal"; +export * from "./EcommOrderChangedPayloadPurchasedItemsItemVariantImageFileVariantsItem"; +export * from "./EcommOrderChangedPayloadPurchasedItemsItemVariantImageFile"; +export * from "./EcommOrderChangedPayloadPurchasedItemsItemVariantImage"; +export * from "./EcommOrderChangedPayloadPurchasedItemsItemVariantPrice"; +export * from "./EcommOrderChangedPayloadPurchasedItemsItem"; +export * from "./EcommOrderChangedPayloadStripeDetails"; +export * from "./EcommOrderChangedPayloadStripeCardBrand"; +export * from "./EcommOrderChangedPayloadStripeCardExpires"; +export * from "./EcommOrderChangedPayloadStripeCard"; +export * from "./EcommOrderChangedPayloadPaypalDetails"; +export * from "./EcommOrderChangedPayloadMetadata"; +export * from "./EcommOrderChangedPayloadTotalsSubtotal"; +export * from "./EcommOrderChangedPayloadTotalsExtrasItemType"; +export * from "./EcommOrderChangedPayloadTotalsExtrasItemPrice"; +export * from "./EcommOrderChangedPayloadTotalsExtrasItem"; +export * from "./EcommOrderChangedPayloadTotalsTotal"; +export * from "./EcommOrderChangedPayloadTotals"; +export * from "./EcommOrderChangedPayloadDownloadFilesItem"; +export * from "./EcommOrderChangedPayload"; diff --git a/src/serialization/resources/pages/client/requests/DomWrite.ts b/src/serialization/resources/pages/client/requests/DomWrite.ts deleted file mode 100644 index 0c67e0f4..00000000 --- a/src/serialization/resources/pages/client/requests/DomWrite.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../../../../index"; -import * as Webflow from "../../../../../api/index"; -import * as core from "../../../../../core"; -import { DomWriteNodesItem } from "../../types/DomWriteNodesItem"; - -export const DomWrite: core.serialization.Schema< - serializers.DomWrite.Raw, - Omit -> = core.serialization.object({ - nodes: core.serialization.list(DomWriteNodesItem), -}); - -export declare namespace DomWrite { - interface Raw { - nodes: DomWriteNodesItem.Raw[]; - } -} diff --git a/src/serialization/resources/pages/client/requests/UpdatePageSettingsRequest.ts b/src/serialization/resources/pages/client/requests/UpdatePageSettingsRequest.ts new file mode 100644 index 00000000..5980d37d --- /dev/null +++ b/src/serialization/resources/pages/client/requests/UpdatePageSettingsRequest.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../index"; +import * as Webflow from "../../../../../api/index"; +import * as core from "../../../../../core"; +import { UpdatePageSettingsRequestSeo } from "../../types/UpdatePageSettingsRequestSeo"; +import { UpdatePageSettingsRequestOpenGraph } from "../../types/UpdatePageSettingsRequestOpenGraph"; + +export const UpdatePageSettingsRequest: core.serialization.Schema< + serializers.UpdatePageSettingsRequest.Raw, + Omit +> = core.serialization.object({ + title: core.serialization.string().optional(), + slug: core.serialization.string().optional(), + seo: UpdatePageSettingsRequestSeo.optional(), + openGraph: UpdatePageSettingsRequestOpenGraph.optional(), +}); + +export declare namespace UpdatePageSettingsRequest { + interface Raw { + title?: string | null; + slug?: string | null; + seo?: UpdatePageSettingsRequestSeo.Raw | null; + openGraph?: UpdatePageSettingsRequestOpenGraph.Raw | null; + } +} diff --git a/src/serialization/resources/pages/client/requests/UpdateStaticContentRequest.ts b/src/serialization/resources/pages/client/requests/UpdateStaticContentRequest.ts new file mode 100644 index 00000000..be1cf213 --- /dev/null +++ b/src/serialization/resources/pages/client/requests/UpdateStaticContentRequest.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../index"; +import * as Webflow from "../../../../../api/index"; +import * as core from "../../../../../core"; +import { UpdateStaticContentRequestNodesItem } from "../../types/UpdateStaticContentRequestNodesItem"; + +export const UpdateStaticContentRequest: core.serialization.Schema< + serializers.UpdateStaticContentRequest.Raw, + Omit +> = core.serialization.object({ + nodes: core.serialization.list(UpdateStaticContentRequestNodesItem), +}); + +export declare namespace UpdateStaticContentRequest { + interface Raw { + nodes: UpdateStaticContentRequestNodesItem.Raw[]; + } +} diff --git a/src/serialization/resources/pages/client/requests/index.ts b/src/serialization/resources/pages/client/requests/index.ts index a4b8aef6..9a7d355d 100644 --- a/src/serialization/resources/pages/client/requests/index.ts +++ b/src/serialization/resources/pages/client/requests/index.ts @@ -1 +1,2 @@ -export { DomWrite } from "./DomWrite"; +export { UpdatePageSettingsRequest } from "./UpdatePageSettingsRequest"; +export { UpdateStaticContentRequest } from "./UpdateStaticContentRequest"; diff --git a/src/serialization/resources/pages/index.ts b/src/serialization/resources/pages/index.ts index c9240f83..a931b363 100644 --- a/src/serialization/resources/pages/index.ts +++ b/src/serialization/resources/pages/index.ts @@ -1,2 +1,3 @@ export * from "./types"; +export * from "./resources"; export * from "./client"; diff --git a/src/serialization/resources/pages/resources/index.ts b/src/serialization/resources/pages/resources/index.ts new file mode 100644 index 00000000..2f8c8dc2 --- /dev/null +++ b/src/serialization/resources/pages/resources/index.ts @@ -0,0 +1,3 @@ +export * as scripts from "./scripts"; +export * from "./scripts/types"; +export * from "./scripts/client/requests"; diff --git a/src/serialization/resources/pages/resources/scripts/client/index.ts b/src/serialization/resources/pages/resources/scripts/client/index.ts new file mode 100644 index 00000000..415726b7 --- /dev/null +++ b/src/serialization/resources/pages/resources/scripts/client/index.ts @@ -0,0 +1 @@ +export * from "./requests"; diff --git a/src/serialization/resources/pages/resources/scripts/client/requests/ScriptsUpsertCustomCodeRequest.ts b/src/serialization/resources/pages/resources/scripts/client/requests/ScriptsUpsertCustomCodeRequest.ts new file mode 100644 index 00000000..2af610e9 --- /dev/null +++ b/src/serialization/resources/pages/resources/scripts/client/requests/ScriptsUpsertCustomCodeRequest.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../../index"; +import * as Webflow from "../../../../../../../api/index"; +import * as core from "../../../../../../../core"; +import { ScriptsUpsertCustomCodeRequestScriptsItem } from "../../types/ScriptsUpsertCustomCodeRequestScriptsItem"; + +export const ScriptsUpsertCustomCodeRequest: core.serialization.Schema< + serializers.pages.ScriptsUpsertCustomCodeRequest.Raw, + Webflow.pages.ScriptsUpsertCustomCodeRequest +> = core.serialization.object({ + scripts: core.serialization.list(ScriptsUpsertCustomCodeRequestScriptsItem).optional(), +}); + +export declare namespace ScriptsUpsertCustomCodeRequest { + interface Raw { + scripts?: ScriptsUpsertCustomCodeRequestScriptsItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/pages/resources/scripts/client/requests/index.ts b/src/serialization/resources/pages/resources/scripts/client/requests/index.ts new file mode 100644 index 00000000..ded06f1c --- /dev/null +++ b/src/serialization/resources/pages/resources/scripts/client/requests/index.ts @@ -0,0 +1 @@ +export { ScriptsUpsertCustomCodeRequest } from "./ScriptsUpsertCustomCodeRequest"; diff --git a/src/serialization/resources/pages/resources/scripts/index.ts b/src/serialization/resources/pages/resources/scripts/index.ts new file mode 100644 index 00000000..c9240f83 --- /dev/null +++ b/src/serialization/resources/pages/resources/scripts/index.ts @@ -0,0 +1,2 @@ +export * from "./types"; +export * from "./client"; diff --git a/src/serialization/resources/pages/resources/scripts/types/ScriptsGetCustomCodeResponse.ts b/src/serialization/resources/pages/resources/scripts/types/ScriptsGetCustomCodeResponse.ts new file mode 100644 index 00000000..3081d3dd --- /dev/null +++ b/src/serialization/resources/pages/resources/scripts/types/ScriptsGetCustomCodeResponse.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ScriptsGetCustomCodeResponseScriptsItem } from "./ScriptsGetCustomCodeResponseScriptsItem"; + +export const ScriptsGetCustomCodeResponse: core.serialization.ObjectSchema< + serializers.pages.ScriptsGetCustomCodeResponse.Raw, + Webflow.pages.ScriptsGetCustomCodeResponse +> = core.serialization.object({ + scripts: core.serialization.list(ScriptsGetCustomCodeResponseScriptsItem).optional(), + lastUpdated: core.serialization.string().optional(), + createdOn: core.serialization.string().optional(), +}); + +export declare namespace ScriptsGetCustomCodeResponse { + interface Raw { + scripts?: ScriptsGetCustomCodeResponseScriptsItem.Raw[] | null; + lastUpdated?: string | null; + createdOn?: string | null; + } +} diff --git a/src/serialization/resources/pages/resources/scripts/types/ScriptsGetCustomCodeResponseScriptsItem.ts b/src/serialization/resources/pages/resources/scripts/types/ScriptsGetCustomCodeResponseScriptsItem.ts new file mode 100644 index 00000000..207d272b --- /dev/null +++ b/src/serialization/resources/pages/resources/scripts/types/ScriptsGetCustomCodeResponseScriptsItem.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ScriptsGetCustomCodeResponseScriptsItemLocation } from "./ScriptsGetCustomCodeResponseScriptsItemLocation"; + +export const ScriptsGetCustomCodeResponseScriptsItem: core.serialization.ObjectSchema< + serializers.pages.ScriptsGetCustomCodeResponseScriptsItem.Raw, + Webflow.pages.ScriptsGetCustomCodeResponseScriptsItem +> = core.serialization.object({ + id: core.serialization.string(), + location: ScriptsGetCustomCodeResponseScriptsItemLocation, + version: core.serialization.string(), + attributes: core.serialization.record(core.serialization.string(), core.serialization.unknown()).optional(), +}); + +export declare namespace ScriptsGetCustomCodeResponseScriptsItem { + interface Raw { + id: string; + location: ScriptsGetCustomCodeResponseScriptsItemLocation.Raw; + version: string; + attributes?: Record | null; + } +} diff --git a/src/serialization/resources/pages/resources/scripts/types/ScriptsGetCustomCodeResponseScriptsItemLocation.ts b/src/serialization/resources/pages/resources/scripts/types/ScriptsGetCustomCodeResponseScriptsItemLocation.ts new file mode 100644 index 00000000..13534300 --- /dev/null +++ b/src/serialization/resources/pages/resources/scripts/types/ScriptsGetCustomCodeResponseScriptsItemLocation.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ScriptsGetCustomCodeResponseScriptsItemLocation: core.serialization.Schema< + serializers.pages.ScriptsGetCustomCodeResponseScriptsItemLocation.Raw, + Webflow.pages.ScriptsGetCustomCodeResponseScriptsItemLocation +> = core.serialization.enum_(["header", "footer"]); + +export declare namespace ScriptsGetCustomCodeResponseScriptsItemLocation { + type Raw = "header" | "footer"; +} diff --git a/src/serialization/resources/pages/resources/scripts/types/ScriptsUpsertCustomCodeRequestScriptsItem.ts b/src/serialization/resources/pages/resources/scripts/types/ScriptsUpsertCustomCodeRequestScriptsItem.ts new file mode 100644 index 00000000..229d6e7a --- /dev/null +++ b/src/serialization/resources/pages/resources/scripts/types/ScriptsUpsertCustomCodeRequestScriptsItem.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ScriptsUpsertCustomCodeRequestScriptsItemLocation } from "./ScriptsUpsertCustomCodeRequestScriptsItemLocation"; + +export const ScriptsUpsertCustomCodeRequestScriptsItem: core.serialization.ObjectSchema< + serializers.pages.ScriptsUpsertCustomCodeRequestScriptsItem.Raw, + Webflow.pages.ScriptsUpsertCustomCodeRequestScriptsItem +> = core.serialization.object({ + id: core.serialization.string(), + location: ScriptsUpsertCustomCodeRequestScriptsItemLocation, + version: core.serialization.string(), + attributes: core.serialization.record(core.serialization.string(), core.serialization.unknown()).optional(), +}); + +export declare namespace ScriptsUpsertCustomCodeRequestScriptsItem { + interface Raw { + id: string; + location: ScriptsUpsertCustomCodeRequestScriptsItemLocation.Raw; + version: string; + attributes?: Record | null; + } +} diff --git a/src/serialization/resources/pages/resources/scripts/types/ScriptsUpsertCustomCodeRequestScriptsItemLocation.ts b/src/serialization/resources/pages/resources/scripts/types/ScriptsUpsertCustomCodeRequestScriptsItemLocation.ts new file mode 100644 index 00000000..237b5ca7 --- /dev/null +++ b/src/serialization/resources/pages/resources/scripts/types/ScriptsUpsertCustomCodeRequestScriptsItemLocation.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ScriptsUpsertCustomCodeRequestScriptsItemLocation: core.serialization.Schema< + serializers.pages.ScriptsUpsertCustomCodeRequestScriptsItemLocation.Raw, + Webflow.pages.ScriptsUpsertCustomCodeRequestScriptsItemLocation +> = core.serialization.enum_(["header", "footer"]); + +export declare namespace ScriptsUpsertCustomCodeRequestScriptsItemLocation { + type Raw = "header" | "footer"; +} diff --git a/src/serialization/resources/pages/resources/scripts/types/ScriptsUpsertCustomCodeResponse.ts b/src/serialization/resources/pages/resources/scripts/types/ScriptsUpsertCustomCodeResponse.ts new file mode 100644 index 00000000..6f8b53bf --- /dev/null +++ b/src/serialization/resources/pages/resources/scripts/types/ScriptsUpsertCustomCodeResponse.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ScriptsUpsertCustomCodeResponseScriptsItem } from "./ScriptsUpsertCustomCodeResponseScriptsItem"; + +export const ScriptsUpsertCustomCodeResponse: core.serialization.ObjectSchema< + serializers.pages.ScriptsUpsertCustomCodeResponse.Raw, + Webflow.pages.ScriptsUpsertCustomCodeResponse +> = core.serialization.object({ + scripts: core.serialization.list(ScriptsUpsertCustomCodeResponseScriptsItem).optional(), + lastUpdated: core.serialization.string().optional(), + createdOn: core.serialization.string().optional(), +}); + +export declare namespace ScriptsUpsertCustomCodeResponse { + interface Raw { + scripts?: ScriptsUpsertCustomCodeResponseScriptsItem.Raw[] | null; + lastUpdated?: string | null; + createdOn?: string | null; + } +} diff --git a/src/serialization/resources/pages/resources/scripts/types/ScriptsUpsertCustomCodeResponseScriptsItem.ts b/src/serialization/resources/pages/resources/scripts/types/ScriptsUpsertCustomCodeResponseScriptsItem.ts new file mode 100644 index 00000000..ac423291 --- /dev/null +++ b/src/serialization/resources/pages/resources/scripts/types/ScriptsUpsertCustomCodeResponseScriptsItem.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ScriptsUpsertCustomCodeResponseScriptsItemLocation } from "./ScriptsUpsertCustomCodeResponseScriptsItemLocation"; + +export const ScriptsUpsertCustomCodeResponseScriptsItem: core.serialization.ObjectSchema< + serializers.pages.ScriptsUpsertCustomCodeResponseScriptsItem.Raw, + Webflow.pages.ScriptsUpsertCustomCodeResponseScriptsItem +> = core.serialization.object({ + id: core.serialization.string(), + location: ScriptsUpsertCustomCodeResponseScriptsItemLocation, + version: core.serialization.string(), + attributes: core.serialization.record(core.serialization.string(), core.serialization.unknown()).optional(), +}); + +export declare namespace ScriptsUpsertCustomCodeResponseScriptsItem { + interface Raw { + id: string; + location: ScriptsUpsertCustomCodeResponseScriptsItemLocation.Raw; + version: string; + attributes?: Record | null; + } +} diff --git a/src/serialization/resources/pages/resources/scripts/types/ScriptsUpsertCustomCodeResponseScriptsItemLocation.ts b/src/serialization/resources/pages/resources/scripts/types/ScriptsUpsertCustomCodeResponseScriptsItemLocation.ts new file mode 100644 index 00000000..7112cc50 --- /dev/null +++ b/src/serialization/resources/pages/resources/scripts/types/ScriptsUpsertCustomCodeResponseScriptsItemLocation.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ScriptsUpsertCustomCodeResponseScriptsItemLocation: core.serialization.Schema< + serializers.pages.ScriptsUpsertCustomCodeResponseScriptsItemLocation.Raw, + Webflow.pages.ScriptsUpsertCustomCodeResponseScriptsItemLocation +> = core.serialization.enum_(["header", "footer"]); + +export declare namespace ScriptsUpsertCustomCodeResponseScriptsItemLocation { + type Raw = "header" | "footer"; +} diff --git a/src/serialization/resources/pages/resources/scripts/types/index.ts b/src/serialization/resources/pages/resources/scripts/types/index.ts new file mode 100644 index 00000000..a3c7705e --- /dev/null +++ b/src/serialization/resources/pages/resources/scripts/types/index.ts @@ -0,0 +1,8 @@ +export * from "./ScriptsGetCustomCodeResponseScriptsItemLocation"; +export * from "./ScriptsGetCustomCodeResponseScriptsItem"; +export * from "./ScriptsGetCustomCodeResponse"; +export * from "./ScriptsUpsertCustomCodeRequestScriptsItemLocation"; +export * from "./ScriptsUpsertCustomCodeRequestScriptsItem"; +export * from "./ScriptsUpsertCustomCodeResponseScriptsItemLocation"; +export * from "./ScriptsUpsertCustomCodeResponseScriptsItem"; +export * from "./ScriptsUpsertCustomCodeResponse"; diff --git a/src/serialization/resources/pages/types/DomWriteNodesItem.ts b/src/serialization/resources/pages/types/DomWriteNodesItem.ts deleted file mode 100644 index 507c8108..00000000 --- a/src/serialization/resources/pages/types/DomWriteNodesItem.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../../../index"; -import * as Webflow from "../../../../api/index"; -import * as core from "../../../../core"; - -export const DomWriteNodesItem: core.serialization.ObjectSchema< - serializers.DomWriteNodesItem.Raw, - Webflow.DomWriteNodesItem -> = core.serialization.object({ - nodeId: core.serialization.string(), - text: core.serialization.string(), -}); - -export declare namespace DomWriteNodesItem { - interface Raw { - nodeId: string; - text: string; - } -} diff --git a/src/serialization/resources/pages/types/PageCreatedPayload.ts b/src/serialization/resources/pages/types/PageCreatedPayload.ts new file mode 100644 index 00000000..d1ee82e5 --- /dev/null +++ b/src/serialization/resources/pages/types/PageCreatedPayload.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { PageCreatedPayloadPayload } from "./PageCreatedPayloadPayload"; + +export const PageCreatedPayload: core.serialization.ObjectSchema< + serializers.PageCreatedPayload.Raw, + Webflow.PageCreatedPayload +> = core.serialization.object({ + triggerType: core.serialization.string().optional(), + payload: PageCreatedPayloadPayload.optional(), +}); + +export declare namespace PageCreatedPayload { + interface Raw { + triggerType?: string | null; + payload?: PageCreatedPayloadPayload.Raw | null; + } +} diff --git a/src/serialization/resources/pages/types/PageCreatedPayloadPayload.ts b/src/serialization/resources/pages/types/PageCreatedPayloadPayload.ts new file mode 100644 index 00000000..a900b8fa --- /dev/null +++ b/src/serialization/resources/pages/types/PageCreatedPayloadPayload.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const PageCreatedPayloadPayload: core.serialization.ObjectSchema< + serializers.PageCreatedPayloadPayload.Raw, + Webflow.PageCreatedPayloadPayload +> = core.serialization.object({ + siteId: core.serialization.string().optional(), + pageId: core.serialization.string().optional(), + pageTitle: core.serialization.string().optional(), + createdOn: core.serialization.date().optional(), +}); + +export declare namespace PageCreatedPayloadPayload { + interface Raw { + siteId?: string | null; + pageId?: string | null; + pageTitle?: string | null; + createdOn?: string | null; + } +} diff --git a/src/serialization/resources/pages/types/PageDeletedPayload.ts b/src/serialization/resources/pages/types/PageDeletedPayload.ts new file mode 100644 index 00000000..deb81e1d --- /dev/null +++ b/src/serialization/resources/pages/types/PageDeletedPayload.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { PageDeletedPayloadPayload } from "./PageDeletedPayloadPayload"; + +export const PageDeletedPayload: core.serialization.ObjectSchema< + serializers.PageDeletedPayload.Raw, + Webflow.PageDeletedPayload +> = core.serialization.object({ + triggerType: core.serialization.string().optional(), + payload: PageDeletedPayloadPayload.optional(), +}); + +export declare namespace PageDeletedPayload { + interface Raw { + triggerType?: string | null; + payload?: PageDeletedPayloadPayload.Raw | null; + } +} diff --git a/src/serialization/resources/pages/types/PageDeletedPayloadPayload.ts b/src/serialization/resources/pages/types/PageDeletedPayloadPayload.ts new file mode 100644 index 00000000..dbe4bf90 --- /dev/null +++ b/src/serialization/resources/pages/types/PageDeletedPayloadPayload.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const PageDeletedPayloadPayload: core.serialization.ObjectSchema< + serializers.PageDeletedPayloadPayload.Raw, + Webflow.PageDeletedPayloadPayload +> = core.serialization.object({ + siteId: core.serialization.string().optional(), + pageId: core.serialization.string().optional(), + pageTitle: core.serialization.string().optional(), + deletedOn: core.serialization.date().optional(), +}); + +export declare namespace PageDeletedPayloadPayload { + interface Raw { + siteId?: string | null; + pageId?: string | null; + pageTitle?: string | null; + deletedOn?: string | null; + } +} diff --git a/src/serialization/resources/pages/types/PageMetadataUpdatedPayload.ts b/src/serialization/resources/pages/types/PageMetadataUpdatedPayload.ts new file mode 100644 index 00000000..e8c02f7d --- /dev/null +++ b/src/serialization/resources/pages/types/PageMetadataUpdatedPayload.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { PageMetadataUpdatedPayloadPayload } from "./PageMetadataUpdatedPayloadPayload"; + +export const PageMetadataUpdatedPayload: core.serialization.ObjectSchema< + serializers.PageMetadataUpdatedPayload.Raw, + Webflow.PageMetadataUpdatedPayload +> = core.serialization.object({ + triggerType: core.serialization.string().optional(), + payload: PageMetadataUpdatedPayloadPayload.optional(), +}); + +export declare namespace PageMetadataUpdatedPayload { + interface Raw { + triggerType?: string | null; + payload?: PageMetadataUpdatedPayloadPayload.Raw | null; + } +} diff --git a/src/serialization/resources/pages/types/PageMetadataUpdatedPayloadPayload.ts b/src/serialization/resources/pages/types/PageMetadataUpdatedPayloadPayload.ts new file mode 100644 index 00000000..2d70b097 --- /dev/null +++ b/src/serialization/resources/pages/types/PageMetadataUpdatedPayloadPayload.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const PageMetadataUpdatedPayloadPayload: core.serialization.ObjectSchema< + serializers.PageMetadataUpdatedPayloadPayload.Raw, + Webflow.PageMetadataUpdatedPayloadPayload +> = core.serialization.object({ + siteId: core.serialization.string().optional(), + pageId: core.serialization.string().optional(), + pageTitle: core.serialization.string().optional(), + lastUpdated: core.serialization.date().optional(), +}); + +export declare namespace PageMetadataUpdatedPayloadPayload { + interface Raw { + siteId?: string | null; + pageId?: string | null; + pageTitle?: string | null; + lastUpdated?: string | null; + } +} diff --git a/src/serialization/resources/pages/types/PagesGetContentResponse.ts b/src/serialization/resources/pages/types/PagesGetContentResponse.ts new file mode 100644 index 00000000..610ac733 --- /dev/null +++ b/src/serialization/resources/pages/types/PagesGetContentResponse.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { PagesGetContentResponseNodesItem } from "./PagesGetContentResponseNodesItem"; +import { PagesGetContentResponsePagination } from "./PagesGetContentResponsePagination"; + +export const PagesGetContentResponse: core.serialization.ObjectSchema< + serializers.PagesGetContentResponse.Raw, + Webflow.PagesGetContentResponse +> = core.serialization.object({ + pageId: core.serialization.string().optional(), + nodes: core.serialization.list(PagesGetContentResponseNodesItem).optional(), + pagination: PagesGetContentResponsePagination.optional(), +}); + +export declare namespace PagesGetContentResponse { + interface Raw { + pageId?: string | null; + nodes?: PagesGetContentResponseNodesItem.Raw[] | null; + pagination?: PagesGetContentResponsePagination.Raw | null; + } +} diff --git a/src/serialization/resources/pages/types/PagesGetContentResponseNodesItem.ts b/src/serialization/resources/pages/types/PagesGetContentResponseNodesItem.ts new file mode 100644 index 00000000..1121216a --- /dev/null +++ b/src/serialization/resources/pages/types/PagesGetContentResponseNodesItem.ts @@ -0,0 +1,31 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { PagesGetContentResponseNodesItemType } from "./PagesGetContentResponseNodesItemType"; +import { PagesGetContentResponseNodesItemText } from "./PagesGetContentResponseNodesItemText"; +import { PagesGetContentResponseNodesItemImage } from "./PagesGetContentResponseNodesItemImage"; + +export const PagesGetContentResponseNodesItem: core.serialization.ObjectSchema< + serializers.PagesGetContentResponseNodesItem.Raw, + Webflow.PagesGetContentResponseNodesItem +> = core.serialization.object({ + id: core.serialization.string().optional(), + type: PagesGetContentResponseNodesItemType.optional(), + text: PagesGetContentResponseNodesItemText.optional(), + image: PagesGetContentResponseNodesItemImage.optional(), + attributes: core.serialization.record(core.serialization.string(), core.serialization.string()).optional(), +}); + +export declare namespace PagesGetContentResponseNodesItem { + interface Raw { + id?: string | null; + type?: PagesGetContentResponseNodesItemType.Raw | null; + text?: PagesGetContentResponseNodesItemText.Raw | null; + image?: PagesGetContentResponseNodesItemImage.Raw | null; + attributes?: Record | null; + } +} diff --git a/src/serialization/resources/pages/types/PagesGetContentResponseNodesItemImage.ts b/src/serialization/resources/pages/types/PagesGetContentResponseNodesItemImage.ts new file mode 100644 index 00000000..29f6a3bd --- /dev/null +++ b/src/serialization/resources/pages/types/PagesGetContentResponseNodesItemImage.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const PagesGetContentResponseNodesItemImage: core.serialization.ObjectSchema< + serializers.PagesGetContentResponseNodesItemImage.Raw, + Webflow.PagesGetContentResponseNodesItemImage +> = core.serialization.object({ + alt: core.serialization.string().optional(), + assetId: core.serialization.string().optional(), +}); + +export declare namespace PagesGetContentResponseNodesItemImage { + interface Raw { + alt?: string | null; + assetId?: string | null; + } +} diff --git a/src/serialization/resources/pages/types/PagesGetContentResponseNodesItemText.ts b/src/serialization/resources/pages/types/PagesGetContentResponseNodesItemText.ts new file mode 100644 index 00000000..ec088399 --- /dev/null +++ b/src/serialization/resources/pages/types/PagesGetContentResponseNodesItemText.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const PagesGetContentResponseNodesItemText: core.serialization.ObjectSchema< + serializers.PagesGetContentResponseNodesItemText.Raw, + Webflow.PagesGetContentResponseNodesItemText +> = core.serialization.object({ + html: core.serialization.string().optional(), + text: core.serialization.string().optional(), +}); + +export declare namespace PagesGetContentResponseNodesItemText { + interface Raw { + html?: string | null; + text?: string | null; + } +} diff --git a/src/serialization/resources/pages/types/PagesGetContentResponseNodesItemType.ts b/src/serialization/resources/pages/types/PagesGetContentResponseNodesItemType.ts new file mode 100644 index 00000000..a7aba7cd --- /dev/null +++ b/src/serialization/resources/pages/types/PagesGetContentResponseNodesItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const PagesGetContentResponseNodesItemType: core.serialization.Schema< + serializers.PagesGetContentResponseNodesItemType.Raw, + Webflow.PagesGetContentResponseNodesItemType +> = core.serialization.enum_(["text", "image"]); + +export declare namespace PagesGetContentResponseNodesItemType { + type Raw = "text" | "image"; +} diff --git a/src/serialization/resources/pages/types/PagesGetContentResponsePagination.ts b/src/serialization/resources/pages/types/PagesGetContentResponsePagination.ts new file mode 100644 index 00000000..fc1e8b9c --- /dev/null +++ b/src/serialization/resources/pages/types/PagesGetContentResponsePagination.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const PagesGetContentResponsePagination: core.serialization.ObjectSchema< + serializers.PagesGetContentResponsePagination.Raw, + Webflow.PagesGetContentResponsePagination +> = core.serialization.object({ + limit: core.serialization.number().optional(), + offset: core.serialization.number().optional(), + total: core.serialization.number().optional(), +}); + +export declare namespace PagesGetContentResponsePagination { + interface Raw { + limit?: number | null; + offset?: number | null; + total?: number | null; + } +} diff --git a/src/serialization/resources/pages/types/PagesGetMetadataResponse.ts b/src/serialization/resources/pages/types/PagesGetMetadataResponse.ts new file mode 100644 index 00000000..7dc8e821 --- /dev/null +++ b/src/serialization/resources/pages/types/PagesGetMetadataResponse.ts @@ -0,0 +1,54 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { PagesGetMetadataResponseSeo } from "./PagesGetMetadataResponseSeo"; +import { PagesGetMetadataResponseOpenGraph } from "./PagesGetMetadataResponseOpenGraph"; + +export const PagesGetMetadataResponse: core.serialization.ObjectSchema< + serializers.PagesGetMetadataResponse.Raw, + Webflow.PagesGetMetadataResponse +> = core.serialization.object({ + id: core.serialization.string(), + siteId: core.serialization.string().optional(), + title: core.serialization.string().optional(), + slug: core.serialization.string().optional(), + parentId: core.serialization.string().optional(), + collectionId: core.serialization.string().optional(), + createdOn: core.serialization.date().optional(), + lastUpdated: core.serialization.date().optional(), + archived: core.serialization.boolean().optional(), + draft: core.serialization.boolean().optional(), + canBranch: core.serialization.boolean().optional(), + isBranch: core.serialization.boolean().optional(), + isMembersOnly: core.serialization.boolean().optional(), + seo: PagesGetMetadataResponseSeo.optional(), + openGraph: PagesGetMetadataResponseOpenGraph.optional(), + localeId: core.serialization.string().optional(), + publishedPath: core.serialization.string().optional(), +}); + +export declare namespace PagesGetMetadataResponse { + interface Raw { + id: string; + siteId?: string | null; + title?: string | null; + slug?: string | null; + parentId?: string | null; + collectionId?: string | null; + createdOn?: string | null; + lastUpdated?: string | null; + archived?: boolean | null; + draft?: boolean | null; + canBranch?: boolean | null; + isBranch?: boolean | null; + isMembersOnly?: boolean | null; + seo?: PagesGetMetadataResponseSeo.Raw | null; + openGraph?: PagesGetMetadataResponseOpenGraph.Raw | null; + localeId?: string | null; + publishedPath?: string | null; + } +} diff --git a/src/serialization/resources/pages/types/PagesGetMetadataResponseOpenGraph.ts b/src/serialization/resources/pages/types/PagesGetMetadataResponseOpenGraph.ts new file mode 100644 index 00000000..c9f0368e --- /dev/null +++ b/src/serialization/resources/pages/types/PagesGetMetadataResponseOpenGraph.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const PagesGetMetadataResponseOpenGraph: core.serialization.ObjectSchema< + serializers.PagesGetMetadataResponseOpenGraph.Raw, + Webflow.PagesGetMetadataResponseOpenGraph +> = core.serialization.object({ + title: core.serialization.string().optional(), + titleCopied: core.serialization.boolean().optional(), + description: core.serialization.string().optional(), + descriptionCopied: core.serialization.boolean().optional(), +}); + +export declare namespace PagesGetMetadataResponseOpenGraph { + interface Raw { + title?: string | null; + titleCopied?: boolean | null; + description?: string | null; + descriptionCopied?: boolean | null; + } +} diff --git a/src/serialization/resources/pages/types/PagesGetMetadataResponseSeo.ts b/src/serialization/resources/pages/types/PagesGetMetadataResponseSeo.ts new file mode 100644 index 00000000..616d342b --- /dev/null +++ b/src/serialization/resources/pages/types/PagesGetMetadataResponseSeo.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const PagesGetMetadataResponseSeo: core.serialization.ObjectSchema< + serializers.PagesGetMetadataResponseSeo.Raw, + Webflow.PagesGetMetadataResponseSeo +> = core.serialization.object({ + title: core.serialization.string().optional(), + description: core.serialization.string().optional(), +}); + +export declare namespace PagesGetMetadataResponseSeo { + interface Raw { + title?: string | null; + description?: string | null; + } +} diff --git a/src/serialization/resources/pages/types/PagesListResponse.ts b/src/serialization/resources/pages/types/PagesListResponse.ts new file mode 100644 index 00000000..a09200fe --- /dev/null +++ b/src/serialization/resources/pages/types/PagesListResponse.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { PagesListResponsePagesItem } from "./PagesListResponsePagesItem"; +import { PagesListResponsePagination } from "./PagesListResponsePagination"; + +export const PagesListResponse: core.serialization.ObjectSchema< + serializers.PagesListResponse.Raw, + Webflow.PagesListResponse +> = core.serialization.object({ + pages: core.serialization.list(PagesListResponsePagesItem).optional(), + pagination: PagesListResponsePagination.optional(), +}); + +export declare namespace PagesListResponse { + interface Raw { + pages?: PagesListResponsePagesItem.Raw[] | null; + pagination?: PagesListResponsePagination.Raw | null; + } +} diff --git a/src/serialization/resources/pages/types/PagesListResponsePagesItem.ts b/src/serialization/resources/pages/types/PagesListResponsePagesItem.ts new file mode 100644 index 00000000..e29dea7b --- /dev/null +++ b/src/serialization/resources/pages/types/PagesListResponsePagesItem.ts @@ -0,0 +1,54 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { PagesListResponsePagesItemSeo } from "./PagesListResponsePagesItemSeo"; +import { PagesListResponsePagesItemOpenGraph } from "./PagesListResponsePagesItemOpenGraph"; + +export const PagesListResponsePagesItem: core.serialization.ObjectSchema< + serializers.PagesListResponsePagesItem.Raw, + Webflow.PagesListResponsePagesItem +> = core.serialization.object({ + id: core.serialization.string(), + siteId: core.serialization.string().optional(), + title: core.serialization.string().optional(), + slug: core.serialization.string().optional(), + parentId: core.serialization.string().optional(), + collectionId: core.serialization.string().optional(), + createdOn: core.serialization.date().optional(), + lastUpdated: core.serialization.date().optional(), + archived: core.serialization.boolean().optional(), + draft: core.serialization.boolean().optional(), + canBranch: core.serialization.boolean().optional(), + isBranch: core.serialization.boolean().optional(), + isMembersOnly: core.serialization.boolean().optional(), + seo: PagesListResponsePagesItemSeo.optional(), + openGraph: PagesListResponsePagesItemOpenGraph.optional(), + localeId: core.serialization.string().optional(), + publishedPath: core.serialization.string().optional(), +}); + +export declare namespace PagesListResponsePagesItem { + interface Raw { + id: string; + siteId?: string | null; + title?: string | null; + slug?: string | null; + parentId?: string | null; + collectionId?: string | null; + createdOn?: string | null; + lastUpdated?: string | null; + archived?: boolean | null; + draft?: boolean | null; + canBranch?: boolean | null; + isBranch?: boolean | null; + isMembersOnly?: boolean | null; + seo?: PagesListResponsePagesItemSeo.Raw | null; + openGraph?: PagesListResponsePagesItemOpenGraph.Raw | null; + localeId?: string | null; + publishedPath?: string | null; + } +} diff --git a/src/serialization/resources/pages/types/PagesListResponsePagesItemOpenGraph.ts b/src/serialization/resources/pages/types/PagesListResponsePagesItemOpenGraph.ts new file mode 100644 index 00000000..49654440 --- /dev/null +++ b/src/serialization/resources/pages/types/PagesListResponsePagesItemOpenGraph.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const PagesListResponsePagesItemOpenGraph: core.serialization.ObjectSchema< + serializers.PagesListResponsePagesItemOpenGraph.Raw, + Webflow.PagesListResponsePagesItemOpenGraph +> = core.serialization.object({ + title: core.serialization.string().optional(), + titleCopied: core.serialization.boolean().optional(), + description: core.serialization.string().optional(), + descriptionCopied: core.serialization.boolean().optional(), +}); + +export declare namespace PagesListResponsePagesItemOpenGraph { + interface Raw { + title?: string | null; + titleCopied?: boolean | null; + description?: string | null; + descriptionCopied?: boolean | null; + } +} diff --git a/src/serialization/resources/pages/types/PagesListResponsePagesItemSeo.ts b/src/serialization/resources/pages/types/PagesListResponsePagesItemSeo.ts new file mode 100644 index 00000000..21b99c76 --- /dev/null +++ b/src/serialization/resources/pages/types/PagesListResponsePagesItemSeo.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const PagesListResponsePagesItemSeo: core.serialization.ObjectSchema< + serializers.PagesListResponsePagesItemSeo.Raw, + Webflow.PagesListResponsePagesItemSeo +> = core.serialization.object({ + title: core.serialization.string().optional(), + description: core.serialization.string().optional(), +}); + +export declare namespace PagesListResponsePagesItemSeo { + interface Raw { + title?: string | null; + description?: string | null; + } +} diff --git a/src/serialization/resources/pages/types/PagesListResponsePagination.ts b/src/serialization/resources/pages/types/PagesListResponsePagination.ts new file mode 100644 index 00000000..ed41f54c --- /dev/null +++ b/src/serialization/resources/pages/types/PagesListResponsePagination.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const PagesListResponsePagination: core.serialization.ObjectSchema< + serializers.PagesListResponsePagination.Raw, + Webflow.PagesListResponsePagination +> = core.serialization.object({ + limit: core.serialization.number().optional(), + offset: core.serialization.number().optional(), + total: core.serialization.number().optional(), +}); + +export declare namespace PagesListResponsePagination { + interface Raw { + limit?: number | null; + offset?: number | null; + total?: number | null; + } +} diff --git a/src/serialization/resources/pages/types/UpdatePageSettingsRequestOpenGraph.ts b/src/serialization/resources/pages/types/UpdatePageSettingsRequestOpenGraph.ts new file mode 100644 index 00000000..85aeed08 --- /dev/null +++ b/src/serialization/resources/pages/types/UpdatePageSettingsRequestOpenGraph.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const UpdatePageSettingsRequestOpenGraph: core.serialization.ObjectSchema< + serializers.UpdatePageSettingsRequestOpenGraph.Raw, + Webflow.UpdatePageSettingsRequestOpenGraph +> = core.serialization.object({ + title: core.serialization.string().optional(), + description: core.serialization.string().optional(), +}); + +export declare namespace UpdatePageSettingsRequestOpenGraph { + interface Raw { + title?: string | null; + description?: string | null; + } +} diff --git a/src/serialization/resources/pages/types/UpdatePageSettingsRequestSeo.ts b/src/serialization/resources/pages/types/UpdatePageSettingsRequestSeo.ts new file mode 100644 index 00000000..75e3e692 --- /dev/null +++ b/src/serialization/resources/pages/types/UpdatePageSettingsRequestSeo.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const UpdatePageSettingsRequestSeo: core.serialization.ObjectSchema< + serializers.UpdatePageSettingsRequestSeo.Raw, + Webflow.UpdatePageSettingsRequestSeo +> = core.serialization.object({ + title: core.serialization.string().optional(), + description: core.serialization.string().optional(), +}); + +export declare namespace UpdatePageSettingsRequestSeo { + interface Raw { + title?: string | null; + description?: string | null; + } +} diff --git a/src/serialization/resources/pages/types/UpdatePageSettingsResponse.ts b/src/serialization/resources/pages/types/UpdatePageSettingsResponse.ts new file mode 100644 index 00000000..8a450d38 --- /dev/null +++ b/src/serialization/resources/pages/types/UpdatePageSettingsResponse.ts @@ -0,0 +1,54 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { UpdatePageSettingsResponseSeo } from "./UpdatePageSettingsResponseSeo"; +import { UpdatePageSettingsResponseOpenGraph } from "./UpdatePageSettingsResponseOpenGraph"; + +export const UpdatePageSettingsResponse: core.serialization.ObjectSchema< + serializers.UpdatePageSettingsResponse.Raw, + Webflow.UpdatePageSettingsResponse +> = core.serialization.object({ + id: core.serialization.string(), + siteId: core.serialization.string().optional(), + title: core.serialization.string().optional(), + slug: core.serialization.string().optional(), + parentId: core.serialization.string().optional(), + collectionId: core.serialization.string().optional(), + createdOn: core.serialization.date().optional(), + lastUpdated: core.serialization.date().optional(), + archived: core.serialization.boolean().optional(), + draft: core.serialization.boolean().optional(), + canBranch: core.serialization.boolean().optional(), + isBranch: core.serialization.boolean().optional(), + isMembersOnly: core.serialization.boolean().optional(), + seo: UpdatePageSettingsResponseSeo.optional(), + openGraph: UpdatePageSettingsResponseOpenGraph.optional(), + localeId: core.serialization.string().optional(), + publishedPath: core.serialization.string().optional(), +}); + +export declare namespace UpdatePageSettingsResponse { + interface Raw { + id: string; + siteId?: string | null; + title?: string | null; + slug?: string | null; + parentId?: string | null; + collectionId?: string | null; + createdOn?: string | null; + lastUpdated?: string | null; + archived?: boolean | null; + draft?: boolean | null; + canBranch?: boolean | null; + isBranch?: boolean | null; + isMembersOnly?: boolean | null; + seo?: UpdatePageSettingsResponseSeo.Raw | null; + openGraph?: UpdatePageSettingsResponseOpenGraph.Raw | null; + localeId?: string | null; + publishedPath?: string | null; + } +} diff --git a/src/serialization/resources/pages/types/UpdatePageSettingsResponseOpenGraph.ts b/src/serialization/resources/pages/types/UpdatePageSettingsResponseOpenGraph.ts new file mode 100644 index 00000000..b1412aee --- /dev/null +++ b/src/serialization/resources/pages/types/UpdatePageSettingsResponseOpenGraph.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const UpdatePageSettingsResponseOpenGraph: core.serialization.ObjectSchema< + serializers.UpdatePageSettingsResponseOpenGraph.Raw, + Webflow.UpdatePageSettingsResponseOpenGraph +> = core.serialization.object({ + title: core.serialization.string().optional(), + titleCopied: core.serialization.boolean().optional(), + description: core.serialization.string().optional(), + descriptionCopied: core.serialization.boolean().optional(), +}); + +export declare namespace UpdatePageSettingsResponseOpenGraph { + interface Raw { + title?: string | null; + titleCopied?: boolean | null; + description?: string | null; + descriptionCopied?: boolean | null; + } +} diff --git a/src/serialization/resources/pages/types/UpdatePageSettingsResponseSeo.ts b/src/serialization/resources/pages/types/UpdatePageSettingsResponseSeo.ts new file mode 100644 index 00000000..83fb278d --- /dev/null +++ b/src/serialization/resources/pages/types/UpdatePageSettingsResponseSeo.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const UpdatePageSettingsResponseSeo: core.serialization.ObjectSchema< + serializers.UpdatePageSettingsResponseSeo.Raw, + Webflow.UpdatePageSettingsResponseSeo +> = core.serialization.object({ + title: core.serialization.string().optional(), + description: core.serialization.string().optional(), +}); + +export declare namespace UpdatePageSettingsResponseSeo { + interface Raw { + title?: string | null; + description?: string | null; + } +} diff --git a/src/serialization/resources/pages/types/UpdateStaticContentRequestNodesItem.ts b/src/serialization/resources/pages/types/UpdateStaticContentRequestNodesItem.ts new file mode 100644 index 00000000..de2f46b3 --- /dev/null +++ b/src/serialization/resources/pages/types/UpdateStaticContentRequestNodesItem.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const UpdateStaticContentRequestNodesItem: core.serialization.ObjectSchema< + serializers.UpdateStaticContentRequestNodesItem.Raw, + Webflow.UpdateStaticContentRequestNodesItem +> = core.serialization.object({ + nodeId: core.serialization.string(), + text: core.serialization.string(), +}); + +export declare namespace UpdateStaticContentRequestNodesItem { + interface Raw { + nodeId: string; + text: string; + } +} diff --git a/src/serialization/resources/pages/types/index.ts b/src/serialization/resources/pages/types/index.ts index 943c3715..0d52ffb6 100644 --- a/src/serialization/resources/pages/types/index.ts +++ b/src/serialization/resources/pages/types/index.ts @@ -1,2 +1,27 @@ -export * from "./DomWriteNodesItem"; +export * from "./PagesListResponsePagesItemSeo"; +export * from "./PagesListResponsePagesItemOpenGraph"; +export * from "./PagesListResponsePagesItem"; +export * from "./PagesListResponsePagination"; +export * from "./PagesListResponse"; +export * from "./PagesGetMetadataResponseSeo"; +export * from "./PagesGetMetadataResponseOpenGraph"; +export * from "./PagesGetMetadataResponse"; +export * from "./UpdatePageSettingsRequestSeo"; +export * from "./UpdatePageSettingsRequestOpenGraph"; +export * from "./UpdatePageSettingsResponseSeo"; +export * from "./UpdatePageSettingsResponseOpenGraph"; +export * from "./UpdatePageSettingsResponse"; +export * from "./PagesGetContentResponseNodesItemType"; +export * from "./PagesGetContentResponseNodesItemText"; +export * from "./PagesGetContentResponseNodesItemImage"; +export * from "./PagesGetContentResponseNodesItem"; +export * from "./PagesGetContentResponsePagination"; +export * from "./PagesGetContentResponse"; +export * from "./UpdateStaticContentRequestNodesItem"; export * from "./UpdateStaticContentResponse"; +export * from "./PageCreatedPayloadPayload"; +export * from "./PageCreatedPayload"; +export * from "./PageMetadataUpdatedPayloadPayload"; +export * from "./PageMetadataUpdatedPayload"; +export * from "./PageDeletedPayloadPayload"; +export * from "./PageDeletedPayload"; diff --git a/src/serialization/resources/products/client/requests/ProductSkuCreate.ts b/src/serialization/resources/products/client/requests/ProductSkuCreate.ts deleted file mode 100644 index 48fee055..00000000 --- a/src/serialization/resources/products/client/requests/ProductSkuCreate.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../../../../index"; -import * as Webflow from "../../../../../api/index"; -import * as core from "../../../../../core"; -import { PublishStatus } from "../../../../types/PublishStatus"; -import { Product } from "../../../../types/Product"; -import { Sku } from "../../../../types/Sku"; - -export const ProductSkuCreate: core.serialization.Schema = - core.serialization.object({ - publishStatus: PublishStatus.optional(), - product: Product.optional(), - sku: Sku.optional(), - }); - -export declare namespace ProductSkuCreate { - interface Raw { - publishStatus?: PublishStatus.Raw | null; - product?: Product.Raw | null; - sku?: Sku.Raw | null; - } -} diff --git a/src/serialization/resources/products/client/requests/ProductSkuUpdate.ts b/src/serialization/resources/products/client/requests/ProductSkuUpdate.ts deleted file mode 100644 index 31b327bc..00000000 --- a/src/serialization/resources/products/client/requests/ProductSkuUpdate.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../../../../index"; -import * as Webflow from "../../../../../api/index"; -import * as core from "../../../../../core"; -import { PublishStatus } from "../../../../types/PublishStatus"; -import { Product } from "../../../../types/Product"; -import { Sku } from "../../../../types/Sku"; - -export const ProductSkuUpdate: core.serialization.Schema = - core.serialization.object({ - publishStatus: PublishStatus.optional(), - product: Product.optional(), - sku: Sku.optional(), - }); - -export declare namespace ProductSkuUpdate { - interface Raw { - publishStatus?: PublishStatus.Raw | null; - product?: Product.Raw | null; - sku?: Sku.Raw | null; - } -} diff --git a/src/serialization/resources/products/client/requests/ProductsCreateRequest.ts b/src/serialization/resources/products/client/requests/ProductsCreateRequest.ts new file mode 100644 index 00000000..b5c9ed5a --- /dev/null +++ b/src/serialization/resources/products/client/requests/ProductsCreateRequest.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../index"; +import * as Webflow from "../../../../../api/index"; +import * as core from "../../../../../core"; +import { ProductsCreateRequestPublishStatus } from "../../types/ProductsCreateRequestPublishStatus"; +import { ProductsCreateRequestProduct } from "../../types/ProductsCreateRequestProduct"; +import { ProductsCreateRequestSku } from "../../types/ProductsCreateRequestSku"; + +export const ProductsCreateRequest: core.serialization.Schema< + serializers.ProductsCreateRequest.Raw, + Webflow.ProductsCreateRequest +> = core.serialization.object({ + publishStatus: ProductsCreateRequestPublishStatus.optional(), + product: ProductsCreateRequestProduct.optional(), + sku: ProductsCreateRequestSku.optional(), +}); + +export declare namespace ProductsCreateRequest { + interface Raw { + publishStatus?: ProductsCreateRequestPublishStatus.Raw | null; + product?: ProductsCreateRequestProduct.Raw | null; + sku?: ProductsCreateRequestSku.Raw | null; + } +} diff --git a/src/serialization/resources/products/client/requests/ProductsCreateSkuRequest.ts b/src/serialization/resources/products/client/requests/ProductsCreateSkuRequest.ts index ddcb2fb1..5565d9b2 100644 --- a/src/serialization/resources/products/client/requests/ProductsCreateSkuRequest.ts +++ b/src/serialization/resources/products/client/requests/ProductsCreateSkuRequest.ts @@ -5,20 +5,20 @@ import * as serializers from "../../../../index"; import * as Webflow from "../../../../../api/index"; import * as core from "../../../../../core"; -import { PublishStatus } from "../../../../types/PublishStatus"; -import { Sku } from "../../../../types/Sku"; +import { ProductsCreateSkuRequestPublishStatus } from "../../types/ProductsCreateSkuRequestPublishStatus"; +import { ProductsCreateSkuRequestSkusItem } from "../../types/ProductsCreateSkuRequestSkusItem"; export const ProductsCreateSkuRequest: core.serialization.Schema< serializers.ProductsCreateSkuRequest.Raw, Webflow.ProductsCreateSkuRequest > = core.serialization.object({ - publishStatus: PublishStatus.optional(), - skus: core.serialization.list(Sku), + publishStatus: ProductsCreateSkuRequestPublishStatus.optional(), + skus: core.serialization.list(ProductsCreateSkuRequestSkusItem), }); export declare namespace ProductsCreateSkuRequest { interface Raw { - publishStatus?: PublishStatus.Raw | null; - skus: Sku.Raw[]; + publishStatus?: ProductsCreateSkuRequestPublishStatus.Raw | null; + skus: ProductsCreateSkuRequestSkusItem.Raw[]; } } diff --git a/src/serialization/resources/products/client/requests/ProductsUpdateRequest.ts b/src/serialization/resources/products/client/requests/ProductsUpdateRequest.ts new file mode 100644 index 00000000..33b9ae34 --- /dev/null +++ b/src/serialization/resources/products/client/requests/ProductsUpdateRequest.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../index"; +import * as Webflow from "../../../../../api/index"; +import * as core from "../../../../../core"; +import { ProductsUpdateRequestPublishStatus } from "../../types/ProductsUpdateRequestPublishStatus"; +import { ProductsUpdateRequestProduct } from "../../types/ProductsUpdateRequestProduct"; +import { ProductsUpdateRequestSku } from "../../types/ProductsUpdateRequestSku"; + +export const ProductsUpdateRequest: core.serialization.Schema< + serializers.ProductsUpdateRequest.Raw, + Webflow.ProductsUpdateRequest +> = core.serialization.object({ + publishStatus: ProductsUpdateRequestPublishStatus.optional(), + product: ProductsUpdateRequestProduct.optional(), + sku: ProductsUpdateRequestSku.optional(), +}); + +export declare namespace ProductsUpdateRequest { + interface Raw { + publishStatus?: ProductsUpdateRequestPublishStatus.Raw | null; + product?: ProductsUpdateRequestProduct.Raw | null; + sku?: ProductsUpdateRequestSku.Raw | null; + } +} diff --git a/src/serialization/resources/products/client/requests/ProductsUpdateSkuRequest.ts b/src/serialization/resources/products/client/requests/ProductsUpdateSkuRequest.ts index 8273bef6..59eaa9de 100644 --- a/src/serialization/resources/products/client/requests/ProductsUpdateSkuRequest.ts +++ b/src/serialization/resources/products/client/requests/ProductsUpdateSkuRequest.ts @@ -5,20 +5,20 @@ import * as serializers from "../../../../index"; import * as Webflow from "../../../../../api/index"; import * as core from "../../../../../core"; -import { PublishStatus } from "../../../../types/PublishStatus"; -import { Sku } from "../../../../types/Sku"; +import { ProductsUpdateSkuRequestPublishStatus } from "../../types/ProductsUpdateSkuRequestPublishStatus"; +import { ProductsUpdateSkuRequestSku } from "../../types/ProductsUpdateSkuRequestSku"; export const ProductsUpdateSkuRequest: core.serialization.Schema< serializers.ProductsUpdateSkuRequest.Raw, Webflow.ProductsUpdateSkuRequest > = core.serialization.object({ - publishStatus: PublishStatus.optional(), - sku: Sku, + publishStatus: ProductsUpdateSkuRequestPublishStatus.optional(), + sku: ProductsUpdateSkuRequestSku, }); export declare namespace ProductsUpdateSkuRequest { interface Raw { - publishStatus?: PublishStatus.Raw | null; - sku: Sku.Raw; + publishStatus?: ProductsUpdateSkuRequestPublishStatus.Raw | null; + sku: ProductsUpdateSkuRequestSku.Raw; } } diff --git a/src/serialization/resources/products/client/requests/index.ts b/src/serialization/resources/products/client/requests/index.ts index 3e0b7625..190942ae 100644 --- a/src/serialization/resources/products/client/requests/index.ts +++ b/src/serialization/resources/products/client/requests/index.ts @@ -1,4 +1,4 @@ -export { ProductSkuCreate } from "./ProductSkuCreate"; -export { ProductSkuUpdate } from "./ProductSkuUpdate"; +export { ProductsCreateRequest } from "./ProductsCreateRequest"; +export { ProductsUpdateRequest } from "./ProductsUpdateRequest"; export { ProductsCreateSkuRequest } from "./ProductsCreateSkuRequest"; export { ProductsUpdateSkuRequest } from "./ProductsUpdateSkuRequest"; diff --git a/src/serialization/resources/products/types/ProductsCreateRequestProduct.ts b/src/serialization/resources/products/types/ProductsCreateRequestProduct.ts new file mode 100644 index 00000000..a8bc6cd4 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateRequestProduct.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsCreateRequestProductFieldData } from "./ProductsCreateRequestProductFieldData"; + +export const ProductsCreateRequestProduct: core.serialization.ObjectSchema< + serializers.ProductsCreateRequestProduct.Raw, + Webflow.ProductsCreateRequestProduct +> = core.serialization.object({ + fieldData: ProductsCreateRequestProductFieldData.optional(), +}); + +export declare namespace ProductsCreateRequestProduct { + interface Raw { + fieldData?: ProductsCreateRequestProductFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsCreateRequestProductFieldData.ts b/src/serialization/resources/products/types/ProductsCreateRequestProductFieldData.ts new file mode 100644 index 00000000..12aed72f --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateRequestProductFieldData.ts @@ -0,0 +1,48 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsCreateRequestProductFieldDataSkuPropertiesItem } from "./ProductsCreateRequestProductFieldDataSkuPropertiesItem"; +import { ProductsCreateRequestProductFieldDataTaxCategory } from "./ProductsCreateRequestProductFieldDataTaxCategory"; +import { ProductsCreateRequestProductFieldDataEcProductType } from "./ProductsCreateRequestProductFieldDataEcProductType"; + +export const ProductsCreateRequestProductFieldData: core.serialization.ObjectSchema< + serializers.ProductsCreateRequestProductFieldData.Raw, + Webflow.ProductsCreateRequestProductFieldData +> = core.serialization.object({ + name: core.serialization.string().optional(), + slug: core.serialization.string().optional(), + description: core.serialization.string().optional(), + shippable: core.serialization.boolean().optional(), + skuProperties: core.serialization.property( + "sku-properties", + core.serialization.list(ProductsCreateRequestProductFieldDataSkuPropertiesItem).optional() + ), + categories: core.serialization.list(core.serialization.string()).optional(), + taxCategory: core.serialization.property( + "tax-category", + ProductsCreateRequestProductFieldDataTaxCategory.optional() + ), + defaultSku: core.serialization.property("default-sku", core.serialization.string().optional()), + ecProductType: core.serialization.property( + "ec-product-type", + ProductsCreateRequestProductFieldDataEcProductType.optional() + ), +}); + +export declare namespace ProductsCreateRequestProductFieldData { + interface Raw { + name?: string | null; + slug?: string | null; + description?: string | null; + shippable?: boolean | null; + "sku-properties"?: ProductsCreateRequestProductFieldDataSkuPropertiesItem.Raw[] | null; + categories?: string[] | null; + "tax-category"?: ProductsCreateRequestProductFieldDataTaxCategory.Raw | null; + "default-sku"?: string | null; + "ec-product-type"?: ProductsCreateRequestProductFieldDataEcProductType.Raw | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsCreateRequestProductFieldDataEcProductType.ts b/src/serialization/resources/products/types/ProductsCreateRequestProductFieldDataEcProductType.ts new file mode 100644 index 00000000..dc203dd7 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateRequestProductFieldDataEcProductType.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsCreateRequestProductFieldDataEcProductType: core.serialization.Schema< + serializers.ProductsCreateRequestProductFieldDataEcProductType.Raw, + Webflow.ProductsCreateRequestProductFieldDataEcProductType +> = core.serialization.enum_([ + "ff42fee0113744f693a764e3431a9cc2", + "f22027db68002190aef89a4a2b7ac8a1", + "c599e43b1a1c34d5a323aedf75d3adf6", + "b6ccc1830db4b1babeb06a9ac5f6dd76", +]); + +export declare namespace ProductsCreateRequestProductFieldDataEcProductType { + type Raw = + | "ff42fee0113744f693a764e3431a9cc2" + | "f22027db68002190aef89a4a2b7ac8a1" + | "c599e43b1a1c34d5a323aedf75d3adf6" + | "b6ccc1830db4b1babeb06a9ac5f6dd76"; +} diff --git a/src/serialization/resources/products/types/ProductsCreateRequestProductFieldDataSkuPropertiesItem.ts b/src/serialization/resources/products/types/ProductsCreateRequestProductFieldDataSkuPropertiesItem.ts new file mode 100644 index 00000000..c76f31e6 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateRequestProductFieldDataSkuPropertiesItem.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsCreateRequestProductFieldDataSkuPropertiesItemEnumItem } from "./ProductsCreateRequestProductFieldDataSkuPropertiesItemEnumItem"; + +export const ProductsCreateRequestProductFieldDataSkuPropertiesItem: core.serialization.ObjectSchema< + serializers.ProductsCreateRequestProductFieldDataSkuPropertiesItem.Raw, + Webflow.ProductsCreateRequestProductFieldDataSkuPropertiesItem +> = core.serialization.object({ + id: core.serialization.string(), + name: core.serialization.string(), + enum: core.serialization.list(ProductsCreateRequestProductFieldDataSkuPropertiesItemEnumItem), +}); + +export declare namespace ProductsCreateRequestProductFieldDataSkuPropertiesItem { + interface Raw { + id: string; + name: string; + enum: ProductsCreateRequestProductFieldDataSkuPropertiesItemEnumItem.Raw[]; + } +} diff --git a/src/serialization/resources/products/types/ProductsCreateRequestProductFieldDataSkuPropertiesItemEnumItem.ts b/src/serialization/resources/products/types/ProductsCreateRequestProductFieldDataSkuPropertiesItemEnumItem.ts new file mode 100644 index 00000000..6acbbe1d --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateRequestProductFieldDataSkuPropertiesItemEnumItem.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsCreateRequestProductFieldDataSkuPropertiesItemEnumItem: core.serialization.ObjectSchema< + serializers.ProductsCreateRequestProductFieldDataSkuPropertiesItemEnumItem.Raw, + Webflow.ProductsCreateRequestProductFieldDataSkuPropertiesItemEnumItem +> = core.serialization.object({ + id: core.serialization.string(), + name: core.serialization.string(), + slug: core.serialization.string(), +}); + +export declare namespace ProductsCreateRequestProductFieldDataSkuPropertiesItemEnumItem { + interface Raw { + id: string; + name: string; + slug: string; + } +} diff --git a/src/serialization/resources/products/types/ProductsCreateRequestProductFieldDataTaxCategory.ts b/src/serialization/resources/products/types/ProductsCreateRequestProductFieldDataTaxCategory.ts new file mode 100644 index 00000000..4e4d756e --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateRequestProductFieldDataTaxCategory.ts @@ -0,0 +1,75 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsCreateRequestProductFieldDataTaxCategory: core.serialization.Schema< + serializers.ProductsCreateRequestProductFieldDataTaxCategory.Raw, + Webflow.ProductsCreateRequestProductFieldDataTaxCategory +> = core.serialization.enum_([ + "standard-taxable", + "standard-exempt", + "books-religious", + "books-textbook", + "clothing", + "clothing-swimwear", + "digital-goods", + "digital-service", + "drugs-non-prescription", + "drugs-prescription", + "food-bottled-water", + "food-candy", + "food-groceries", + "food-prepared", + "food-soda", + "food-supplements", + "magazine-individual", + "magazine-subscription", + "service-admission", + "service-advertising", + "service-dry-cleaning", + "service-hairdressing", + "service-installation", + "service-miscellaneous", + "service-parking", + "service-printing", + "service-professional", + "service-repair", + "service-training", +]); + +export declare namespace ProductsCreateRequestProductFieldDataTaxCategory { + type Raw = + | "standard-taxable" + | "standard-exempt" + | "books-religious" + | "books-textbook" + | "clothing" + | "clothing-swimwear" + | "digital-goods" + | "digital-service" + | "drugs-non-prescription" + | "drugs-prescription" + | "food-bottled-water" + | "food-candy" + | "food-groceries" + | "food-prepared" + | "food-soda" + | "food-supplements" + | "magazine-individual" + | "magazine-subscription" + | "service-admission" + | "service-advertising" + | "service-dry-cleaning" + | "service-hairdressing" + | "service-installation" + | "service-miscellaneous" + | "service-parking" + | "service-printing" + | "service-professional" + | "service-repair" + | "service-training"; +} diff --git a/src/serialization/resources/products/types/ProductsCreateRequestPublishStatus.ts b/src/serialization/resources/products/types/ProductsCreateRequestPublishStatus.ts new file mode 100644 index 00000000..cccf076f --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateRequestPublishStatus.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsCreateRequestPublishStatus: core.serialization.Schema< + serializers.ProductsCreateRequestPublishStatus.Raw, + Webflow.ProductsCreateRequestPublishStatus +> = core.serialization.enum_(["staging", "live"]); + +export declare namespace ProductsCreateRequestPublishStatus { + type Raw = "staging" | "live"; +} diff --git a/src/serialization/resources/products/types/ProductsCreateRequestSku.ts b/src/serialization/resources/products/types/ProductsCreateRequestSku.ts new file mode 100644 index 00000000..76f94dff --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateRequestSku.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsCreateRequestSkuFieldData } from "./ProductsCreateRequestSkuFieldData"; + +export const ProductsCreateRequestSku: core.serialization.ObjectSchema< + serializers.ProductsCreateRequestSku.Raw, + Webflow.ProductsCreateRequestSku +> = core.serialization.object({ + fieldData: ProductsCreateRequestSkuFieldData.optional(), +}); + +export declare namespace ProductsCreateRequestSku { + interface Raw { + fieldData?: ProductsCreateRequestSkuFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsCreateRequestSkuFieldData.ts b/src/serialization/resources/products/types/ProductsCreateRequestSkuFieldData.ts new file mode 100644 index 00000000..44bb8665 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateRequestSkuFieldData.ts @@ -0,0 +1,52 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsCreateRequestSkuFieldDataPrice } from "./ProductsCreateRequestSkuFieldDataPrice"; +import { ProductsCreateRequestSkuFieldDataCompareAtPrice } from "./ProductsCreateRequestSkuFieldDataCompareAtPrice"; +import { ProductsCreateRequestSkuFieldDataEcSkuBillingMethod } from "./ProductsCreateRequestSkuFieldDataEcSkuBillingMethod"; +import { ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlan } from "./ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlan"; + +export const ProductsCreateRequestSkuFieldData: core.serialization.ObjectSchema< + serializers.ProductsCreateRequestSkuFieldData.Raw, + Webflow.ProductsCreateRequestSkuFieldData +> = core.serialization.object({ + skuValues: core.serialization.property( + "sku-values", + core.serialization.record(core.serialization.string(), core.serialization.string()).optional() + ), + name: core.serialization.string(), + slug: core.serialization.string(), + price: ProductsCreateRequestSkuFieldDataPrice, + compareAtPrice: core.serialization.property( + "compare-at-price", + ProductsCreateRequestSkuFieldDataCompareAtPrice.optional() + ), + ecSkuBillingMethod: core.serialization.property( + "ec-sku-billing-method", + ProductsCreateRequestSkuFieldDataEcSkuBillingMethod.optional() + ), + ecSkuSubscriptionPlan: core.serialization.property( + "ec-sku-subscription-plan", + ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlan.optional() + ), + trackInventory: core.serialization.property("track-inventory", core.serialization.boolean().optional()), + quantity: core.serialization.number().optional(), +}); + +export declare namespace ProductsCreateRequestSkuFieldData { + interface Raw { + "sku-values"?: Record | null; + name: string; + slug: string; + price: ProductsCreateRequestSkuFieldDataPrice.Raw; + "compare-at-price"?: ProductsCreateRequestSkuFieldDataCompareAtPrice.Raw | null; + "ec-sku-billing-method"?: ProductsCreateRequestSkuFieldDataEcSkuBillingMethod.Raw | null; + "ec-sku-subscription-plan"?: ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlan.Raw | null; + "track-inventory"?: boolean | null; + quantity?: number | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsCreateRequestSkuFieldDataCompareAtPrice.ts b/src/serialization/resources/products/types/ProductsCreateRequestSkuFieldDataCompareAtPrice.ts new file mode 100644 index 00000000..fa8ddab8 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateRequestSkuFieldDataCompareAtPrice.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsCreateRequestSkuFieldDataCompareAtPrice: core.serialization.ObjectSchema< + serializers.ProductsCreateRequestSkuFieldDataCompareAtPrice.Raw, + Webflow.ProductsCreateRequestSkuFieldDataCompareAtPrice +> = core.serialization.object({ + value: core.serialization.number().optional(), + unit: core.serialization.string().optional(), +}); + +export declare namespace ProductsCreateRequestSkuFieldDataCompareAtPrice { + interface Raw { + value?: number | null; + unit?: string | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsCreateRequestSkuFieldDataEcSkuBillingMethod.ts b/src/serialization/resources/products/types/ProductsCreateRequestSkuFieldDataEcSkuBillingMethod.ts new file mode 100644 index 00000000..4ed41df3 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateRequestSkuFieldDataEcSkuBillingMethod.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsCreateRequestSkuFieldDataEcSkuBillingMethod: core.serialization.Schema< + serializers.ProductsCreateRequestSkuFieldDataEcSkuBillingMethod.Raw, + Webflow.ProductsCreateRequestSkuFieldDataEcSkuBillingMethod +> = core.serialization.enum_(["one-time", "subscription"]); + +export declare namespace ProductsCreateRequestSkuFieldDataEcSkuBillingMethod { + type Raw = "one-time" | "subscription"; +} diff --git a/src/serialization/resources/products/types/ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlan.ts b/src/serialization/resources/products/types/ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlan.ts new file mode 100644 index 00000000..11399d37 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlan.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlanInterval } from "./ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlanInterval"; + +export const ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlan: core.serialization.ObjectSchema< + serializers.ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlan.Raw, + Webflow.ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlan +> = core.serialization.object({ + interval: ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlanInterval.optional(), + frequency: core.serialization.number().optional(), + trial: core.serialization.number().optional(), +}); + +export declare namespace ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlan { + interface Raw { + interval?: ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlanInterval.Raw | null; + frequency?: number | null; + trial?: number | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlanInterval.ts b/src/serialization/resources/products/types/ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlanInterval.ts new file mode 100644 index 00000000..f20638db --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlanInterval.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlanInterval: core.serialization.Schema< + serializers.ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlanInterval.Raw, + Webflow.ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlanInterval +> = core.serialization.enum_(["day", "week", "month", "year"]); + +export declare namespace ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlanInterval { + type Raw = "day" | "week" | "month" | "year"; +} diff --git a/src/serialization/resources/products/types/ProductsCreateRequestSkuFieldDataPrice.ts b/src/serialization/resources/products/types/ProductsCreateRequestSkuFieldDataPrice.ts new file mode 100644 index 00000000..2c288e6b --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateRequestSkuFieldDataPrice.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsCreateRequestSkuFieldDataPrice: core.serialization.ObjectSchema< + serializers.ProductsCreateRequestSkuFieldDataPrice.Raw, + Webflow.ProductsCreateRequestSkuFieldDataPrice +> = core.serialization.object({ + value: core.serialization.number().optional(), + unit: core.serialization.string().optional(), +}); + +export declare namespace ProductsCreateRequestSkuFieldDataPrice { + interface Raw { + value?: number | null; + unit?: string | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsCreateResponse.ts b/src/serialization/resources/products/types/ProductsCreateResponse.ts new file mode 100644 index 00000000..fa070b3a --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateResponse.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsCreateResponseProduct } from "./ProductsCreateResponseProduct"; +import { ProductsCreateResponseSkusItem } from "./ProductsCreateResponseSkusItem"; + +export const ProductsCreateResponse: core.serialization.ObjectSchema< + serializers.ProductsCreateResponse.Raw, + Webflow.ProductsCreateResponse +> = core.serialization.object({ + product: ProductsCreateResponseProduct.optional(), + skus: core.serialization.list(ProductsCreateResponseSkusItem).optional(), +}); + +export declare namespace ProductsCreateResponse { + interface Raw { + product?: ProductsCreateResponseProduct.Raw | null; + skus?: ProductsCreateResponseSkusItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsCreateResponseProduct.ts b/src/serialization/resources/products/types/ProductsCreateResponseProduct.ts new file mode 100644 index 00000000..aca982ab --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateResponseProduct.ts @@ -0,0 +1,35 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsCreateResponseProductFieldData } from "./ProductsCreateResponseProductFieldData"; + +export const ProductsCreateResponseProduct: core.serialization.ObjectSchema< + serializers.ProductsCreateResponseProduct.Raw, + Webflow.ProductsCreateResponseProduct +> = core.serialization.object({ + id: core.serialization.string().optional(), + cmsLocaleId: core.serialization.string().optional(), + lastPublished: core.serialization.date().optional(), + lastUpdated: core.serialization.date().optional(), + createdOn: core.serialization.date().optional(), + isArchived: core.serialization.boolean().optional(), + isDraft: core.serialization.boolean().optional(), + fieldData: ProductsCreateResponseProductFieldData.optional(), +}); + +export declare namespace ProductsCreateResponseProduct { + interface Raw { + id?: string | null; + cmsLocaleId?: string | null; + lastPublished?: string | null; + lastUpdated?: string | null; + createdOn?: string | null; + isArchived?: boolean | null; + isDraft?: boolean | null; + fieldData?: ProductsCreateResponseProductFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsCreateResponseProductFieldData.ts b/src/serialization/resources/products/types/ProductsCreateResponseProductFieldData.ts new file mode 100644 index 00000000..2cfb0cab --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateResponseProductFieldData.ts @@ -0,0 +1,48 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsCreateResponseProductFieldDataSkuPropertiesItem } from "./ProductsCreateResponseProductFieldDataSkuPropertiesItem"; +import { ProductsCreateResponseProductFieldDataTaxCategory } from "./ProductsCreateResponseProductFieldDataTaxCategory"; +import { ProductsCreateResponseProductFieldDataEcProductType } from "./ProductsCreateResponseProductFieldDataEcProductType"; + +export const ProductsCreateResponseProductFieldData: core.serialization.ObjectSchema< + serializers.ProductsCreateResponseProductFieldData.Raw, + Webflow.ProductsCreateResponseProductFieldData +> = core.serialization.object({ + name: core.serialization.string().optional(), + slug: core.serialization.string().optional(), + description: core.serialization.string().optional(), + shippable: core.serialization.boolean().optional(), + skuProperties: core.serialization.property( + "sku-properties", + core.serialization.list(ProductsCreateResponseProductFieldDataSkuPropertiesItem).optional() + ), + categories: core.serialization.list(core.serialization.string()).optional(), + taxCategory: core.serialization.property( + "tax-category", + ProductsCreateResponseProductFieldDataTaxCategory.optional() + ), + defaultSku: core.serialization.property("default-sku", core.serialization.string().optional()), + ecProductType: core.serialization.property( + "ec-product-type", + ProductsCreateResponseProductFieldDataEcProductType.optional() + ), +}); + +export declare namespace ProductsCreateResponseProductFieldData { + interface Raw { + name?: string | null; + slug?: string | null; + description?: string | null; + shippable?: boolean | null; + "sku-properties"?: ProductsCreateResponseProductFieldDataSkuPropertiesItem.Raw[] | null; + categories?: string[] | null; + "tax-category"?: ProductsCreateResponseProductFieldDataTaxCategory.Raw | null; + "default-sku"?: string | null; + "ec-product-type"?: ProductsCreateResponseProductFieldDataEcProductType.Raw | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsCreateResponseProductFieldDataEcProductType.ts b/src/serialization/resources/products/types/ProductsCreateResponseProductFieldDataEcProductType.ts new file mode 100644 index 00000000..c6d89aff --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateResponseProductFieldDataEcProductType.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsCreateResponseProductFieldDataEcProductType: core.serialization.Schema< + serializers.ProductsCreateResponseProductFieldDataEcProductType.Raw, + Webflow.ProductsCreateResponseProductFieldDataEcProductType +> = core.serialization.enum_([ + "ff42fee0113744f693a764e3431a9cc2", + "f22027db68002190aef89a4a2b7ac8a1", + "c599e43b1a1c34d5a323aedf75d3adf6", + "b6ccc1830db4b1babeb06a9ac5f6dd76", +]); + +export declare namespace ProductsCreateResponseProductFieldDataEcProductType { + type Raw = + | "ff42fee0113744f693a764e3431a9cc2" + | "f22027db68002190aef89a4a2b7ac8a1" + | "c599e43b1a1c34d5a323aedf75d3adf6" + | "b6ccc1830db4b1babeb06a9ac5f6dd76"; +} diff --git a/src/serialization/resources/products/types/ProductsCreateResponseProductFieldDataSkuPropertiesItem.ts b/src/serialization/resources/products/types/ProductsCreateResponseProductFieldDataSkuPropertiesItem.ts new file mode 100644 index 00000000..7ff39fdb --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateResponseProductFieldDataSkuPropertiesItem.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsCreateResponseProductFieldDataSkuPropertiesItemEnumItem } from "./ProductsCreateResponseProductFieldDataSkuPropertiesItemEnumItem"; + +export const ProductsCreateResponseProductFieldDataSkuPropertiesItem: core.serialization.ObjectSchema< + serializers.ProductsCreateResponseProductFieldDataSkuPropertiesItem.Raw, + Webflow.ProductsCreateResponseProductFieldDataSkuPropertiesItem +> = core.serialization.object({ + id: core.serialization.string(), + name: core.serialization.string(), + enum: core.serialization.list(ProductsCreateResponseProductFieldDataSkuPropertiesItemEnumItem), +}); + +export declare namespace ProductsCreateResponseProductFieldDataSkuPropertiesItem { + interface Raw { + id: string; + name: string; + enum: ProductsCreateResponseProductFieldDataSkuPropertiesItemEnumItem.Raw[]; + } +} diff --git a/src/serialization/resources/products/types/ProductsCreateResponseProductFieldDataSkuPropertiesItemEnumItem.ts b/src/serialization/resources/products/types/ProductsCreateResponseProductFieldDataSkuPropertiesItemEnumItem.ts new file mode 100644 index 00000000..ee658241 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateResponseProductFieldDataSkuPropertiesItemEnumItem.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsCreateResponseProductFieldDataSkuPropertiesItemEnumItem: core.serialization.ObjectSchema< + serializers.ProductsCreateResponseProductFieldDataSkuPropertiesItemEnumItem.Raw, + Webflow.ProductsCreateResponseProductFieldDataSkuPropertiesItemEnumItem +> = core.serialization.object({ + id: core.serialization.string(), + name: core.serialization.string(), + slug: core.serialization.string(), +}); + +export declare namespace ProductsCreateResponseProductFieldDataSkuPropertiesItemEnumItem { + interface Raw { + id: string; + name: string; + slug: string; + } +} diff --git a/src/serialization/resources/products/types/ProductsCreateResponseProductFieldDataTaxCategory.ts b/src/serialization/resources/products/types/ProductsCreateResponseProductFieldDataTaxCategory.ts new file mode 100644 index 00000000..8ede9cff --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateResponseProductFieldDataTaxCategory.ts @@ -0,0 +1,75 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsCreateResponseProductFieldDataTaxCategory: core.serialization.Schema< + serializers.ProductsCreateResponseProductFieldDataTaxCategory.Raw, + Webflow.ProductsCreateResponseProductFieldDataTaxCategory +> = core.serialization.enum_([ + "standard-taxable", + "standard-exempt", + "books-religious", + "books-textbook", + "clothing", + "clothing-swimwear", + "digital-goods", + "digital-service", + "drugs-non-prescription", + "drugs-prescription", + "food-bottled-water", + "food-candy", + "food-groceries", + "food-prepared", + "food-soda", + "food-supplements", + "magazine-individual", + "magazine-subscription", + "service-admission", + "service-advertising", + "service-dry-cleaning", + "service-hairdressing", + "service-installation", + "service-miscellaneous", + "service-parking", + "service-printing", + "service-professional", + "service-repair", + "service-training", +]); + +export declare namespace ProductsCreateResponseProductFieldDataTaxCategory { + type Raw = + | "standard-taxable" + | "standard-exempt" + | "books-religious" + | "books-textbook" + | "clothing" + | "clothing-swimwear" + | "digital-goods" + | "digital-service" + | "drugs-non-prescription" + | "drugs-prescription" + | "food-bottled-water" + | "food-candy" + | "food-groceries" + | "food-prepared" + | "food-soda" + | "food-supplements" + | "magazine-individual" + | "magazine-subscription" + | "service-admission" + | "service-advertising" + | "service-dry-cleaning" + | "service-hairdressing" + | "service-installation" + | "service-miscellaneous" + | "service-parking" + | "service-printing" + | "service-professional" + | "service-repair" + | "service-training"; +} diff --git a/src/serialization/resources/products/types/ProductsCreateResponseSkusItem.ts b/src/serialization/resources/products/types/ProductsCreateResponseSkusItem.ts new file mode 100644 index 00000000..624be7fc --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateResponseSkusItem.ts @@ -0,0 +1,31 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsCreateResponseSkusItemFieldData } from "./ProductsCreateResponseSkusItemFieldData"; + +export const ProductsCreateResponseSkusItem: core.serialization.ObjectSchema< + serializers.ProductsCreateResponseSkusItem.Raw, + Webflow.ProductsCreateResponseSkusItem +> = core.serialization.object({ + id: core.serialization.string().optional(), + cmsLocaleId: core.serialization.string().optional(), + lastPublished: core.serialization.date().optional(), + lastUpdated: core.serialization.date().optional(), + createdOn: core.serialization.date().optional(), + fieldData: ProductsCreateResponseSkusItemFieldData.optional(), +}); + +export declare namespace ProductsCreateResponseSkusItem { + interface Raw { + id?: string | null; + cmsLocaleId?: string | null; + lastPublished?: string | null; + lastUpdated?: string | null; + createdOn?: string | null; + fieldData?: ProductsCreateResponseSkusItemFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsCreateResponseSkusItemFieldData.ts b/src/serialization/resources/products/types/ProductsCreateResponseSkusItemFieldData.ts new file mode 100644 index 00000000..eb4437a7 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateResponseSkusItemFieldData.ts @@ -0,0 +1,52 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsCreateResponseSkusItemFieldDataPrice } from "./ProductsCreateResponseSkusItemFieldDataPrice"; +import { ProductsCreateResponseSkusItemFieldDataCompareAtPrice } from "./ProductsCreateResponseSkusItemFieldDataCompareAtPrice"; +import { ProductsCreateResponseSkusItemFieldDataEcSkuBillingMethod } from "./ProductsCreateResponseSkusItemFieldDataEcSkuBillingMethod"; +import { ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlan } from "./ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlan"; + +export const ProductsCreateResponseSkusItemFieldData: core.serialization.ObjectSchema< + serializers.ProductsCreateResponseSkusItemFieldData.Raw, + Webflow.ProductsCreateResponseSkusItemFieldData +> = core.serialization.object({ + skuValues: core.serialization.property( + "sku-values", + core.serialization.record(core.serialization.string(), core.serialization.string()).optional() + ), + name: core.serialization.string(), + slug: core.serialization.string(), + price: ProductsCreateResponseSkusItemFieldDataPrice, + compareAtPrice: core.serialization.property( + "compare-at-price", + ProductsCreateResponseSkusItemFieldDataCompareAtPrice.optional() + ), + ecSkuBillingMethod: core.serialization.property( + "ec-sku-billing-method", + ProductsCreateResponseSkusItemFieldDataEcSkuBillingMethod.optional() + ), + ecSkuSubscriptionPlan: core.serialization.property( + "ec-sku-subscription-plan", + ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlan.optional() + ), + trackInventory: core.serialization.property("track-inventory", core.serialization.boolean().optional()), + quantity: core.serialization.number().optional(), +}); + +export declare namespace ProductsCreateResponseSkusItemFieldData { + interface Raw { + "sku-values"?: Record | null; + name: string; + slug: string; + price: ProductsCreateResponseSkusItemFieldDataPrice.Raw; + "compare-at-price"?: ProductsCreateResponseSkusItemFieldDataCompareAtPrice.Raw | null; + "ec-sku-billing-method"?: ProductsCreateResponseSkusItemFieldDataEcSkuBillingMethod.Raw | null; + "ec-sku-subscription-plan"?: ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlan.Raw | null; + "track-inventory"?: boolean | null; + quantity?: number | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsCreateResponseSkusItemFieldDataCompareAtPrice.ts b/src/serialization/resources/products/types/ProductsCreateResponseSkusItemFieldDataCompareAtPrice.ts new file mode 100644 index 00000000..77127d05 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateResponseSkusItemFieldDataCompareAtPrice.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsCreateResponseSkusItemFieldDataCompareAtPrice: core.serialization.ObjectSchema< + serializers.ProductsCreateResponseSkusItemFieldDataCompareAtPrice.Raw, + Webflow.ProductsCreateResponseSkusItemFieldDataCompareAtPrice +> = core.serialization.object({ + value: core.serialization.number().optional(), + unit: core.serialization.string().optional(), +}); + +export declare namespace ProductsCreateResponseSkusItemFieldDataCompareAtPrice { + interface Raw { + value?: number | null; + unit?: string | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsCreateResponseSkusItemFieldDataEcSkuBillingMethod.ts b/src/serialization/resources/products/types/ProductsCreateResponseSkusItemFieldDataEcSkuBillingMethod.ts new file mode 100644 index 00000000..ef501aa5 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateResponseSkusItemFieldDataEcSkuBillingMethod.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsCreateResponseSkusItemFieldDataEcSkuBillingMethod: core.serialization.Schema< + serializers.ProductsCreateResponseSkusItemFieldDataEcSkuBillingMethod.Raw, + Webflow.ProductsCreateResponseSkusItemFieldDataEcSkuBillingMethod +> = core.serialization.enum_(["one-time", "subscription"]); + +export declare namespace ProductsCreateResponseSkusItemFieldDataEcSkuBillingMethod { + type Raw = "one-time" | "subscription"; +} diff --git a/src/serialization/resources/products/types/ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlan.ts b/src/serialization/resources/products/types/ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlan.ts new file mode 100644 index 00000000..816f7d83 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlan.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval } from "./ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval"; +import { ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem } from "./ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem"; + +export const ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlan: core.serialization.ObjectSchema< + serializers.ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlan.Raw, + Webflow.ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlan +> = core.serialization.object({ + interval: ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval.optional(), + frequency: core.serialization.number().optional(), + trial: core.serialization.number().optional(), + plans: core.serialization.list(ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem).optional(), +}); + +export declare namespace ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlan { + interface Raw { + interval?: ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval.Raw | null; + frequency?: number | null; + trial?: number | null; + plans?: ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval.ts b/src/serialization/resources/products/types/ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval.ts new file mode 100644 index 00000000..ebad4b97 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval: core.serialization.Schema< + serializers.ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval.Raw, + Webflow.ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval +> = core.serialization.enum_(["day", "week", "month", "year"]); + +export declare namespace ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval { + type Raw = "day" | "week" | "month" | "year"; +} diff --git a/src/serialization/resources/products/types/ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.ts b/src/serialization/resources/products/types/ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.ts new file mode 100644 index 00000000..6a0f8e4f --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus } from "./ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus"; + +export const ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem: core.serialization.ObjectSchema< + serializers.ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.Raw, + Webflow.ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem +> = core.serialization.object({ + platform: core.serialization.stringLiteral("stripe").optional(), + id: core.serialization.string().optional(), + status: ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.optional(), +}); + +export declare namespace ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem { + interface Raw { + platform?: "stripe" | null; + id?: string | null; + status?: ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.Raw | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts b/src/serialization/resources/products/types/ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts new file mode 100644 index 00000000..a3369f94 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus: core.serialization.Schema< + serializers.ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.Raw, + Webflow.ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus +> = core.serialization.enum_(["active", "inactive", "canceled"]); + +export declare namespace ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus { + type Raw = "active" | "inactive" | "canceled"; +} diff --git a/src/serialization/resources/products/types/ProductsCreateResponseSkusItemFieldDataPrice.ts b/src/serialization/resources/products/types/ProductsCreateResponseSkusItemFieldDataPrice.ts new file mode 100644 index 00000000..e8fcfdc8 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateResponseSkusItemFieldDataPrice.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsCreateResponseSkusItemFieldDataPrice: core.serialization.ObjectSchema< + serializers.ProductsCreateResponseSkusItemFieldDataPrice.Raw, + Webflow.ProductsCreateResponseSkusItemFieldDataPrice +> = core.serialization.object({ + value: core.serialization.number().optional(), + unit: core.serialization.string().optional(), +}); + +export declare namespace ProductsCreateResponseSkusItemFieldDataPrice { + interface Raw { + value?: number | null; + unit?: string | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsCreateSkuRequestPublishStatus.ts b/src/serialization/resources/products/types/ProductsCreateSkuRequestPublishStatus.ts new file mode 100644 index 00000000..d8a4255d --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateSkuRequestPublishStatus.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsCreateSkuRequestPublishStatus: core.serialization.Schema< + serializers.ProductsCreateSkuRequestPublishStatus.Raw, + Webflow.ProductsCreateSkuRequestPublishStatus +> = core.serialization.enum_(["staging", "live"]); + +export declare namespace ProductsCreateSkuRequestPublishStatus { + type Raw = "staging" | "live"; +} diff --git a/src/serialization/resources/products/types/ProductsCreateSkuRequestSkusItem.ts b/src/serialization/resources/products/types/ProductsCreateSkuRequestSkusItem.ts new file mode 100644 index 00000000..5017938c --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateSkuRequestSkusItem.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsCreateSkuRequestSkusItemFieldData } from "./ProductsCreateSkuRequestSkusItemFieldData"; + +export const ProductsCreateSkuRequestSkusItem: core.serialization.ObjectSchema< + serializers.ProductsCreateSkuRequestSkusItem.Raw, + Webflow.ProductsCreateSkuRequestSkusItem +> = core.serialization.object({ + fieldData: ProductsCreateSkuRequestSkusItemFieldData.optional(), +}); + +export declare namespace ProductsCreateSkuRequestSkusItem { + interface Raw { + fieldData?: ProductsCreateSkuRequestSkusItemFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsCreateSkuRequestSkusItemFieldData.ts b/src/serialization/resources/products/types/ProductsCreateSkuRequestSkusItemFieldData.ts new file mode 100644 index 00000000..18a47e06 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateSkuRequestSkusItemFieldData.ts @@ -0,0 +1,52 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsCreateSkuRequestSkusItemFieldDataPrice } from "./ProductsCreateSkuRequestSkusItemFieldDataPrice"; +import { ProductsCreateSkuRequestSkusItemFieldDataCompareAtPrice } from "./ProductsCreateSkuRequestSkusItemFieldDataCompareAtPrice"; +import { ProductsCreateSkuRequestSkusItemFieldDataEcSkuBillingMethod } from "./ProductsCreateSkuRequestSkusItemFieldDataEcSkuBillingMethod"; +import { ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlan } from "./ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlan"; + +export const ProductsCreateSkuRequestSkusItemFieldData: core.serialization.ObjectSchema< + serializers.ProductsCreateSkuRequestSkusItemFieldData.Raw, + Webflow.ProductsCreateSkuRequestSkusItemFieldData +> = core.serialization.object({ + skuValues: core.serialization.property( + "sku-values", + core.serialization.record(core.serialization.string(), core.serialization.string()).optional() + ), + name: core.serialization.string(), + slug: core.serialization.string(), + price: ProductsCreateSkuRequestSkusItemFieldDataPrice, + compareAtPrice: core.serialization.property( + "compare-at-price", + ProductsCreateSkuRequestSkusItemFieldDataCompareAtPrice.optional() + ), + ecSkuBillingMethod: core.serialization.property( + "ec-sku-billing-method", + ProductsCreateSkuRequestSkusItemFieldDataEcSkuBillingMethod.optional() + ), + ecSkuSubscriptionPlan: core.serialization.property( + "ec-sku-subscription-plan", + ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlan.optional() + ), + trackInventory: core.serialization.property("track-inventory", core.serialization.boolean().optional()), + quantity: core.serialization.number().optional(), +}); + +export declare namespace ProductsCreateSkuRequestSkusItemFieldData { + interface Raw { + "sku-values"?: Record | null; + name: string; + slug: string; + price: ProductsCreateSkuRequestSkusItemFieldDataPrice.Raw; + "compare-at-price"?: ProductsCreateSkuRequestSkusItemFieldDataCompareAtPrice.Raw | null; + "ec-sku-billing-method"?: ProductsCreateSkuRequestSkusItemFieldDataEcSkuBillingMethod.Raw | null; + "ec-sku-subscription-plan"?: ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlan.Raw | null; + "track-inventory"?: boolean | null; + quantity?: number | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsCreateSkuRequestSkusItemFieldDataCompareAtPrice.ts b/src/serialization/resources/products/types/ProductsCreateSkuRequestSkusItemFieldDataCompareAtPrice.ts new file mode 100644 index 00000000..e02c1546 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateSkuRequestSkusItemFieldDataCompareAtPrice.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsCreateSkuRequestSkusItemFieldDataCompareAtPrice: core.serialization.ObjectSchema< + serializers.ProductsCreateSkuRequestSkusItemFieldDataCompareAtPrice.Raw, + Webflow.ProductsCreateSkuRequestSkusItemFieldDataCompareAtPrice +> = core.serialization.object({ + value: core.serialization.number().optional(), + unit: core.serialization.string().optional(), +}); + +export declare namespace ProductsCreateSkuRequestSkusItemFieldDataCompareAtPrice { + interface Raw { + value?: number | null; + unit?: string | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsCreateSkuRequestSkusItemFieldDataEcSkuBillingMethod.ts b/src/serialization/resources/products/types/ProductsCreateSkuRequestSkusItemFieldDataEcSkuBillingMethod.ts new file mode 100644 index 00000000..c46fa0b3 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateSkuRequestSkusItemFieldDataEcSkuBillingMethod.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsCreateSkuRequestSkusItemFieldDataEcSkuBillingMethod: core.serialization.Schema< + serializers.ProductsCreateSkuRequestSkusItemFieldDataEcSkuBillingMethod.Raw, + Webflow.ProductsCreateSkuRequestSkusItemFieldDataEcSkuBillingMethod +> = core.serialization.enum_(["one-time", "subscription"]); + +export declare namespace ProductsCreateSkuRequestSkusItemFieldDataEcSkuBillingMethod { + type Raw = "one-time" | "subscription"; +} diff --git a/src/serialization/resources/products/types/ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlan.ts b/src/serialization/resources/products/types/ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlan.ts new file mode 100644 index 00000000..d80efcc5 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlan.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlanInterval } from "./ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlanInterval"; + +export const ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlan: core.serialization.ObjectSchema< + serializers.ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlan.Raw, + Webflow.ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlan +> = core.serialization.object({ + interval: ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlanInterval.optional(), + frequency: core.serialization.number().optional(), + trial: core.serialization.number().optional(), +}); + +export declare namespace ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlan { + interface Raw { + interval?: ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlanInterval.Raw | null; + frequency?: number | null; + trial?: number | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlanInterval.ts b/src/serialization/resources/products/types/ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlanInterval.ts new file mode 100644 index 00000000..ecdfaa48 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlanInterval.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlanInterval: core.serialization.Schema< + serializers.ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlanInterval.Raw, + Webflow.ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlanInterval +> = core.serialization.enum_(["day", "week", "month", "year"]); + +export declare namespace ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlanInterval { + type Raw = "day" | "week" | "month" | "year"; +} diff --git a/src/serialization/resources/products/types/ProductsCreateSkuRequestSkusItemFieldDataPrice.ts b/src/serialization/resources/products/types/ProductsCreateSkuRequestSkusItemFieldDataPrice.ts new file mode 100644 index 00000000..65ee046b --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateSkuRequestSkusItemFieldDataPrice.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsCreateSkuRequestSkusItemFieldDataPrice: core.serialization.ObjectSchema< + serializers.ProductsCreateSkuRequestSkusItemFieldDataPrice.Raw, + Webflow.ProductsCreateSkuRequestSkusItemFieldDataPrice +> = core.serialization.object({ + value: core.serialization.number().optional(), + unit: core.serialization.string().optional(), +}); + +export declare namespace ProductsCreateSkuRequestSkusItemFieldDataPrice { + interface Raw { + value?: number | null; + unit?: string | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsCreateSkuResponse.ts b/src/serialization/resources/products/types/ProductsCreateSkuResponse.ts index 4ca5e4a7..e44f57ba 100644 --- a/src/serialization/resources/products/types/ProductsCreateSkuResponse.ts +++ b/src/serialization/resources/products/types/ProductsCreateSkuResponse.ts @@ -5,17 +5,17 @@ import * as serializers from "../../../index"; import * as Webflow from "../../../../api/index"; import * as core from "../../../../core"; -import { Sku } from "../../../types/Sku"; +import { ProductsCreateSkuResponseSkusItem } from "./ProductsCreateSkuResponseSkusItem"; export const ProductsCreateSkuResponse: core.serialization.ObjectSchema< serializers.ProductsCreateSkuResponse.Raw, Webflow.ProductsCreateSkuResponse > = core.serialization.object({ - skus: core.serialization.list(Sku).optional(), + skus: core.serialization.list(ProductsCreateSkuResponseSkusItem).optional(), }); export declare namespace ProductsCreateSkuResponse { interface Raw { - skus?: Sku.Raw[] | null; + skus?: ProductsCreateSkuResponseSkusItem.Raw[] | null; } } diff --git a/src/serialization/resources/products/types/ProductsCreateSkuResponseSkusItem.ts b/src/serialization/resources/products/types/ProductsCreateSkuResponseSkusItem.ts new file mode 100644 index 00000000..abbd953c --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateSkuResponseSkusItem.ts @@ -0,0 +1,31 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsCreateSkuResponseSkusItemFieldData } from "./ProductsCreateSkuResponseSkusItemFieldData"; + +export const ProductsCreateSkuResponseSkusItem: core.serialization.ObjectSchema< + serializers.ProductsCreateSkuResponseSkusItem.Raw, + Webflow.ProductsCreateSkuResponseSkusItem +> = core.serialization.object({ + id: core.serialization.string().optional(), + cmsLocaleId: core.serialization.string().optional(), + lastPublished: core.serialization.date().optional(), + lastUpdated: core.serialization.date().optional(), + createdOn: core.serialization.date().optional(), + fieldData: ProductsCreateSkuResponseSkusItemFieldData.optional(), +}); + +export declare namespace ProductsCreateSkuResponseSkusItem { + interface Raw { + id?: string | null; + cmsLocaleId?: string | null; + lastPublished?: string | null; + lastUpdated?: string | null; + createdOn?: string | null; + fieldData?: ProductsCreateSkuResponseSkusItemFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsCreateSkuResponseSkusItemFieldData.ts b/src/serialization/resources/products/types/ProductsCreateSkuResponseSkusItemFieldData.ts new file mode 100644 index 00000000..3dbf94e9 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateSkuResponseSkusItemFieldData.ts @@ -0,0 +1,52 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsCreateSkuResponseSkusItemFieldDataPrice } from "./ProductsCreateSkuResponseSkusItemFieldDataPrice"; +import { ProductsCreateSkuResponseSkusItemFieldDataCompareAtPrice } from "./ProductsCreateSkuResponseSkusItemFieldDataCompareAtPrice"; +import { ProductsCreateSkuResponseSkusItemFieldDataEcSkuBillingMethod } from "./ProductsCreateSkuResponseSkusItemFieldDataEcSkuBillingMethod"; +import { ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlan } from "./ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlan"; + +export const ProductsCreateSkuResponseSkusItemFieldData: core.serialization.ObjectSchema< + serializers.ProductsCreateSkuResponseSkusItemFieldData.Raw, + Webflow.ProductsCreateSkuResponseSkusItemFieldData +> = core.serialization.object({ + skuValues: core.serialization.property( + "sku-values", + core.serialization.record(core.serialization.string(), core.serialization.string()).optional() + ), + name: core.serialization.string(), + slug: core.serialization.string(), + price: ProductsCreateSkuResponseSkusItemFieldDataPrice, + compareAtPrice: core.serialization.property( + "compare-at-price", + ProductsCreateSkuResponseSkusItemFieldDataCompareAtPrice.optional() + ), + ecSkuBillingMethod: core.serialization.property( + "ec-sku-billing-method", + ProductsCreateSkuResponseSkusItemFieldDataEcSkuBillingMethod.optional() + ), + ecSkuSubscriptionPlan: core.serialization.property( + "ec-sku-subscription-plan", + ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlan.optional() + ), + trackInventory: core.serialization.property("track-inventory", core.serialization.boolean().optional()), + quantity: core.serialization.number().optional(), +}); + +export declare namespace ProductsCreateSkuResponseSkusItemFieldData { + interface Raw { + "sku-values"?: Record | null; + name: string; + slug: string; + price: ProductsCreateSkuResponseSkusItemFieldDataPrice.Raw; + "compare-at-price"?: ProductsCreateSkuResponseSkusItemFieldDataCompareAtPrice.Raw | null; + "ec-sku-billing-method"?: ProductsCreateSkuResponseSkusItemFieldDataEcSkuBillingMethod.Raw | null; + "ec-sku-subscription-plan"?: ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlan.Raw | null; + "track-inventory"?: boolean | null; + quantity?: number | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataCompareAtPrice.ts b/src/serialization/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataCompareAtPrice.ts new file mode 100644 index 00000000..e5de03a3 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataCompareAtPrice.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsCreateSkuResponseSkusItemFieldDataCompareAtPrice: core.serialization.ObjectSchema< + serializers.ProductsCreateSkuResponseSkusItemFieldDataCompareAtPrice.Raw, + Webflow.ProductsCreateSkuResponseSkusItemFieldDataCompareAtPrice +> = core.serialization.object({ + value: core.serialization.number().optional(), + unit: core.serialization.string().optional(), +}); + +export declare namespace ProductsCreateSkuResponseSkusItemFieldDataCompareAtPrice { + interface Raw { + value?: number | null; + unit?: string | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataEcSkuBillingMethod.ts b/src/serialization/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataEcSkuBillingMethod.ts new file mode 100644 index 00000000..50f1af42 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataEcSkuBillingMethod.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsCreateSkuResponseSkusItemFieldDataEcSkuBillingMethod: core.serialization.Schema< + serializers.ProductsCreateSkuResponseSkusItemFieldDataEcSkuBillingMethod.Raw, + Webflow.ProductsCreateSkuResponseSkusItemFieldDataEcSkuBillingMethod +> = core.serialization.enum_(["one-time", "subscription"]); + +export declare namespace ProductsCreateSkuResponseSkusItemFieldDataEcSkuBillingMethod { + type Raw = "one-time" | "subscription"; +} diff --git a/src/serialization/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlan.ts b/src/serialization/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlan.ts new file mode 100644 index 00000000..89977f46 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlan.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval } from "./ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval"; +import { ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem } from "./ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem"; + +export const ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlan: core.serialization.ObjectSchema< + serializers.ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlan.Raw, + Webflow.ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlan +> = core.serialization.object({ + interval: ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval.optional(), + frequency: core.serialization.number().optional(), + trial: core.serialization.number().optional(), + plans: core.serialization.list(ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem).optional(), +}); + +export declare namespace ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlan { + interface Raw { + interval?: ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval.Raw | null; + frequency?: number | null; + trial?: number | null; + plans?: ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval.ts b/src/serialization/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval.ts new file mode 100644 index 00000000..c775cc5d --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval: core.serialization.Schema< + serializers.ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval.Raw, + Webflow.ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval +> = core.serialization.enum_(["day", "week", "month", "year"]); + +export declare namespace ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval { + type Raw = "day" | "week" | "month" | "year"; +} diff --git a/src/serialization/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.ts b/src/serialization/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.ts new file mode 100644 index 00000000..c3b63936 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus } from "./ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus"; + +export const ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem: core.serialization.ObjectSchema< + serializers.ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.Raw, + Webflow.ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem +> = core.serialization.object({ + platform: core.serialization.stringLiteral("stripe").optional(), + id: core.serialization.string().optional(), + status: ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.optional(), +}); + +export declare namespace ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem { + interface Raw { + platform?: "stripe" | null; + id?: string | null; + status?: ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.Raw | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts b/src/serialization/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts new file mode 100644 index 00000000..2843901e --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus: core.serialization.Schema< + serializers.ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.Raw, + Webflow.ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus +> = core.serialization.enum_(["active", "inactive", "canceled"]); + +export declare namespace ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus { + type Raw = "active" | "inactive" | "canceled"; +} diff --git a/src/serialization/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataPrice.ts b/src/serialization/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataPrice.ts new file mode 100644 index 00000000..d1d7d527 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsCreateSkuResponseSkusItemFieldDataPrice.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsCreateSkuResponseSkusItemFieldDataPrice: core.serialization.ObjectSchema< + serializers.ProductsCreateSkuResponseSkusItemFieldDataPrice.Raw, + Webflow.ProductsCreateSkuResponseSkusItemFieldDataPrice +> = core.serialization.object({ + value: core.serialization.number().optional(), + unit: core.serialization.string().optional(), +}); + +export declare namespace ProductsCreateSkuResponseSkusItemFieldDataPrice { + interface Raw { + value?: number | null; + unit?: string | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsGetResponse.ts b/src/serialization/resources/products/types/ProductsGetResponse.ts new file mode 100644 index 00000000..2fd91823 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsGetResponse.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsGetResponseProduct } from "./ProductsGetResponseProduct"; +import { ProductsGetResponseSkusItem } from "./ProductsGetResponseSkusItem"; + +export const ProductsGetResponse: core.serialization.ObjectSchema< + serializers.ProductsGetResponse.Raw, + Webflow.ProductsGetResponse +> = core.serialization.object({ + product: ProductsGetResponseProduct.optional(), + skus: core.serialization.list(ProductsGetResponseSkusItem).optional(), +}); + +export declare namespace ProductsGetResponse { + interface Raw { + product?: ProductsGetResponseProduct.Raw | null; + skus?: ProductsGetResponseSkusItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsGetResponseProduct.ts b/src/serialization/resources/products/types/ProductsGetResponseProduct.ts new file mode 100644 index 00000000..c6c63883 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsGetResponseProduct.ts @@ -0,0 +1,35 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsGetResponseProductFieldData } from "./ProductsGetResponseProductFieldData"; + +export const ProductsGetResponseProduct: core.serialization.ObjectSchema< + serializers.ProductsGetResponseProduct.Raw, + Webflow.ProductsGetResponseProduct +> = core.serialization.object({ + id: core.serialization.string().optional(), + cmsLocaleId: core.serialization.string().optional(), + lastPublished: core.serialization.date().optional(), + lastUpdated: core.serialization.date().optional(), + createdOn: core.serialization.date().optional(), + isArchived: core.serialization.boolean().optional(), + isDraft: core.serialization.boolean().optional(), + fieldData: ProductsGetResponseProductFieldData.optional(), +}); + +export declare namespace ProductsGetResponseProduct { + interface Raw { + id?: string | null; + cmsLocaleId?: string | null; + lastPublished?: string | null; + lastUpdated?: string | null; + createdOn?: string | null; + isArchived?: boolean | null; + isDraft?: boolean | null; + fieldData?: ProductsGetResponseProductFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsGetResponseProductFieldData.ts b/src/serialization/resources/products/types/ProductsGetResponseProductFieldData.ts new file mode 100644 index 00000000..87affa7a --- /dev/null +++ b/src/serialization/resources/products/types/ProductsGetResponseProductFieldData.ts @@ -0,0 +1,45 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsGetResponseProductFieldDataSkuPropertiesItem } from "./ProductsGetResponseProductFieldDataSkuPropertiesItem"; +import { ProductsGetResponseProductFieldDataTaxCategory } from "./ProductsGetResponseProductFieldDataTaxCategory"; +import { ProductsGetResponseProductFieldDataEcProductType } from "./ProductsGetResponseProductFieldDataEcProductType"; + +export const ProductsGetResponseProductFieldData: core.serialization.ObjectSchema< + serializers.ProductsGetResponseProductFieldData.Raw, + Webflow.ProductsGetResponseProductFieldData +> = core.serialization.object({ + name: core.serialization.string().optional(), + slug: core.serialization.string().optional(), + description: core.serialization.string().optional(), + shippable: core.serialization.boolean().optional(), + skuProperties: core.serialization.property( + "sku-properties", + core.serialization.list(ProductsGetResponseProductFieldDataSkuPropertiesItem).optional() + ), + categories: core.serialization.list(core.serialization.string()).optional(), + taxCategory: core.serialization.property("tax-category", ProductsGetResponseProductFieldDataTaxCategory.optional()), + defaultSku: core.serialization.property("default-sku", core.serialization.string().optional()), + ecProductType: core.serialization.property( + "ec-product-type", + ProductsGetResponseProductFieldDataEcProductType.optional() + ), +}); + +export declare namespace ProductsGetResponseProductFieldData { + interface Raw { + name?: string | null; + slug?: string | null; + description?: string | null; + shippable?: boolean | null; + "sku-properties"?: ProductsGetResponseProductFieldDataSkuPropertiesItem.Raw[] | null; + categories?: string[] | null; + "tax-category"?: ProductsGetResponseProductFieldDataTaxCategory.Raw | null; + "default-sku"?: string | null; + "ec-product-type"?: ProductsGetResponseProductFieldDataEcProductType.Raw | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsGetResponseProductFieldDataEcProductType.ts b/src/serialization/resources/products/types/ProductsGetResponseProductFieldDataEcProductType.ts new file mode 100644 index 00000000..178f01ec --- /dev/null +++ b/src/serialization/resources/products/types/ProductsGetResponseProductFieldDataEcProductType.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsGetResponseProductFieldDataEcProductType: core.serialization.Schema< + serializers.ProductsGetResponseProductFieldDataEcProductType.Raw, + Webflow.ProductsGetResponseProductFieldDataEcProductType +> = core.serialization.enum_([ + "ff42fee0113744f693a764e3431a9cc2", + "f22027db68002190aef89a4a2b7ac8a1", + "c599e43b1a1c34d5a323aedf75d3adf6", + "b6ccc1830db4b1babeb06a9ac5f6dd76", +]); + +export declare namespace ProductsGetResponseProductFieldDataEcProductType { + type Raw = + | "ff42fee0113744f693a764e3431a9cc2" + | "f22027db68002190aef89a4a2b7ac8a1" + | "c599e43b1a1c34d5a323aedf75d3adf6" + | "b6ccc1830db4b1babeb06a9ac5f6dd76"; +} diff --git a/src/serialization/resources/products/types/ProductsGetResponseProductFieldDataSkuPropertiesItem.ts b/src/serialization/resources/products/types/ProductsGetResponseProductFieldDataSkuPropertiesItem.ts new file mode 100644 index 00000000..53496244 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsGetResponseProductFieldDataSkuPropertiesItem.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsGetResponseProductFieldDataSkuPropertiesItemEnumItem } from "./ProductsGetResponseProductFieldDataSkuPropertiesItemEnumItem"; + +export const ProductsGetResponseProductFieldDataSkuPropertiesItem: core.serialization.ObjectSchema< + serializers.ProductsGetResponseProductFieldDataSkuPropertiesItem.Raw, + Webflow.ProductsGetResponseProductFieldDataSkuPropertiesItem +> = core.serialization.object({ + id: core.serialization.string(), + name: core.serialization.string(), + enum: core.serialization.list(ProductsGetResponseProductFieldDataSkuPropertiesItemEnumItem), +}); + +export declare namespace ProductsGetResponseProductFieldDataSkuPropertiesItem { + interface Raw { + id: string; + name: string; + enum: ProductsGetResponseProductFieldDataSkuPropertiesItemEnumItem.Raw[]; + } +} diff --git a/src/serialization/resources/products/types/ProductsGetResponseProductFieldDataSkuPropertiesItemEnumItem.ts b/src/serialization/resources/products/types/ProductsGetResponseProductFieldDataSkuPropertiesItemEnumItem.ts new file mode 100644 index 00000000..343a10ad --- /dev/null +++ b/src/serialization/resources/products/types/ProductsGetResponseProductFieldDataSkuPropertiesItemEnumItem.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsGetResponseProductFieldDataSkuPropertiesItemEnumItem: core.serialization.ObjectSchema< + serializers.ProductsGetResponseProductFieldDataSkuPropertiesItemEnumItem.Raw, + Webflow.ProductsGetResponseProductFieldDataSkuPropertiesItemEnumItem +> = core.serialization.object({ + id: core.serialization.string(), + name: core.serialization.string(), + slug: core.serialization.string(), +}); + +export declare namespace ProductsGetResponseProductFieldDataSkuPropertiesItemEnumItem { + interface Raw { + id: string; + name: string; + slug: string; + } +} diff --git a/src/serialization/resources/products/types/ProductsGetResponseProductFieldDataTaxCategory.ts b/src/serialization/resources/products/types/ProductsGetResponseProductFieldDataTaxCategory.ts new file mode 100644 index 00000000..6fdd55d2 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsGetResponseProductFieldDataTaxCategory.ts @@ -0,0 +1,75 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsGetResponseProductFieldDataTaxCategory: core.serialization.Schema< + serializers.ProductsGetResponseProductFieldDataTaxCategory.Raw, + Webflow.ProductsGetResponseProductFieldDataTaxCategory +> = core.serialization.enum_([ + "standard-taxable", + "standard-exempt", + "books-religious", + "books-textbook", + "clothing", + "clothing-swimwear", + "digital-goods", + "digital-service", + "drugs-non-prescription", + "drugs-prescription", + "food-bottled-water", + "food-candy", + "food-groceries", + "food-prepared", + "food-soda", + "food-supplements", + "magazine-individual", + "magazine-subscription", + "service-admission", + "service-advertising", + "service-dry-cleaning", + "service-hairdressing", + "service-installation", + "service-miscellaneous", + "service-parking", + "service-printing", + "service-professional", + "service-repair", + "service-training", +]); + +export declare namespace ProductsGetResponseProductFieldDataTaxCategory { + type Raw = + | "standard-taxable" + | "standard-exempt" + | "books-religious" + | "books-textbook" + | "clothing" + | "clothing-swimwear" + | "digital-goods" + | "digital-service" + | "drugs-non-prescription" + | "drugs-prescription" + | "food-bottled-water" + | "food-candy" + | "food-groceries" + | "food-prepared" + | "food-soda" + | "food-supplements" + | "magazine-individual" + | "magazine-subscription" + | "service-admission" + | "service-advertising" + | "service-dry-cleaning" + | "service-hairdressing" + | "service-installation" + | "service-miscellaneous" + | "service-parking" + | "service-printing" + | "service-professional" + | "service-repair" + | "service-training"; +} diff --git a/src/serialization/resources/products/types/ProductsGetResponseSkusItem.ts b/src/serialization/resources/products/types/ProductsGetResponseSkusItem.ts new file mode 100644 index 00000000..356e5cfd --- /dev/null +++ b/src/serialization/resources/products/types/ProductsGetResponseSkusItem.ts @@ -0,0 +1,31 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsGetResponseSkusItemFieldData } from "./ProductsGetResponseSkusItemFieldData"; + +export const ProductsGetResponseSkusItem: core.serialization.ObjectSchema< + serializers.ProductsGetResponseSkusItem.Raw, + Webflow.ProductsGetResponseSkusItem +> = core.serialization.object({ + id: core.serialization.string().optional(), + cmsLocaleId: core.serialization.string().optional(), + lastPublished: core.serialization.date().optional(), + lastUpdated: core.serialization.date().optional(), + createdOn: core.serialization.date().optional(), + fieldData: ProductsGetResponseSkusItemFieldData.optional(), +}); + +export declare namespace ProductsGetResponseSkusItem { + interface Raw { + id?: string | null; + cmsLocaleId?: string | null; + lastPublished?: string | null; + lastUpdated?: string | null; + createdOn?: string | null; + fieldData?: ProductsGetResponseSkusItemFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsGetResponseSkusItemFieldData.ts b/src/serialization/resources/products/types/ProductsGetResponseSkusItemFieldData.ts new file mode 100644 index 00000000..31b5ebdd --- /dev/null +++ b/src/serialization/resources/products/types/ProductsGetResponseSkusItemFieldData.ts @@ -0,0 +1,52 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsGetResponseSkusItemFieldDataPrice } from "./ProductsGetResponseSkusItemFieldDataPrice"; +import { ProductsGetResponseSkusItemFieldDataCompareAtPrice } from "./ProductsGetResponseSkusItemFieldDataCompareAtPrice"; +import { ProductsGetResponseSkusItemFieldDataEcSkuBillingMethod } from "./ProductsGetResponseSkusItemFieldDataEcSkuBillingMethod"; +import { ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlan } from "./ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlan"; + +export const ProductsGetResponseSkusItemFieldData: core.serialization.ObjectSchema< + serializers.ProductsGetResponseSkusItemFieldData.Raw, + Webflow.ProductsGetResponseSkusItemFieldData +> = core.serialization.object({ + skuValues: core.serialization.property( + "sku-values", + core.serialization.record(core.serialization.string(), core.serialization.string()).optional() + ), + name: core.serialization.string(), + slug: core.serialization.string(), + price: ProductsGetResponseSkusItemFieldDataPrice, + compareAtPrice: core.serialization.property( + "compare-at-price", + ProductsGetResponseSkusItemFieldDataCompareAtPrice.optional() + ), + ecSkuBillingMethod: core.serialization.property( + "ec-sku-billing-method", + ProductsGetResponseSkusItemFieldDataEcSkuBillingMethod.optional() + ), + ecSkuSubscriptionPlan: core.serialization.property( + "ec-sku-subscription-plan", + ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlan.optional() + ), + trackInventory: core.serialization.property("track-inventory", core.serialization.boolean().optional()), + quantity: core.serialization.number().optional(), +}); + +export declare namespace ProductsGetResponseSkusItemFieldData { + interface Raw { + "sku-values"?: Record | null; + name: string; + slug: string; + price: ProductsGetResponseSkusItemFieldDataPrice.Raw; + "compare-at-price"?: ProductsGetResponseSkusItemFieldDataCompareAtPrice.Raw | null; + "ec-sku-billing-method"?: ProductsGetResponseSkusItemFieldDataEcSkuBillingMethod.Raw | null; + "ec-sku-subscription-plan"?: ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlan.Raw | null; + "track-inventory"?: boolean | null; + quantity?: number | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsGetResponseSkusItemFieldDataCompareAtPrice.ts b/src/serialization/resources/products/types/ProductsGetResponseSkusItemFieldDataCompareAtPrice.ts new file mode 100644 index 00000000..0de75fa8 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsGetResponseSkusItemFieldDataCompareAtPrice.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsGetResponseSkusItemFieldDataCompareAtPrice: core.serialization.ObjectSchema< + serializers.ProductsGetResponseSkusItemFieldDataCompareAtPrice.Raw, + Webflow.ProductsGetResponseSkusItemFieldDataCompareAtPrice +> = core.serialization.object({ + value: core.serialization.number().optional(), + unit: core.serialization.string().optional(), +}); + +export declare namespace ProductsGetResponseSkusItemFieldDataCompareAtPrice { + interface Raw { + value?: number | null; + unit?: string | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsGetResponseSkusItemFieldDataEcSkuBillingMethod.ts b/src/serialization/resources/products/types/ProductsGetResponseSkusItemFieldDataEcSkuBillingMethod.ts new file mode 100644 index 00000000..9a56d994 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsGetResponseSkusItemFieldDataEcSkuBillingMethod.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsGetResponseSkusItemFieldDataEcSkuBillingMethod: core.serialization.Schema< + serializers.ProductsGetResponseSkusItemFieldDataEcSkuBillingMethod.Raw, + Webflow.ProductsGetResponseSkusItemFieldDataEcSkuBillingMethod +> = core.serialization.enum_(["one-time", "subscription"]); + +export declare namespace ProductsGetResponseSkusItemFieldDataEcSkuBillingMethod { + type Raw = "one-time" | "subscription"; +} diff --git a/src/serialization/resources/products/types/ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlan.ts b/src/serialization/resources/products/types/ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlan.ts new file mode 100644 index 00000000..652a6dae --- /dev/null +++ b/src/serialization/resources/products/types/ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlan.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval } from "./ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval"; +import { ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem } from "./ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem"; + +export const ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlan: core.serialization.ObjectSchema< + serializers.ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlan.Raw, + Webflow.ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlan +> = core.serialization.object({ + interval: ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval.optional(), + frequency: core.serialization.number().optional(), + trial: core.serialization.number().optional(), + plans: core.serialization.list(ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem).optional(), +}); + +export declare namespace ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlan { + interface Raw { + interval?: ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval.Raw | null; + frequency?: number | null; + trial?: number | null; + plans?: ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval.ts b/src/serialization/resources/products/types/ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval.ts new file mode 100644 index 00000000..f19b8199 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval: core.serialization.Schema< + serializers.ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval.Raw, + Webflow.ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval +> = core.serialization.enum_(["day", "week", "month", "year"]); + +export declare namespace ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval { + type Raw = "day" | "week" | "month" | "year"; +} diff --git a/src/serialization/resources/products/types/ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.ts b/src/serialization/resources/products/types/ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.ts new file mode 100644 index 00000000..3dbb27da --- /dev/null +++ b/src/serialization/resources/products/types/ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus } from "./ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus"; + +export const ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem: core.serialization.ObjectSchema< + serializers.ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.Raw, + Webflow.ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem +> = core.serialization.object({ + platform: core.serialization.stringLiteral("stripe").optional(), + id: core.serialization.string().optional(), + status: ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.optional(), +}); + +export declare namespace ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem { + interface Raw { + platform?: "stripe" | null; + id?: string | null; + status?: ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.Raw | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts b/src/serialization/resources/products/types/ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts new file mode 100644 index 00000000..04dd7570 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus: core.serialization.Schema< + serializers.ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.Raw, + Webflow.ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus +> = core.serialization.enum_(["active", "inactive", "canceled"]); + +export declare namespace ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus { + type Raw = "active" | "inactive" | "canceled"; +} diff --git a/src/serialization/resources/products/types/ProductsGetResponseSkusItemFieldDataPrice.ts b/src/serialization/resources/products/types/ProductsGetResponseSkusItemFieldDataPrice.ts new file mode 100644 index 00000000..faa14e32 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsGetResponseSkusItemFieldDataPrice.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsGetResponseSkusItemFieldDataPrice: core.serialization.ObjectSchema< + serializers.ProductsGetResponseSkusItemFieldDataPrice.Raw, + Webflow.ProductsGetResponseSkusItemFieldDataPrice +> = core.serialization.object({ + value: core.serialization.number().optional(), + unit: core.serialization.string().optional(), +}); + +export declare namespace ProductsGetResponseSkusItemFieldDataPrice { + interface Raw { + value?: number | null; + unit?: string | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsListResponse.ts b/src/serialization/resources/products/types/ProductsListResponse.ts new file mode 100644 index 00000000..a6497f50 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsListResponse.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsListResponseItemsItem } from "./ProductsListResponseItemsItem"; +import { ProductsListResponsePagination } from "./ProductsListResponsePagination"; + +export const ProductsListResponse: core.serialization.ObjectSchema< + serializers.ProductsListResponse.Raw, + Webflow.ProductsListResponse +> = core.serialization.object({ + items: core.serialization.list(ProductsListResponseItemsItem).optional(), + pagination: ProductsListResponsePagination.optional(), +}); + +export declare namespace ProductsListResponse { + interface Raw { + items?: ProductsListResponseItemsItem.Raw[] | null; + pagination?: ProductsListResponsePagination.Raw | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsListResponseItemsItem.ts b/src/serialization/resources/products/types/ProductsListResponseItemsItem.ts new file mode 100644 index 00000000..d6dc44c9 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsListResponseItemsItem.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsListResponseItemsItemProduct } from "./ProductsListResponseItemsItemProduct"; +import { ProductsListResponseItemsItemSkusItem } from "./ProductsListResponseItemsItemSkusItem"; + +export const ProductsListResponseItemsItem: core.serialization.ObjectSchema< + serializers.ProductsListResponseItemsItem.Raw, + Webflow.ProductsListResponseItemsItem +> = core.serialization.object({ + product: ProductsListResponseItemsItemProduct.optional(), + skus: core.serialization.list(ProductsListResponseItemsItemSkusItem).optional(), +}); + +export declare namespace ProductsListResponseItemsItem { + interface Raw { + product?: ProductsListResponseItemsItemProduct.Raw | null; + skus?: ProductsListResponseItemsItemSkusItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsListResponseItemsItemProduct.ts b/src/serialization/resources/products/types/ProductsListResponseItemsItemProduct.ts new file mode 100644 index 00000000..548e174a --- /dev/null +++ b/src/serialization/resources/products/types/ProductsListResponseItemsItemProduct.ts @@ -0,0 +1,35 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsListResponseItemsItemProductFieldData } from "./ProductsListResponseItemsItemProductFieldData"; + +export const ProductsListResponseItemsItemProduct: core.serialization.ObjectSchema< + serializers.ProductsListResponseItemsItemProduct.Raw, + Webflow.ProductsListResponseItemsItemProduct +> = core.serialization.object({ + id: core.serialization.string().optional(), + cmsLocaleId: core.serialization.string().optional(), + lastPublished: core.serialization.date().optional(), + lastUpdated: core.serialization.date().optional(), + createdOn: core.serialization.date().optional(), + isArchived: core.serialization.boolean().optional(), + isDraft: core.serialization.boolean().optional(), + fieldData: ProductsListResponseItemsItemProductFieldData.optional(), +}); + +export declare namespace ProductsListResponseItemsItemProduct { + interface Raw { + id?: string | null; + cmsLocaleId?: string | null; + lastPublished?: string | null; + lastUpdated?: string | null; + createdOn?: string | null; + isArchived?: boolean | null; + isDraft?: boolean | null; + fieldData?: ProductsListResponseItemsItemProductFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsListResponseItemsItemProductFieldData.ts b/src/serialization/resources/products/types/ProductsListResponseItemsItemProductFieldData.ts new file mode 100644 index 00000000..78f5014d --- /dev/null +++ b/src/serialization/resources/products/types/ProductsListResponseItemsItemProductFieldData.ts @@ -0,0 +1,48 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsListResponseItemsItemProductFieldDataSkuPropertiesItem } from "./ProductsListResponseItemsItemProductFieldDataSkuPropertiesItem"; +import { ProductsListResponseItemsItemProductFieldDataTaxCategory } from "./ProductsListResponseItemsItemProductFieldDataTaxCategory"; +import { ProductsListResponseItemsItemProductFieldDataEcProductType } from "./ProductsListResponseItemsItemProductFieldDataEcProductType"; + +export const ProductsListResponseItemsItemProductFieldData: core.serialization.ObjectSchema< + serializers.ProductsListResponseItemsItemProductFieldData.Raw, + Webflow.ProductsListResponseItemsItemProductFieldData +> = core.serialization.object({ + name: core.serialization.string().optional(), + slug: core.serialization.string().optional(), + description: core.serialization.string().optional(), + shippable: core.serialization.boolean().optional(), + skuProperties: core.serialization.property( + "sku-properties", + core.serialization.list(ProductsListResponseItemsItemProductFieldDataSkuPropertiesItem).optional() + ), + categories: core.serialization.list(core.serialization.string()).optional(), + taxCategory: core.serialization.property( + "tax-category", + ProductsListResponseItemsItemProductFieldDataTaxCategory.optional() + ), + defaultSku: core.serialization.property("default-sku", core.serialization.string().optional()), + ecProductType: core.serialization.property( + "ec-product-type", + ProductsListResponseItemsItemProductFieldDataEcProductType.optional() + ), +}); + +export declare namespace ProductsListResponseItemsItemProductFieldData { + interface Raw { + name?: string | null; + slug?: string | null; + description?: string | null; + shippable?: boolean | null; + "sku-properties"?: ProductsListResponseItemsItemProductFieldDataSkuPropertiesItem.Raw[] | null; + categories?: string[] | null; + "tax-category"?: ProductsListResponseItemsItemProductFieldDataTaxCategory.Raw | null; + "default-sku"?: string | null; + "ec-product-type"?: ProductsListResponseItemsItemProductFieldDataEcProductType.Raw | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsListResponseItemsItemProductFieldDataEcProductType.ts b/src/serialization/resources/products/types/ProductsListResponseItemsItemProductFieldDataEcProductType.ts new file mode 100644 index 00000000..3d2ad73f --- /dev/null +++ b/src/serialization/resources/products/types/ProductsListResponseItemsItemProductFieldDataEcProductType.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsListResponseItemsItemProductFieldDataEcProductType: core.serialization.Schema< + serializers.ProductsListResponseItemsItemProductFieldDataEcProductType.Raw, + Webflow.ProductsListResponseItemsItemProductFieldDataEcProductType +> = core.serialization.enum_([ + "ff42fee0113744f693a764e3431a9cc2", + "f22027db68002190aef89a4a2b7ac8a1", + "c599e43b1a1c34d5a323aedf75d3adf6", + "b6ccc1830db4b1babeb06a9ac5f6dd76", +]); + +export declare namespace ProductsListResponseItemsItemProductFieldDataEcProductType { + type Raw = + | "ff42fee0113744f693a764e3431a9cc2" + | "f22027db68002190aef89a4a2b7ac8a1" + | "c599e43b1a1c34d5a323aedf75d3adf6" + | "b6ccc1830db4b1babeb06a9ac5f6dd76"; +} diff --git a/src/serialization/resources/products/types/ProductsListResponseItemsItemProductFieldDataSkuPropertiesItem.ts b/src/serialization/resources/products/types/ProductsListResponseItemsItemProductFieldDataSkuPropertiesItem.ts new file mode 100644 index 00000000..3786c5ad --- /dev/null +++ b/src/serialization/resources/products/types/ProductsListResponseItemsItemProductFieldDataSkuPropertiesItem.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsListResponseItemsItemProductFieldDataSkuPropertiesItemEnumItem } from "./ProductsListResponseItemsItemProductFieldDataSkuPropertiesItemEnumItem"; + +export const ProductsListResponseItemsItemProductFieldDataSkuPropertiesItem: core.serialization.ObjectSchema< + serializers.ProductsListResponseItemsItemProductFieldDataSkuPropertiesItem.Raw, + Webflow.ProductsListResponseItemsItemProductFieldDataSkuPropertiesItem +> = core.serialization.object({ + id: core.serialization.string(), + name: core.serialization.string(), + enum: core.serialization.list(ProductsListResponseItemsItemProductFieldDataSkuPropertiesItemEnumItem), +}); + +export declare namespace ProductsListResponseItemsItemProductFieldDataSkuPropertiesItem { + interface Raw { + id: string; + name: string; + enum: ProductsListResponseItemsItemProductFieldDataSkuPropertiesItemEnumItem.Raw[]; + } +} diff --git a/src/serialization/resources/products/types/ProductsListResponseItemsItemProductFieldDataSkuPropertiesItemEnumItem.ts b/src/serialization/resources/products/types/ProductsListResponseItemsItemProductFieldDataSkuPropertiesItemEnumItem.ts new file mode 100644 index 00000000..565585e8 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsListResponseItemsItemProductFieldDataSkuPropertiesItemEnumItem.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsListResponseItemsItemProductFieldDataSkuPropertiesItemEnumItem: core.serialization.ObjectSchema< + serializers.ProductsListResponseItemsItemProductFieldDataSkuPropertiesItemEnumItem.Raw, + Webflow.ProductsListResponseItemsItemProductFieldDataSkuPropertiesItemEnumItem +> = core.serialization.object({ + id: core.serialization.string(), + name: core.serialization.string(), + slug: core.serialization.string(), +}); + +export declare namespace ProductsListResponseItemsItemProductFieldDataSkuPropertiesItemEnumItem { + interface Raw { + id: string; + name: string; + slug: string; + } +} diff --git a/src/serialization/resources/products/types/ProductsListResponseItemsItemProductFieldDataTaxCategory.ts b/src/serialization/resources/products/types/ProductsListResponseItemsItemProductFieldDataTaxCategory.ts new file mode 100644 index 00000000..12c1a2e8 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsListResponseItemsItemProductFieldDataTaxCategory.ts @@ -0,0 +1,75 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsListResponseItemsItemProductFieldDataTaxCategory: core.serialization.Schema< + serializers.ProductsListResponseItemsItemProductFieldDataTaxCategory.Raw, + Webflow.ProductsListResponseItemsItemProductFieldDataTaxCategory +> = core.serialization.enum_([ + "standard-taxable", + "standard-exempt", + "books-religious", + "books-textbook", + "clothing", + "clothing-swimwear", + "digital-goods", + "digital-service", + "drugs-non-prescription", + "drugs-prescription", + "food-bottled-water", + "food-candy", + "food-groceries", + "food-prepared", + "food-soda", + "food-supplements", + "magazine-individual", + "magazine-subscription", + "service-admission", + "service-advertising", + "service-dry-cleaning", + "service-hairdressing", + "service-installation", + "service-miscellaneous", + "service-parking", + "service-printing", + "service-professional", + "service-repair", + "service-training", +]); + +export declare namespace ProductsListResponseItemsItemProductFieldDataTaxCategory { + type Raw = + | "standard-taxable" + | "standard-exempt" + | "books-religious" + | "books-textbook" + | "clothing" + | "clothing-swimwear" + | "digital-goods" + | "digital-service" + | "drugs-non-prescription" + | "drugs-prescription" + | "food-bottled-water" + | "food-candy" + | "food-groceries" + | "food-prepared" + | "food-soda" + | "food-supplements" + | "magazine-individual" + | "magazine-subscription" + | "service-admission" + | "service-advertising" + | "service-dry-cleaning" + | "service-hairdressing" + | "service-installation" + | "service-miscellaneous" + | "service-parking" + | "service-printing" + | "service-professional" + | "service-repair" + | "service-training"; +} diff --git a/src/serialization/resources/products/types/ProductsListResponseItemsItemSkusItem.ts b/src/serialization/resources/products/types/ProductsListResponseItemsItemSkusItem.ts new file mode 100644 index 00000000..965800b8 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsListResponseItemsItemSkusItem.ts @@ -0,0 +1,31 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsListResponseItemsItemSkusItemFieldData } from "./ProductsListResponseItemsItemSkusItemFieldData"; + +export const ProductsListResponseItemsItemSkusItem: core.serialization.ObjectSchema< + serializers.ProductsListResponseItemsItemSkusItem.Raw, + Webflow.ProductsListResponseItemsItemSkusItem +> = core.serialization.object({ + id: core.serialization.string().optional(), + cmsLocaleId: core.serialization.string().optional(), + lastPublished: core.serialization.date().optional(), + lastUpdated: core.serialization.date().optional(), + createdOn: core.serialization.date().optional(), + fieldData: ProductsListResponseItemsItemSkusItemFieldData.optional(), +}); + +export declare namespace ProductsListResponseItemsItemSkusItem { + interface Raw { + id?: string | null; + cmsLocaleId?: string | null; + lastPublished?: string | null; + lastUpdated?: string | null; + createdOn?: string | null; + fieldData?: ProductsListResponseItemsItemSkusItemFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsListResponseItemsItemSkusItemFieldData.ts b/src/serialization/resources/products/types/ProductsListResponseItemsItemSkusItemFieldData.ts new file mode 100644 index 00000000..77b61869 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsListResponseItemsItemSkusItemFieldData.ts @@ -0,0 +1,52 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsListResponseItemsItemSkusItemFieldDataPrice } from "./ProductsListResponseItemsItemSkusItemFieldDataPrice"; +import { ProductsListResponseItemsItemSkusItemFieldDataCompareAtPrice } from "./ProductsListResponseItemsItemSkusItemFieldDataCompareAtPrice"; +import { ProductsListResponseItemsItemSkusItemFieldDataEcSkuBillingMethod } from "./ProductsListResponseItemsItemSkusItemFieldDataEcSkuBillingMethod"; +import { ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlan } from "./ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlan"; + +export const ProductsListResponseItemsItemSkusItemFieldData: core.serialization.ObjectSchema< + serializers.ProductsListResponseItemsItemSkusItemFieldData.Raw, + Webflow.ProductsListResponseItemsItemSkusItemFieldData +> = core.serialization.object({ + skuValues: core.serialization.property( + "sku-values", + core.serialization.record(core.serialization.string(), core.serialization.string()).optional() + ), + name: core.serialization.string(), + slug: core.serialization.string(), + price: ProductsListResponseItemsItemSkusItemFieldDataPrice, + compareAtPrice: core.serialization.property( + "compare-at-price", + ProductsListResponseItemsItemSkusItemFieldDataCompareAtPrice.optional() + ), + ecSkuBillingMethod: core.serialization.property( + "ec-sku-billing-method", + ProductsListResponseItemsItemSkusItemFieldDataEcSkuBillingMethod.optional() + ), + ecSkuSubscriptionPlan: core.serialization.property( + "ec-sku-subscription-plan", + ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlan.optional() + ), + trackInventory: core.serialization.property("track-inventory", core.serialization.boolean().optional()), + quantity: core.serialization.number().optional(), +}); + +export declare namespace ProductsListResponseItemsItemSkusItemFieldData { + interface Raw { + "sku-values"?: Record | null; + name: string; + slug: string; + price: ProductsListResponseItemsItemSkusItemFieldDataPrice.Raw; + "compare-at-price"?: ProductsListResponseItemsItemSkusItemFieldDataCompareAtPrice.Raw | null; + "ec-sku-billing-method"?: ProductsListResponseItemsItemSkusItemFieldDataEcSkuBillingMethod.Raw | null; + "ec-sku-subscription-plan"?: ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlan.Raw | null; + "track-inventory"?: boolean | null; + quantity?: number | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataCompareAtPrice.ts b/src/serialization/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataCompareAtPrice.ts new file mode 100644 index 00000000..cc5916dc --- /dev/null +++ b/src/serialization/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataCompareAtPrice.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsListResponseItemsItemSkusItemFieldDataCompareAtPrice: core.serialization.ObjectSchema< + serializers.ProductsListResponseItemsItemSkusItemFieldDataCompareAtPrice.Raw, + Webflow.ProductsListResponseItemsItemSkusItemFieldDataCompareAtPrice +> = core.serialization.object({ + value: core.serialization.number().optional(), + unit: core.serialization.string().optional(), +}); + +export declare namespace ProductsListResponseItemsItemSkusItemFieldDataCompareAtPrice { + interface Raw { + value?: number | null; + unit?: string | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataEcSkuBillingMethod.ts b/src/serialization/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataEcSkuBillingMethod.ts new file mode 100644 index 00000000..5dd54eb7 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataEcSkuBillingMethod.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsListResponseItemsItemSkusItemFieldDataEcSkuBillingMethod: core.serialization.Schema< + serializers.ProductsListResponseItemsItemSkusItemFieldDataEcSkuBillingMethod.Raw, + Webflow.ProductsListResponseItemsItemSkusItemFieldDataEcSkuBillingMethod +> = core.serialization.enum_(["one-time", "subscription"]); + +export declare namespace ProductsListResponseItemsItemSkusItemFieldDataEcSkuBillingMethod { + type Raw = "one-time" | "subscription"; +} diff --git a/src/serialization/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlan.ts b/src/serialization/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlan.ts new file mode 100644 index 00000000..64a83efb --- /dev/null +++ b/src/serialization/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlan.ts @@ -0,0 +1,30 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanInterval } from "./ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanInterval"; +import { ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItem } from "./ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItem"; + +export const ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlan: core.serialization.ObjectSchema< + serializers.ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlan.Raw, + Webflow.ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlan +> = core.serialization.object({ + interval: ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanInterval.optional(), + frequency: core.serialization.number().optional(), + trial: core.serialization.number().optional(), + plans: core.serialization + .list(ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItem) + .optional(), +}); + +export declare namespace ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlan { + interface Raw { + interval?: ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanInterval.Raw | null; + frequency?: number | null; + trial?: number | null; + plans?: ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanInterval.ts b/src/serialization/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanInterval.ts new file mode 100644 index 00000000..61bcc99c --- /dev/null +++ b/src/serialization/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanInterval.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanInterval: core.serialization.Schema< + serializers.ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanInterval.Raw, + Webflow.ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanInterval +> = core.serialization.enum_(["day", "week", "month", "year"]); + +export declare namespace ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanInterval { + type Raw = "day" | "week" | "month" | "year"; +} diff --git a/src/serialization/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.ts b/src/serialization/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.ts new file mode 100644 index 00000000..d5e7305d --- /dev/null +++ b/src/serialization/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus } from "./ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus"; + +export const ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItem: core.serialization.ObjectSchema< + serializers.ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItem.Raw, + Webflow.ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItem +> = core.serialization.object({ + platform: core.serialization.stringLiteral("stripe").optional(), + id: core.serialization.string().optional(), + status: ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.optional(), +}); + +export declare namespace ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItem { + interface Raw { + platform?: "stripe" | null; + id?: string | null; + status?: ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.Raw | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts b/src/serialization/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts new file mode 100644 index 00000000..01cdc78a --- /dev/null +++ b/src/serialization/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus: core.serialization.Schema< + serializers.ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus.Raw, + Webflow.ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus +> = core.serialization.enum_(["active", "inactive", "canceled"]); + +export declare namespace ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus { + type Raw = "active" | "inactive" | "canceled"; +} diff --git a/src/serialization/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataPrice.ts b/src/serialization/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataPrice.ts new file mode 100644 index 00000000..f376b382 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsListResponseItemsItemSkusItemFieldDataPrice.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsListResponseItemsItemSkusItemFieldDataPrice: core.serialization.ObjectSchema< + serializers.ProductsListResponseItemsItemSkusItemFieldDataPrice.Raw, + Webflow.ProductsListResponseItemsItemSkusItemFieldDataPrice +> = core.serialization.object({ + value: core.serialization.number().optional(), + unit: core.serialization.string().optional(), +}); + +export declare namespace ProductsListResponseItemsItemSkusItemFieldDataPrice { + interface Raw { + value?: number | null; + unit?: string | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsListResponsePagination.ts b/src/serialization/resources/products/types/ProductsListResponsePagination.ts new file mode 100644 index 00000000..f81f7798 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsListResponsePagination.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsListResponsePagination: core.serialization.ObjectSchema< + serializers.ProductsListResponsePagination.Raw, + Webflow.ProductsListResponsePagination +> = core.serialization.object({ + limit: core.serialization.number().optional(), + offset: core.serialization.number().optional(), + total: core.serialization.number().optional(), +}); + +export declare namespace ProductsListResponsePagination { + interface Raw { + limit?: number | null; + offset?: number | null; + total?: number | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsUpdateRequestProduct.ts b/src/serialization/resources/products/types/ProductsUpdateRequestProduct.ts new file mode 100644 index 00000000..9dab3c41 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateRequestProduct.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsUpdateRequestProductFieldData } from "./ProductsUpdateRequestProductFieldData"; + +export const ProductsUpdateRequestProduct: core.serialization.ObjectSchema< + serializers.ProductsUpdateRequestProduct.Raw, + Webflow.ProductsUpdateRequestProduct +> = core.serialization.object({ + isArchived: core.serialization.boolean().optional(), + isDraft: core.serialization.boolean().optional(), + fieldData: ProductsUpdateRequestProductFieldData.optional(), +}); + +export declare namespace ProductsUpdateRequestProduct { + interface Raw { + isArchived?: boolean | null; + isDraft?: boolean | null; + fieldData?: ProductsUpdateRequestProductFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsUpdateRequestProductFieldData.ts b/src/serialization/resources/products/types/ProductsUpdateRequestProductFieldData.ts new file mode 100644 index 00000000..feaf3653 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateRequestProductFieldData.ts @@ -0,0 +1,48 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsUpdateRequestProductFieldDataSkuPropertiesItem } from "./ProductsUpdateRequestProductFieldDataSkuPropertiesItem"; +import { ProductsUpdateRequestProductFieldDataTaxCategory } from "./ProductsUpdateRequestProductFieldDataTaxCategory"; +import { ProductsUpdateRequestProductFieldDataEcProductType } from "./ProductsUpdateRequestProductFieldDataEcProductType"; + +export const ProductsUpdateRequestProductFieldData: core.serialization.ObjectSchema< + serializers.ProductsUpdateRequestProductFieldData.Raw, + Webflow.ProductsUpdateRequestProductFieldData +> = core.serialization.object({ + name: core.serialization.string().optional(), + slug: core.serialization.string().optional(), + description: core.serialization.string().optional(), + shippable: core.serialization.boolean().optional(), + skuProperties: core.serialization.property( + "sku-properties", + core.serialization.list(ProductsUpdateRequestProductFieldDataSkuPropertiesItem).optional() + ), + categories: core.serialization.list(core.serialization.string()).optional(), + taxCategory: core.serialization.property( + "tax-category", + ProductsUpdateRequestProductFieldDataTaxCategory.optional() + ), + defaultSku: core.serialization.property("default-sku", core.serialization.string().optional()), + ecProductType: core.serialization.property( + "ec-product-type", + ProductsUpdateRequestProductFieldDataEcProductType.optional() + ), +}); + +export declare namespace ProductsUpdateRequestProductFieldData { + interface Raw { + name?: string | null; + slug?: string | null; + description?: string | null; + shippable?: boolean | null; + "sku-properties"?: ProductsUpdateRequestProductFieldDataSkuPropertiesItem.Raw[] | null; + categories?: string[] | null; + "tax-category"?: ProductsUpdateRequestProductFieldDataTaxCategory.Raw | null; + "default-sku"?: string | null; + "ec-product-type"?: ProductsUpdateRequestProductFieldDataEcProductType.Raw | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsUpdateRequestProductFieldDataEcProductType.ts b/src/serialization/resources/products/types/ProductsUpdateRequestProductFieldDataEcProductType.ts new file mode 100644 index 00000000..39b0a7c0 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateRequestProductFieldDataEcProductType.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsUpdateRequestProductFieldDataEcProductType: core.serialization.Schema< + serializers.ProductsUpdateRequestProductFieldDataEcProductType.Raw, + Webflow.ProductsUpdateRequestProductFieldDataEcProductType +> = core.serialization.enum_([ + "ff42fee0113744f693a764e3431a9cc2", + "f22027db68002190aef89a4a2b7ac8a1", + "c599e43b1a1c34d5a323aedf75d3adf6", + "b6ccc1830db4b1babeb06a9ac5f6dd76", +]); + +export declare namespace ProductsUpdateRequestProductFieldDataEcProductType { + type Raw = + | "ff42fee0113744f693a764e3431a9cc2" + | "f22027db68002190aef89a4a2b7ac8a1" + | "c599e43b1a1c34d5a323aedf75d3adf6" + | "b6ccc1830db4b1babeb06a9ac5f6dd76"; +} diff --git a/src/serialization/resources/products/types/ProductsUpdateRequestProductFieldDataSkuPropertiesItem.ts b/src/serialization/resources/products/types/ProductsUpdateRequestProductFieldDataSkuPropertiesItem.ts new file mode 100644 index 00000000..dd6415e6 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateRequestProductFieldDataSkuPropertiesItem.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsUpdateRequestProductFieldDataSkuPropertiesItemEnumItem } from "./ProductsUpdateRequestProductFieldDataSkuPropertiesItemEnumItem"; + +export const ProductsUpdateRequestProductFieldDataSkuPropertiesItem: core.serialization.ObjectSchema< + serializers.ProductsUpdateRequestProductFieldDataSkuPropertiesItem.Raw, + Webflow.ProductsUpdateRequestProductFieldDataSkuPropertiesItem +> = core.serialization.object({ + id: core.serialization.string(), + name: core.serialization.string(), + enum: core.serialization.list(ProductsUpdateRequestProductFieldDataSkuPropertiesItemEnumItem), +}); + +export declare namespace ProductsUpdateRequestProductFieldDataSkuPropertiesItem { + interface Raw { + id: string; + name: string; + enum: ProductsUpdateRequestProductFieldDataSkuPropertiesItemEnumItem.Raw[]; + } +} diff --git a/src/serialization/resources/products/types/ProductsUpdateRequestProductFieldDataSkuPropertiesItemEnumItem.ts b/src/serialization/resources/products/types/ProductsUpdateRequestProductFieldDataSkuPropertiesItemEnumItem.ts new file mode 100644 index 00000000..3333fc59 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateRequestProductFieldDataSkuPropertiesItemEnumItem.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsUpdateRequestProductFieldDataSkuPropertiesItemEnumItem: core.serialization.ObjectSchema< + serializers.ProductsUpdateRequestProductFieldDataSkuPropertiesItemEnumItem.Raw, + Webflow.ProductsUpdateRequestProductFieldDataSkuPropertiesItemEnumItem +> = core.serialization.object({ + id: core.serialization.string(), + name: core.serialization.string(), + slug: core.serialization.string(), +}); + +export declare namespace ProductsUpdateRequestProductFieldDataSkuPropertiesItemEnumItem { + interface Raw { + id: string; + name: string; + slug: string; + } +} diff --git a/src/serialization/resources/products/types/ProductsUpdateRequestProductFieldDataTaxCategory.ts b/src/serialization/resources/products/types/ProductsUpdateRequestProductFieldDataTaxCategory.ts new file mode 100644 index 00000000..ad0611a5 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateRequestProductFieldDataTaxCategory.ts @@ -0,0 +1,75 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsUpdateRequestProductFieldDataTaxCategory: core.serialization.Schema< + serializers.ProductsUpdateRequestProductFieldDataTaxCategory.Raw, + Webflow.ProductsUpdateRequestProductFieldDataTaxCategory +> = core.serialization.enum_([ + "standard-taxable", + "standard-exempt", + "books-religious", + "books-textbook", + "clothing", + "clothing-swimwear", + "digital-goods", + "digital-service", + "drugs-non-prescription", + "drugs-prescription", + "food-bottled-water", + "food-candy", + "food-groceries", + "food-prepared", + "food-soda", + "food-supplements", + "magazine-individual", + "magazine-subscription", + "service-admission", + "service-advertising", + "service-dry-cleaning", + "service-hairdressing", + "service-installation", + "service-miscellaneous", + "service-parking", + "service-printing", + "service-professional", + "service-repair", + "service-training", +]); + +export declare namespace ProductsUpdateRequestProductFieldDataTaxCategory { + type Raw = + | "standard-taxable" + | "standard-exempt" + | "books-religious" + | "books-textbook" + | "clothing" + | "clothing-swimwear" + | "digital-goods" + | "digital-service" + | "drugs-non-prescription" + | "drugs-prescription" + | "food-bottled-water" + | "food-candy" + | "food-groceries" + | "food-prepared" + | "food-soda" + | "food-supplements" + | "magazine-individual" + | "magazine-subscription" + | "service-admission" + | "service-advertising" + | "service-dry-cleaning" + | "service-hairdressing" + | "service-installation" + | "service-miscellaneous" + | "service-parking" + | "service-printing" + | "service-professional" + | "service-repair" + | "service-training"; +} diff --git a/src/serialization/resources/products/types/ProductsUpdateRequestPublishStatus.ts b/src/serialization/resources/products/types/ProductsUpdateRequestPublishStatus.ts new file mode 100644 index 00000000..be759807 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateRequestPublishStatus.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsUpdateRequestPublishStatus: core.serialization.Schema< + serializers.ProductsUpdateRequestPublishStatus.Raw, + Webflow.ProductsUpdateRequestPublishStatus +> = core.serialization.enum_(["staging", "live"]); + +export declare namespace ProductsUpdateRequestPublishStatus { + type Raw = "staging" | "live"; +} diff --git a/src/serialization/resources/products/types/ProductsUpdateRequestSku.ts b/src/serialization/resources/products/types/ProductsUpdateRequestSku.ts new file mode 100644 index 00000000..c833cbb8 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateRequestSku.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsUpdateRequestSkuFieldData } from "./ProductsUpdateRequestSkuFieldData"; + +export const ProductsUpdateRequestSku: core.serialization.ObjectSchema< + serializers.ProductsUpdateRequestSku.Raw, + Webflow.ProductsUpdateRequestSku +> = core.serialization.object({ + fieldData: ProductsUpdateRequestSkuFieldData.optional(), +}); + +export declare namespace ProductsUpdateRequestSku { + interface Raw { + fieldData?: ProductsUpdateRequestSkuFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsUpdateRequestSkuFieldData.ts b/src/serialization/resources/products/types/ProductsUpdateRequestSkuFieldData.ts new file mode 100644 index 00000000..dbf9d7b1 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateRequestSkuFieldData.ts @@ -0,0 +1,52 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsUpdateRequestSkuFieldDataPrice } from "./ProductsUpdateRequestSkuFieldDataPrice"; +import { ProductsUpdateRequestSkuFieldDataCompareAtPrice } from "./ProductsUpdateRequestSkuFieldDataCompareAtPrice"; +import { ProductsUpdateRequestSkuFieldDataEcSkuBillingMethod } from "./ProductsUpdateRequestSkuFieldDataEcSkuBillingMethod"; +import { ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlan } from "./ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlan"; + +export const ProductsUpdateRequestSkuFieldData: core.serialization.ObjectSchema< + serializers.ProductsUpdateRequestSkuFieldData.Raw, + Webflow.ProductsUpdateRequestSkuFieldData +> = core.serialization.object({ + skuValues: core.serialization.property( + "sku-values", + core.serialization.record(core.serialization.string(), core.serialization.string()).optional() + ), + name: core.serialization.string(), + slug: core.serialization.string(), + price: ProductsUpdateRequestSkuFieldDataPrice, + compareAtPrice: core.serialization.property( + "compare-at-price", + ProductsUpdateRequestSkuFieldDataCompareAtPrice.optional() + ), + ecSkuBillingMethod: core.serialization.property( + "ec-sku-billing-method", + ProductsUpdateRequestSkuFieldDataEcSkuBillingMethod.optional() + ), + ecSkuSubscriptionPlan: core.serialization.property( + "ec-sku-subscription-plan", + ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlan.optional() + ), + trackInventory: core.serialization.property("track-inventory", core.serialization.boolean().optional()), + quantity: core.serialization.number().optional(), +}); + +export declare namespace ProductsUpdateRequestSkuFieldData { + interface Raw { + "sku-values"?: Record | null; + name: string; + slug: string; + price: ProductsUpdateRequestSkuFieldDataPrice.Raw; + "compare-at-price"?: ProductsUpdateRequestSkuFieldDataCompareAtPrice.Raw | null; + "ec-sku-billing-method"?: ProductsUpdateRequestSkuFieldDataEcSkuBillingMethod.Raw | null; + "ec-sku-subscription-plan"?: ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlan.Raw | null; + "track-inventory"?: boolean | null; + quantity?: number | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsUpdateRequestSkuFieldDataCompareAtPrice.ts b/src/serialization/resources/products/types/ProductsUpdateRequestSkuFieldDataCompareAtPrice.ts new file mode 100644 index 00000000..ef1565d8 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateRequestSkuFieldDataCompareAtPrice.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsUpdateRequestSkuFieldDataCompareAtPrice: core.serialization.ObjectSchema< + serializers.ProductsUpdateRequestSkuFieldDataCompareAtPrice.Raw, + Webflow.ProductsUpdateRequestSkuFieldDataCompareAtPrice +> = core.serialization.object({ + value: core.serialization.number().optional(), + unit: core.serialization.string().optional(), +}); + +export declare namespace ProductsUpdateRequestSkuFieldDataCompareAtPrice { + interface Raw { + value?: number | null; + unit?: string | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsUpdateRequestSkuFieldDataEcSkuBillingMethod.ts b/src/serialization/resources/products/types/ProductsUpdateRequestSkuFieldDataEcSkuBillingMethod.ts new file mode 100644 index 00000000..47bef1b0 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateRequestSkuFieldDataEcSkuBillingMethod.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsUpdateRequestSkuFieldDataEcSkuBillingMethod: core.serialization.Schema< + serializers.ProductsUpdateRequestSkuFieldDataEcSkuBillingMethod.Raw, + Webflow.ProductsUpdateRequestSkuFieldDataEcSkuBillingMethod +> = core.serialization.enum_(["one-time", "subscription"]); + +export declare namespace ProductsUpdateRequestSkuFieldDataEcSkuBillingMethod { + type Raw = "one-time" | "subscription"; +} diff --git a/src/serialization/resources/products/types/ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlan.ts b/src/serialization/resources/products/types/ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlan.ts new file mode 100644 index 00000000..5189f8fc --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlan.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlanInterval } from "./ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlanInterval"; + +export const ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlan: core.serialization.ObjectSchema< + serializers.ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlan.Raw, + Webflow.ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlan +> = core.serialization.object({ + interval: ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlanInterval.optional(), + frequency: core.serialization.number().optional(), + trial: core.serialization.number().optional(), +}); + +export declare namespace ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlan { + interface Raw { + interval?: ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlanInterval.Raw | null; + frequency?: number | null; + trial?: number | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlanInterval.ts b/src/serialization/resources/products/types/ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlanInterval.ts new file mode 100644 index 00000000..a87a4c30 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlanInterval.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlanInterval: core.serialization.Schema< + serializers.ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlanInterval.Raw, + Webflow.ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlanInterval +> = core.serialization.enum_(["day", "week", "month", "year"]); + +export declare namespace ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlanInterval { + type Raw = "day" | "week" | "month" | "year"; +} diff --git a/src/serialization/resources/products/types/ProductsUpdateRequestSkuFieldDataPrice.ts b/src/serialization/resources/products/types/ProductsUpdateRequestSkuFieldDataPrice.ts new file mode 100644 index 00000000..d7796f57 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateRequestSkuFieldDataPrice.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsUpdateRequestSkuFieldDataPrice: core.serialization.ObjectSchema< + serializers.ProductsUpdateRequestSkuFieldDataPrice.Raw, + Webflow.ProductsUpdateRequestSkuFieldDataPrice +> = core.serialization.object({ + value: core.serialization.number().optional(), + unit: core.serialization.string().optional(), +}); + +export declare namespace ProductsUpdateRequestSkuFieldDataPrice { + interface Raw { + value?: number | null; + unit?: string | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsUpdateResponse.ts b/src/serialization/resources/products/types/ProductsUpdateResponse.ts new file mode 100644 index 00000000..6c824aa5 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateResponse.ts @@ -0,0 +1,35 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsUpdateResponseFieldData } from "./ProductsUpdateResponseFieldData"; + +export const ProductsUpdateResponse: core.serialization.ObjectSchema< + serializers.ProductsUpdateResponse.Raw, + Webflow.ProductsUpdateResponse +> = core.serialization.object({ + id: core.serialization.string().optional(), + cmsLocaleId: core.serialization.string().optional(), + lastPublished: core.serialization.date().optional(), + lastUpdated: core.serialization.date().optional(), + createdOn: core.serialization.date().optional(), + isArchived: core.serialization.boolean().optional(), + isDraft: core.serialization.boolean().optional(), + fieldData: ProductsUpdateResponseFieldData.optional(), +}); + +export declare namespace ProductsUpdateResponse { + interface Raw { + id?: string | null; + cmsLocaleId?: string | null; + lastPublished?: string | null; + lastUpdated?: string | null; + createdOn?: string | null; + isArchived?: boolean | null; + isDraft?: boolean | null; + fieldData?: ProductsUpdateResponseFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsUpdateResponseFieldData.ts b/src/serialization/resources/products/types/ProductsUpdateResponseFieldData.ts new file mode 100644 index 00000000..08bcbe88 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateResponseFieldData.ts @@ -0,0 +1,45 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsUpdateResponseFieldDataSkuPropertiesItem } from "./ProductsUpdateResponseFieldDataSkuPropertiesItem"; +import { ProductsUpdateResponseFieldDataTaxCategory } from "./ProductsUpdateResponseFieldDataTaxCategory"; +import { ProductsUpdateResponseFieldDataEcProductType } from "./ProductsUpdateResponseFieldDataEcProductType"; + +export const ProductsUpdateResponseFieldData: core.serialization.ObjectSchema< + serializers.ProductsUpdateResponseFieldData.Raw, + Webflow.ProductsUpdateResponseFieldData +> = core.serialization.object({ + name: core.serialization.string().optional(), + slug: core.serialization.string().optional(), + description: core.serialization.string().optional(), + shippable: core.serialization.boolean().optional(), + skuProperties: core.serialization.property( + "sku-properties", + core.serialization.list(ProductsUpdateResponseFieldDataSkuPropertiesItem).optional() + ), + categories: core.serialization.list(core.serialization.string()).optional(), + taxCategory: core.serialization.property("tax-category", ProductsUpdateResponseFieldDataTaxCategory.optional()), + defaultSku: core.serialization.property("default-sku", core.serialization.string().optional()), + ecProductType: core.serialization.property( + "ec-product-type", + ProductsUpdateResponseFieldDataEcProductType.optional() + ), +}); + +export declare namespace ProductsUpdateResponseFieldData { + interface Raw { + name?: string | null; + slug?: string | null; + description?: string | null; + shippable?: boolean | null; + "sku-properties"?: ProductsUpdateResponseFieldDataSkuPropertiesItem.Raw[] | null; + categories?: string[] | null; + "tax-category"?: ProductsUpdateResponseFieldDataTaxCategory.Raw | null; + "default-sku"?: string | null; + "ec-product-type"?: ProductsUpdateResponseFieldDataEcProductType.Raw | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsUpdateResponseFieldDataEcProductType.ts b/src/serialization/resources/products/types/ProductsUpdateResponseFieldDataEcProductType.ts new file mode 100644 index 00000000..c6153cc0 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateResponseFieldDataEcProductType.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsUpdateResponseFieldDataEcProductType: core.serialization.Schema< + serializers.ProductsUpdateResponseFieldDataEcProductType.Raw, + Webflow.ProductsUpdateResponseFieldDataEcProductType +> = core.serialization.enum_([ + "ff42fee0113744f693a764e3431a9cc2", + "f22027db68002190aef89a4a2b7ac8a1", + "c599e43b1a1c34d5a323aedf75d3adf6", + "b6ccc1830db4b1babeb06a9ac5f6dd76", +]); + +export declare namespace ProductsUpdateResponseFieldDataEcProductType { + type Raw = + | "ff42fee0113744f693a764e3431a9cc2" + | "f22027db68002190aef89a4a2b7ac8a1" + | "c599e43b1a1c34d5a323aedf75d3adf6" + | "b6ccc1830db4b1babeb06a9ac5f6dd76"; +} diff --git a/src/serialization/resources/products/types/ProductsUpdateResponseFieldDataSkuPropertiesItem.ts b/src/serialization/resources/products/types/ProductsUpdateResponseFieldDataSkuPropertiesItem.ts new file mode 100644 index 00000000..a3662ba8 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateResponseFieldDataSkuPropertiesItem.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsUpdateResponseFieldDataSkuPropertiesItemEnumItem } from "./ProductsUpdateResponseFieldDataSkuPropertiesItemEnumItem"; + +export const ProductsUpdateResponseFieldDataSkuPropertiesItem: core.serialization.ObjectSchema< + serializers.ProductsUpdateResponseFieldDataSkuPropertiesItem.Raw, + Webflow.ProductsUpdateResponseFieldDataSkuPropertiesItem +> = core.serialization.object({ + id: core.serialization.string(), + name: core.serialization.string(), + enum: core.serialization.list(ProductsUpdateResponseFieldDataSkuPropertiesItemEnumItem), +}); + +export declare namespace ProductsUpdateResponseFieldDataSkuPropertiesItem { + interface Raw { + id: string; + name: string; + enum: ProductsUpdateResponseFieldDataSkuPropertiesItemEnumItem.Raw[]; + } +} diff --git a/src/serialization/resources/products/types/ProductsUpdateResponseFieldDataSkuPropertiesItemEnumItem.ts b/src/serialization/resources/products/types/ProductsUpdateResponseFieldDataSkuPropertiesItemEnumItem.ts new file mode 100644 index 00000000..e91d7809 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateResponseFieldDataSkuPropertiesItemEnumItem.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsUpdateResponseFieldDataSkuPropertiesItemEnumItem: core.serialization.ObjectSchema< + serializers.ProductsUpdateResponseFieldDataSkuPropertiesItemEnumItem.Raw, + Webflow.ProductsUpdateResponseFieldDataSkuPropertiesItemEnumItem +> = core.serialization.object({ + id: core.serialization.string(), + name: core.serialization.string(), + slug: core.serialization.string(), +}); + +export declare namespace ProductsUpdateResponseFieldDataSkuPropertiesItemEnumItem { + interface Raw { + id: string; + name: string; + slug: string; + } +} diff --git a/src/serialization/resources/products/types/ProductsUpdateResponseFieldDataTaxCategory.ts b/src/serialization/resources/products/types/ProductsUpdateResponseFieldDataTaxCategory.ts new file mode 100644 index 00000000..c579b898 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateResponseFieldDataTaxCategory.ts @@ -0,0 +1,75 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsUpdateResponseFieldDataTaxCategory: core.serialization.Schema< + serializers.ProductsUpdateResponseFieldDataTaxCategory.Raw, + Webflow.ProductsUpdateResponseFieldDataTaxCategory +> = core.serialization.enum_([ + "standard-taxable", + "standard-exempt", + "books-religious", + "books-textbook", + "clothing", + "clothing-swimwear", + "digital-goods", + "digital-service", + "drugs-non-prescription", + "drugs-prescription", + "food-bottled-water", + "food-candy", + "food-groceries", + "food-prepared", + "food-soda", + "food-supplements", + "magazine-individual", + "magazine-subscription", + "service-admission", + "service-advertising", + "service-dry-cleaning", + "service-hairdressing", + "service-installation", + "service-miscellaneous", + "service-parking", + "service-printing", + "service-professional", + "service-repair", + "service-training", +]); + +export declare namespace ProductsUpdateResponseFieldDataTaxCategory { + type Raw = + | "standard-taxable" + | "standard-exempt" + | "books-religious" + | "books-textbook" + | "clothing" + | "clothing-swimwear" + | "digital-goods" + | "digital-service" + | "drugs-non-prescription" + | "drugs-prescription" + | "food-bottled-water" + | "food-candy" + | "food-groceries" + | "food-prepared" + | "food-soda" + | "food-supplements" + | "magazine-individual" + | "magazine-subscription" + | "service-admission" + | "service-advertising" + | "service-dry-cleaning" + | "service-hairdressing" + | "service-installation" + | "service-miscellaneous" + | "service-parking" + | "service-printing" + | "service-professional" + | "service-repair" + | "service-training"; +} diff --git a/src/serialization/resources/products/types/ProductsUpdateSkuRequestPublishStatus.ts b/src/serialization/resources/products/types/ProductsUpdateSkuRequestPublishStatus.ts new file mode 100644 index 00000000..ff04779e --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateSkuRequestPublishStatus.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsUpdateSkuRequestPublishStatus: core.serialization.Schema< + serializers.ProductsUpdateSkuRequestPublishStatus.Raw, + Webflow.ProductsUpdateSkuRequestPublishStatus +> = core.serialization.enum_(["staging", "live"]); + +export declare namespace ProductsUpdateSkuRequestPublishStatus { + type Raw = "staging" | "live"; +} diff --git a/src/serialization/resources/products/types/ProductsUpdateSkuRequestSku.ts b/src/serialization/resources/products/types/ProductsUpdateSkuRequestSku.ts new file mode 100644 index 00000000..dd9b3fa5 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateSkuRequestSku.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsUpdateSkuRequestSkuFieldData } from "./ProductsUpdateSkuRequestSkuFieldData"; + +export const ProductsUpdateSkuRequestSku: core.serialization.ObjectSchema< + serializers.ProductsUpdateSkuRequestSku.Raw, + Webflow.ProductsUpdateSkuRequestSku +> = core.serialization.object({ + fieldData: ProductsUpdateSkuRequestSkuFieldData.optional(), +}); + +export declare namespace ProductsUpdateSkuRequestSku { + interface Raw { + fieldData?: ProductsUpdateSkuRequestSkuFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsUpdateSkuRequestSkuFieldData.ts b/src/serialization/resources/products/types/ProductsUpdateSkuRequestSkuFieldData.ts new file mode 100644 index 00000000..96b047de --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateSkuRequestSkuFieldData.ts @@ -0,0 +1,52 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsUpdateSkuRequestSkuFieldDataPrice } from "./ProductsUpdateSkuRequestSkuFieldDataPrice"; +import { ProductsUpdateSkuRequestSkuFieldDataCompareAtPrice } from "./ProductsUpdateSkuRequestSkuFieldDataCompareAtPrice"; +import { ProductsUpdateSkuRequestSkuFieldDataEcSkuBillingMethod } from "./ProductsUpdateSkuRequestSkuFieldDataEcSkuBillingMethod"; +import { ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlan } from "./ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlan"; + +export const ProductsUpdateSkuRequestSkuFieldData: core.serialization.ObjectSchema< + serializers.ProductsUpdateSkuRequestSkuFieldData.Raw, + Webflow.ProductsUpdateSkuRequestSkuFieldData +> = core.serialization.object({ + skuValues: core.serialization.property( + "sku-values", + core.serialization.record(core.serialization.string(), core.serialization.string()).optional() + ), + name: core.serialization.string(), + slug: core.serialization.string(), + price: ProductsUpdateSkuRequestSkuFieldDataPrice, + compareAtPrice: core.serialization.property( + "compare-at-price", + ProductsUpdateSkuRequestSkuFieldDataCompareAtPrice.optional() + ), + ecSkuBillingMethod: core.serialization.property( + "ec-sku-billing-method", + ProductsUpdateSkuRequestSkuFieldDataEcSkuBillingMethod.optional() + ), + ecSkuSubscriptionPlan: core.serialization.property( + "ec-sku-subscription-plan", + ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlan.optional() + ), + trackInventory: core.serialization.property("track-inventory", core.serialization.boolean().optional()), + quantity: core.serialization.number().optional(), +}); + +export declare namespace ProductsUpdateSkuRequestSkuFieldData { + interface Raw { + "sku-values"?: Record | null; + name: string; + slug: string; + price: ProductsUpdateSkuRequestSkuFieldDataPrice.Raw; + "compare-at-price"?: ProductsUpdateSkuRequestSkuFieldDataCompareAtPrice.Raw | null; + "ec-sku-billing-method"?: ProductsUpdateSkuRequestSkuFieldDataEcSkuBillingMethod.Raw | null; + "ec-sku-subscription-plan"?: ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlan.Raw | null; + "track-inventory"?: boolean | null; + quantity?: number | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsUpdateSkuRequestSkuFieldDataCompareAtPrice.ts b/src/serialization/resources/products/types/ProductsUpdateSkuRequestSkuFieldDataCompareAtPrice.ts new file mode 100644 index 00000000..cf8b6b94 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateSkuRequestSkuFieldDataCompareAtPrice.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsUpdateSkuRequestSkuFieldDataCompareAtPrice: core.serialization.ObjectSchema< + serializers.ProductsUpdateSkuRequestSkuFieldDataCompareAtPrice.Raw, + Webflow.ProductsUpdateSkuRequestSkuFieldDataCompareAtPrice +> = core.serialization.object({ + value: core.serialization.number().optional(), + unit: core.serialization.string().optional(), +}); + +export declare namespace ProductsUpdateSkuRequestSkuFieldDataCompareAtPrice { + interface Raw { + value?: number | null; + unit?: string | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsUpdateSkuRequestSkuFieldDataEcSkuBillingMethod.ts b/src/serialization/resources/products/types/ProductsUpdateSkuRequestSkuFieldDataEcSkuBillingMethod.ts new file mode 100644 index 00000000..854ebaea --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateSkuRequestSkuFieldDataEcSkuBillingMethod.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsUpdateSkuRequestSkuFieldDataEcSkuBillingMethod: core.serialization.Schema< + serializers.ProductsUpdateSkuRequestSkuFieldDataEcSkuBillingMethod.Raw, + Webflow.ProductsUpdateSkuRequestSkuFieldDataEcSkuBillingMethod +> = core.serialization.enum_(["one-time", "subscription"]); + +export declare namespace ProductsUpdateSkuRequestSkuFieldDataEcSkuBillingMethod { + type Raw = "one-time" | "subscription"; +} diff --git a/src/serialization/resources/products/types/ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlan.ts b/src/serialization/resources/products/types/ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlan.ts new file mode 100644 index 00000000..fef8c3de --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlan.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlanInterval } from "./ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlanInterval"; + +export const ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlan: core.serialization.ObjectSchema< + serializers.ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlan.Raw, + Webflow.ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlan +> = core.serialization.object({ + interval: ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlanInterval.optional(), + frequency: core.serialization.number().optional(), + trial: core.serialization.number().optional(), +}); + +export declare namespace ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlan { + interface Raw { + interval?: ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlanInterval.Raw | null; + frequency?: number | null; + trial?: number | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlanInterval.ts b/src/serialization/resources/products/types/ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlanInterval.ts new file mode 100644 index 00000000..b7cbbebc --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlanInterval.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlanInterval: core.serialization.Schema< + serializers.ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlanInterval.Raw, + Webflow.ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlanInterval +> = core.serialization.enum_(["day", "week", "month", "year"]); + +export declare namespace ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlanInterval { + type Raw = "day" | "week" | "month" | "year"; +} diff --git a/src/serialization/resources/products/types/ProductsUpdateSkuRequestSkuFieldDataPrice.ts b/src/serialization/resources/products/types/ProductsUpdateSkuRequestSkuFieldDataPrice.ts new file mode 100644 index 00000000..5574d0fa --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateSkuRequestSkuFieldDataPrice.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsUpdateSkuRequestSkuFieldDataPrice: core.serialization.ObjectSchema< + serializers.ProductsUpdateSkuRequestSkuFieldDataPrice.Raw, + Webflow.ProductsUpdateSkuRequestSkuFieldDataPrice +> = core.serialization.object({ + value: core.serialization.number().optional(), + unit: core.serialization.string().optional(), +}); + +export declare namespace ProductsUpdateSkuRequestSkuFieldDataPrice { + interface Raw { + value?: number | null; + unit?: string | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsUpdateSkuResponse.ts b/src/serialization/resources/products/types/ProductsUpdateSkuResponse.ts new file mode 100644 index 00000000..a029a516 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateSkuResponse.ts @@ -0,0 +1,31 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsUpdateSkuResponseFieldData } from "./ProductsUpdateSkuResponseFieldData"; + +export const ProductsUpdateSkuResponse: core.serialization.ObjectSchema< + serializers.ProductsUpdateSkuResponse.Raw, + Webflow.ProductsUpdateSkuResponse +> = core.serialization.object({ + id: core.serialization.string().optional(), + cmsLocaleId: core.serialization.string().optional(), + lastPublished: core.serialization.date().optional(), + lastUpdated: core.serialization.date().optional(), + createdOn: core.serialization.date().optional(), + fieldData: ProductsUpdateSkuResponseFieldData.optional(), +}); + +export declare namespace ProductsUpdateSkuResponse { + interface Raw { + id?: string | null; + cmsLocaleId?: string | null; + lastPublished?: string | null; + lastUpdated?: string | null; + createdOn?: string | null; + fieldData?: ProductsUpdateSkuResponseFieldData.Raw | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsUpdateSkuResponseFieldData.ts b/src/serialization/resources/products/types/ProductsUpdateSkuResponseFieldData.ts new file mode 100644 index 00000000..e60e7554 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateSkuResponseFieldData.ts @@ -0,0 +1,52 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsUpdateSkuResponseFieldDataPrice } from "./ProductsUpdateSkuResponseFieldDataPrice"; +import { ProductsUpdateSkuResponseFieldDataCompareAtPrice } from "./ProductsUpdateSkuResponseFieldDataCompareAtPrice"; +import { ProductsUpdateSkuResponseFieldDataEcSkuBillingMethod } from "./ProductsUpdateSkuResponseFieldDataEcSkuBillingMethod"; +import { ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlan } from "./ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlan"; + +export const ProductsUpdateSkuResponseFieldData: core.serialization.ObjectSchema< + serializers.ProductsUpdateSkuResponseFieldData.Raw, + Webflow.ProductsUpdateSkuResponseFieldData +> = core.serialization.object({ + skuValues: core.serialization.property( + "sku-values", + core.serialization.record(core.serialization.string(), core.serialization.string()).optional() + ), + name: core.serialization.string(), + slug: core.serialization.string(), + price: ProductsUpdateSkuResponseFieldDataPrice, + compareAtPrice: core.serialization.property( + "compare-at-price", + ProductsUpdateSkuResponseFieldDataCompareAtPrice.optional() + ), + ecSkuBillingMethod: core.serialization.property( + "ec-sku-billing-method", + ProductsUpdateSkuResponseFieldDataEcSkuBillingMethod.optional() + ), + ecSkuSubscriptionPlan: core.serialization.property( + "ec-sku-subscription-plan", + ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlan.optional() + ), + trackInventory: core.serialization.property("track-inventory", core.serialization.boolean().optional()), + quantity: core.serialization.number().optional(), +}); + +export declare namespace ProductsUpdateSkuResponseFieldData { + interface Raw { + "sku-values"?: Record | null; + name: string; + slug: string; + price: ProductsUpdateSkuResponseFieldDataPrice.Raw; + "compare-at-price"?: ProductsUpdateSkuResponseFieldDataCompareAtPrice.Raw | null; + "ec-sku-billing-method"?: ProductsUpdateSkuResponseFieldDataEcSkuBillingMethod.Raw | null; + "ec-sku-subscription-plan"?: ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlan.Raw | null; + "track-inventory"?: boolean | null; + quantity?: number | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsUpdateSkuResponseFieldDataCompareAtPrice.ts b/src/serialization/resources/products/types/ProductsUpdateSkuResponseFieldDataCompareAtPrice.ts new file mode 100644 index 00000000..64d3456a --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateSkuResponseFieldDataCompareAtPrice.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsUpdateSkuResponseFieldDataCompareAtPrice: core.serialization.ObjectSchema< + serializers.ProductsUpdateSkuResponseFieldDataCompareAtPrice.Raw, + Webflow.ProductsUpdateSkuResponseFieldDataCompareAtPrice +> = core.serialization.object({ + value: core.serialization.number().optional(), + unit: core.serialization.string().optional(), +}); + +export declare namespace ProductsUpdateSkuResponseFieldDataCompareAtPrice { + interface Raw { + value?: number | null; + unit?: string | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsUpdateSkuResponseFieldDataEcSkuBillingMethod.ts b/src/serialization/resources/products/types/ProductsUpdateSkuResponseFieldDataEcSkuBillingMethod.ts new file mode 100644 index 00000000..2ea16a3d --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateSkuResponseFieldDataEcSkuBillingMethod.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsUpdateSkuResponseFieldDataEcSkuBillingMethod: core.serialization.Schema< + serializers.ProductsUpdateSkuResponseFieldDataEcSkuBillingMethod.Raw, + Webflow.ProductsUpdateSkuResponseFieldDataEcSkuBillingMethod +> = core.serialization.enum_(["one-time", "subscription"]); + +export declare namespace ProductsUpdateSkuResponseFieldDataEcSkuBillingMethod { + type Raw = "one-time" | "subscription"; +} diff --git a/src/serialization/resources/products/types/ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlan.ts b/src/serialization/resources/products/types/ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlan.ts new file mode 100644 index 00000000..47020204 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlan.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanInterval } from "./ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanInterval"; +import { ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItem } from "./ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItem"; + +export const ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlan: core.serialization.ObjectSchema< + serializers.ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlan.Raw, + Webflow.ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlan +> = core.serialization.object({ + interval: ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanInterval.optional(), + frequency: core.serialization.number().optional(), + trial: core.serialization.number().optional(), + plans: core.serialization.list(ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItem).optional(), +}); + +export declare namespace ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlan { + interface Raw { + interval?: ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanInterval.Raw | null; + frequency?: number | null; + trial?: number | null; + plans?: ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanInterval.ts b/src/serialization/resources/products/types/ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanInterval.ts new file mode 100644 index 00000000..0d057069 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanInterval.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanInterval: core.serialization.Schema< + serializers.ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanInterval.Raw, + Webflow.ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanInterval +> = core.serialization.enum_(["day", "week", "month", "year"]); + +export declare namespace ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanInterval { + type Raw = "day" | "week" | "month" | "year"; +} diff --git a/src/serialization/resources/products/types/ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItem.ts b/src/serialization/resources/products/types/ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItem.ts new file mode 100644 index 00000000..a60ce36f --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItem.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItemStatus } from "./ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItemStatus"; + +export const ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItem: core.serialization.ObjectSchema< + serializers.ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItem.Raw, + Webflow.ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItem +> = core.serialization.object({ + platform: core.serialization.stringLiteral("stripe").optional(), + id: core.serialization.string().optional(), + status: ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItemStatus.optional(), +}); + +export declare namespace ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItem { + interface Raw { + platform?: "stripe" | null; + id?: string | null; + status?: ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItemStatus.Raw | null; + } +} diff --git a/src/serialization/resources/products/types/ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts b/src/serialization/resources/products/types/ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts new file mode 100644 index 00000000..669e3853 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItemStatus: core.serialization.Schema< + serializers.ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItemStatus.Raw, + Webflow.ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItemStatus +> = core.serialization.enum_(["active", "inactive", "canceled"]); + +export declare namespace ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItemStatus { + type Raw = "active" | "inactive" | "canceled"; +} diff --git a/src/serialization/resources/products/types/ProductsUpdateSkuResponseFieldDataPrice.ts b/src/serialization/resources/products/types/ProductsUpdateSkuResponseFieldDataPrice.ts new file mode 100644 index 00000000..88fdda03 --- /dev/null +++ b/src/serialization/resources/products/types/ProductsUpdateSkuResponseFieldDataPrice.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ProductsUpdateSkuResponseFieldDataPrice: core.serialization.ObjectSchema< + serializers.ProductsUpdateSkuResponseFieldDataPrice.Raw, + Webflow.ProductsUpdateSkuResponseFieldDataPrice +> = core.serialization.object({ + value: core.serialization.number().optional(), + unit: core.serialization.string().optional(), +}); + +export declare namespace ProductsUpdateSkuResponseFieldDataPrice { + interface Raw { + value?: number | null; + unit?: string | null; + } +} diff --git a/src/serialization/resources/products/types/index.ts b/src/serialization/resources/products/types/index.ts index e286df49..a9d4c5d1 100644 --- a/src/serialization/resources/products/types/index.ts +++ b/src/serialization/resources/products/types/index.ts @@ -1 +1,119 @@ +export * from "./ProductsListResponseItemsItemProductFieldDataSkuPropertiesItemEnumItem"; +export * from "./ProductsListResponseItemsItemProductFieldDataSkuPropertiesItem"; +export * from "./ProductsListResponseItemsItemProductFieldDataTaxCategory"; +export * from "./ProductsListResponseItemsItemProductFieldDataEcProductType"; +export * from "./ProductsListResponseItemsItemProductFieldData"; +export * from "./ProductsListResponseItemsItemProduct"; +export * from "./ProductsListResponseItemsItemSkusItemFieldDataPrice"; +export * from "./ProductsListResponseItemsItemSkusItemFieldDataCompareAtPrice"; +export * from "./ProductsListResponseItemsItemSkusItemFieldDataEcSkuBillingMethod"; +export * from "./ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanInterval"; +export * from "./ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus"; +export * from "./ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlanPlansItem"; +export * from "./ProductsListResponseItemsItemSkusItemFieldDataEcSkuSubscriptionPlan"; +export * from "./ProductsListResponseItemsItemSkusItemFieldData"; +export * from "./ProductsListResponseItemsItemSkusItem"; +export * from "./ProductsListResponseItemsItem"; +export * from "./ProductsListResponsePagination"; +export * from "./ProductsListResponse"; +export * from "./ProductsCreateRequestPublishStatus"; +export * from "./ProductsCreateRequestProductFieldDataSkuPropertiesItemEnumItem"; +export * from "./ProductsCreateRequestProductFieldDataSkuPropertiesItem"; +export * from "./ProductsCreateRequestProductFieldDataTaxCategory"; +export * from "./ProductsCreateRequestProductFieldDataEcProductType"; +export * from "./ProductsCreateRequestProductFieldData"; +export * from "./ProductsCreateRequestProduct"; +export * from "./ProductsCreateRequestSkuFieldDataPrice"; +export * from "./ProductsCreateRequestSkuFieldDataCompareAtPrice"; +export * from "./ProductsCreateRequestSkuFieldDataEcSkuBillingMethod"; +export * from "./ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlanInterval"; +export * from "./ProductsCreateRequestSkuFieldDataEcSkuSubscriptionPlan"; +export * from "./ProductsCreateRequestSkuFieldData"; +export * from "./ProductsCreateRequestSku"; +export * from "./ProductsCreateResponseProductFieldDataSkuPropertiesItemEnumItem"; +export * from "./ProductsCreateResponseProductFieldDataSkuPropertiesItem"; +export * from "./ProductsCreateResponseProductFieldDataTaxCategory"; +export * from "./ProductsCreateResponseProductFieldDataEcProductType"; +export * from "./ProductsCreateResponseProductFieldData"; +export * from "./ProductsCreateResponseProduct"; +export * from "./ProductsCreateResponseSkusItemFieldDataPrice"; +export * from "./ProductsCreateResponseSkusItemFieldDataCompareAtPrice"; +export * from "./ProductsCreateResponseSkusItemFieldDataEcSkuBillingMethod"; +export * from "./ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval"; +export * from "./ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus"; +export * from "./ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem"; +export * from "./ProductsCreateResponseSkusItemFieldDataEcSkuSubscriptionPlan"; +export * from "./ProductsCreateResponseSkusItemFieldData"; +export * from "./ProductsCreateResponseSkusItem"; +export * from "./ProductsCreateResponse"; +export * from "./ProductsGetResponseProductFieldDataSkuPropertiesItemEnumItem"; +export * from "./ProductsGetResponseProductFieldDataSkuPropertiesItem"; +export * from "./ProductsGetResponseProductFieldDataTaxCategory"; +export * from "./ProductsGetResponseProductFieldDataEcProductType"; +export * from "./ProductsGetResponseProductFieldData"; +export * from "./ProductsGetResponseProduct"; +export * from "./ProductsGetResponseSkusItemFieldDataPrice"; +export * from "./ProductsGetResponseSkusItemFieldDataCompareAtPrice"; +export * from "./ProductsGetResponseSkusItemFieldDataEcSkuBillingMethod"; +export * from "./ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval"; +export * from "./ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus"; +export * from "./ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem"; +export * from "./ProductsGetResponseSkusItemFieldDataEcSkuSubscriptionPlan"; +export * from "./ProductsGetResponseSkusItemFieldData"; +export * from "./ProductsGetResponseSkusItem"; +export * from "./ProductsGetResponse"; +export * from "./ProductsUpdateRequestPublishStatus"; +export * from "./ProductsUpdateRequestProductFieldDataSkuPropertiesItemEnumItem"; +export * from "./ProductsUpdateRequestProductFieldDataSkuPropertiesItem"; +export * from "./ProductsUpdateRequestProductFieldDataTaxCategory"; +export * from "./ProductsUpdateRequestProductFieldDataEcProductType"; +export * from "./ProductsUpdateRequestProductFieldData"; +export * from "./ProductsUpdateRequestProduct"; +export * from "./ProductsUpdateRequestSkuFieldDataPrice"; +export * from "./ProductsUpdateRequestSkuFieldDataCompareAtPrice"; +export * from "./ProductsUpdateRequestSkuFieldDataEcSkuBillingMethod"; +export * from "./ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlanInterval"; +export * from "./ProductsUpdateRequestSkuFieldDataEcSkuSubscriptionPlan"; +export * from "./ProductsUpdateRequestSkuFieldData"; +export * from "./ProductsUpdateRequestSku"; +export * from "./ProductsUpdateResponseFieldDataSkuPropertiesItemEnumItem"; +export * from "./ProductsUpdateResponseFieldDataSkuPropertiesItem"; +export * from "./ProductsUpdateResponseFieldDataTaxCategory"; +export * from "./ProductsUpdateResponseFieldDataEcProductType"; +export * from "./ProductsUpdateResponseFieldData"; +export * from "./ProductsUpdateResponse"; +export * from "./ProductsCreateSkuRequestPublishStatus"; +export * from "./ProductsCreateSkuRequestSkusItemFieldDataPrice"; +export * from "./ProductsCreateSkuRequestSkusItemFieldDataCompareAtPrice"; +export * from "./ProductsCreateSkuRequestSkusItemFieldDataEcSkuBillingMethod"; +export * from "./ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlanInterval"; +export * from "./ProductsCreateSkuRequestSkusItemFieldDataEcSkuSubscriptionPlan"; +export * from "./ProductsCreateSkuRequestSkusItemFieldData"; +export * from "./ProductsCreateSkuRequestSkusItem"; +export * from "./ProductsCreateSkuResponseSkusItemFieldDataPrice"; +export * from "./ProductsCreateSkuResponseSkusItemFieldDataCompareAtPrice"; +export * from "./ProductsCreateSkuResponseSkusItemFieldDataEcSkuBillingMethod"; +export * from "./ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanInterval"; +export * from "./ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItemStatus"; +export * from "./ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlanPlansItem"; +export * from "./ProductsCreateSkuResponseSkusItemFieldDataEcSkuSubscriptionPlan"; +export * from "./ProductsCreateSkuResponseSkusItemFieldData"; +export * from "./ProductsCreateSkuResponseSkusItem"; export * from "./ProductsCreateSkuResponse"; +export * from "./ProductsUpdateSkuRequestPublishStatus"; +export * from "./ProductsUpdateSkuRequestSkuFieldDataPrice"; +export * from "./ProductsUpdateSkuRequestSkuFieldDataCompareAtPrice"; +export * from "./ProductsUpdateSkuRequestSkuFieldDataEcSkuBillingMethod"; +export * from "./ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlanInterval"; +export * from "./ProductsUpdateSkuRequestSkuFieldDataEcSkuSubscriptionPlan"; +export * from "./ProductsUpdateSkuRequestSkuFieldData"; +export * from "./ProductsUpdateSkuRequestSku"; +export * from "./ProductsUpdateSkuResponseFieldDataPrice"; +export * from "./ProductsUpdateSkuResponseFieldDataCompareAtPrice"; +export * from "./ProductsUpdateSkuResponseFieldDataEcSkuBillingMethod"; +export * from "./ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanInterval"; +export * from "./ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItemStatus"; +export * from "./ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlanPlansItem"; +export * from "./ProductsUpdateSkuResponseFieldDataEcSkuSubscriptionPlan"; +export * from "./ProductsUpdateSkuResponseFieldData"; +export * from "./ProductsUpdateSkuResponse"; diff --git a/src/serialization/resources/scripts/client/requests/CustomCodeHostedRequest.ts b/src/serialization/resources/scripts/client/requests/CustomCodeHostedRequest.ts deleted file mode 100644 index 25bd73bc..00000000 --- a/src/serialization/resources/scripts/client/requests/CustomCodeHostedRequest.ts +++ /dev/null @@ -1,28 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../../../../index"; -import * as Webflow from "../../../../../api/index"; -import * as core from "../../../../../core"; - -export const CustomCodeHostedRequest: core.serialization.Schema< - serializers.CustomCodeHostedRequest.Raw, - Webflow.CustomCodeHostedRequest -> = core.serialization.object({ - hostedLocation: core.serialization.string(), - integrityHash: core.serialization.string(), - canCopy: core.serialization.boolean().optional(), - version: core.serialization.string(), - displayName: core.serialization.string(), -}); - -export declare namespace CustomCodeHostedRequest { - interface Raw { - hostedLocation: string; - integrityHash: string; - canCopy?: boolean | null; - version: string; - displayName: string; - } -} diff --git a/src/serialization/resources/scripts/client/requests/CustomCodeInlineRequest.ts b/src/serialization/resources/scripts/client/requests/CustomCodeInlineRequest.ts deleted file mode 100644 index 7fa5a0b9..00000000 --- a/src/serialization/resources/scripts/client/requests/CustomCodeInlineRequest.ts +++ /dev/null @@ -1,28 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../../../../index"; -import * as Webflow from "../../../../../api/index"; -import * as core from "../../../../../core"; - -export const CustomCodeInlineRequest: core.serialization.Schema< - serializers.CustomCodeInlineRequest.Raw, - Webflow.CustomCodeInlineRequest -> = core.serialization.object({ - sourceCode: core.serialization.string(), - integrityHash: core.serialization.string().optional(), - canCopy: core.serialization.boolean().optional(), - version: core.serialization.string(), - displayName: core.serialization.string(), -}); - -export declare namespace CustomCodeInlineRequest { - interface Raw { - sourceCode: string; - integrityHash?: string | null; - canCopy?: boolean | null; - version: string; - displayName: string; - } -} diff --git a/src/serialization/resources/scripts/client/requests/ScriptsRegisterHostedRequest.ts b/src/serialization/resources/scripts/client/requests/ScriptsRegisterHostedRequest.ts new file mode 100644 index 00000000..25f0cc57 --- /dev/null +++ b/src/serialization/resources/scripts/client/requests/ScriptsRegisterHostedRequest.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../index"; +import * as Webflow from "../../../../../api/index"; +import * as core from "../../../../../core"; + +export const ScriptsRegisterHostedRequest: core.serialization.Schema< + serializers.ScriptsRegisterHostedRequest.Raw, + Webflow.ScriptsRegisterHostedRequest +> = core.serialization.object({ + hostedLocation: core.serialization.string(), + integrityHash: core.serialization.string(), + canCopy: core.serialization.boolean().optional(), + version: core.serialization.string(), + displayName: core.serialization.string(), +}); + +export declare namespace ScriptsRegisterHostedRequest { + interface Raw { + hostedLocation: string; + integrityHash: string; + canCopy?: boolean | null; + version: string; + displayName: string; + } +} diff --git a/src/serialization/resources/scripts/client/requests/ScriptsRegisterInlineRequest.ts b/src/serialization/resources/scripts/client/requests/ScriptsRegisterInlineRequest.ts new file mode 100644 index 00000000..0c8a0561 --- /dev/null +++ b/src/serialization/resources/scripts/client/requests/ScriptsRegisterInlineRequest.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../index"; +import * as Webflow from "../../../../../api/index"; +import * as core from "../../../../../core"; + +export const ScriptsRegisterInlineRequest: core.serialization.Schema< + serializers.ScriptsRegisterInlineRequest.Raw, + Webflow.ScriptsRegisterInlineRequest +> = core.serialization.object({ + sourceCode: core.serialization.string(), + integrityHash: core.serialization.string().optional(), + canCopy: core.serialization.boolean().optional(), + version: core.serialization.string(), + displayName: core.serialization.string(), +}); + +export declare namespace ScriptsRegisterInlineRequest { + interface Raw { + sourceCode: string; + integrityHash?: string | null; + canCopy?: boolean | null; + version: string; + displayName: string; + } +} diff --git a/src/serialization/resources/scripts/client/requests/index.ts b/src/serialization/resources/scripts/client/requests/index.ts index 5990c996..fd0c01df 100644 --- a/src/serialization/resources/scripts/client/requests/index.ts +++ b/src/serialization/resources/scripts/client/requests/index.ts @@ -1,2 +1,2 @@ -export { CustomCodeHostedRequest } from "./CustomCodeHostedRequest"; -export { CustomCodeInlineRequest } from "./CustomCodeInlineRequest"; +export { ScriptsRegisterHostedRequest } from "./ScriptsRegisterHostedRequest"; +export { ScriptsRegisterInlineRequest } from "./ScriptsRegisterInlineRequest"; diff --git a/src/serialization/resources/scripts/index.ts b/src/serialization/resources/scripts/index.ts index 5ec76921..c9240f83 100644 --- a/src/serialization/resources/scripts/index.ts +++ b/src/serialization/resources/scripts/index.ts @@ -1 +1,2 @@ +export * from "./types"; export * from "./client"; diff --git a/src/serialization/resources/scripts/types/ScriptsListResponse.ts b/src/serialization/resources/scripts/types/ScriptsListResponse.ts new file mode 100644 index 00000000..0664b695 --- /dev/null +++ b/src/serialization/resources/scripts/types/ScriptsListResponse.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { ScriptsListResponseRegisteredScriptsItem } from "./ScriptsListResponseRegisteredScriptsItem"; + +export const ScriptsListResponse: core.serialization.ObjectSchema< + serializers.ScriptsListResponse.Raw, + Webflow.ScriptsListResponse +> = core.serialization.object({ + registeredScripts: core.serialization.list(ScriptsListResponseRegisteredScriptsItem).optional(), +}); + +export declare namespace ScriptsListResponse { + interface Raw { + registeredScripts?: ScriptsListResponseRegisteredScriptsItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/scripts/types/ScriptsListResponseRegisteredScriptsItem.ts b/src/serialization/resources/scripts/types/ScriptsListResponseRegisteredScriptsItem.ts new file mode 100644 index 00000000..ba3f058f --- /dev/null +++ b/src/serialization/resources/scripts/types/ScriptsListResponseRegisteredScriptsItem.ts @@ -0,0 +1,34 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ScriptsListResponseRegisteredScriptsItem: core.serialization.ObjectSchema< + serializers.ScriptsListResponseRegisteredScriptsItem.Raw, + Webflow.ScriptsListResponseRegisteredScriptsItem +> = core.serialization.object({ + id: core.serialization.string().optional(), + canCopy: core.serialization.boolean().optional(), + displayName: core.serialization.string().optional(), + hostedLocation: core.serialization.string().optional(), + integrityHash: core.serialization.string().optional(), + createdOn: core.serialization.string().optional(), + lastUpdated: core.serialization.string().optional(), + version: core.serialization.string().optional(), +}); + +export declare namespace ScriptsListResponseRegisteredScriptsItem { + interface Raw { + id?: string | null; + canCopy?: boolean | null; + displayName?: string | null; + hostedLocation?: string | null; + integrityHash?: string | null; + createdOn?: string | null; + lastUpdated?: string | null; + version?: string | null; + } +} diff --git a/src/serialization/resources/scripts/types/ScriptsRegisterHostedResponse.ts b/src/serialization/resources/scripts/types/ScriptsRegisterHostedResponse.ts new file mode 100644 index 00000000..5c12981e --- /dev/null +++ b/src/serialization/resources/scripts/types/ScriptsRegisterHostedResponse.ts @@ -0,0 +1,34 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ScriptsRegisterHostedResponse: core.serialization.ObjectSchema< + serializers.ScriptsRegisterHostedResponse.Raw, + Webflow.ScriptsRegisterHostedResponse +> = core.serialization.object({ + id: core.serialization.string().optional(), + canCopy: core.serialization.boolean().optional(), + displayName: core.serialization.string().optional(), + hostedLocation: core.serialization.string().optional(), + integrityHash: core.serialization.string().optional(), + createdOn: core.serialization.string().optional(), + lastUpdated: core.serialization.string().optional(), + version: core.serialization.string().optional(), +}); + +export declare namespace ScriptsRegisterHostedResponse { + interface Raw { + id?: string | null; + canCopy?: boolean | null; + displayName?: string | null; + hostedLocation?: string | null; + integrityHash?: string | null; + createdOn?: string | null; + lastUpdated?: string | null; + version?: string | null; + } +} diff --git a/src/serialization/resources/scripts/types/ScriptsRegisterInlineResponse.ts b/src/serialization/resources/scripts/types/ScriptsRegisterInlineResponse.ts new file mode 100644 index 00000000..1f2169be --- /dev/null +++ b/src/serialization/resources/scripts/types/ScriptsRegisterInlineResponse.ts @@ -0,0 +1,34 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const ScriptsRegisterInlineResponse: core.serialization.ObjectSchema< + serializers.ScriptsRegisterInlineResponse.Raw, + Webflow.ScriptsRegisterInlineResponse +> = core.serialization.object({ + id: core.serialization.string().optional(), + canCopy: core.serialization.boolean().optional(), + displayName: core.serialization.string().optional(), + hostedLocation: core.serialization.string().optional(), + integrityHash: core.serialization.string().optional(), + createdOn: core.serialization.string().optional(), + lastUpdated: core.serialization.string().optional(), + version: core.serialization.string().optional(), +}); + +export declare namespace ScriptsRegisterInlineResponse { + interface Raw { + id?: string | null; + canCopy?: boolean | null; + displayName?: string | null; + hostedLocation?: string | null; + integrityHash?: string | null; + createdOn?: string | null; + lastUpdated?: string | null; + version?: string | null; + } +} diff --git a/src/serialization/resources/scripts/types/index.ts b/src/serialization/resources/scripts/types/index.ts new file mode 100644 index 00000000..ef42bd90 --- /dev/null +++ b/src/serialization/resources/scripts/types/index.ts @@ -0,0 +1,4 @@ +export * from "./ScriptsListResponseRegisteredScriptsItem"; +export * from "./ScriptsListResponse"; +export * from "./ScriptsRegisterHostedResponse"; +export * from "./ScriptsRegisterInlineResponse"; diff --git a/src/serialization/resources/sites/index.ts b/src/serialization/resources/sites/index.ts index c9240f83..a931b363 100644 --- a/src/serialization/resources/sites/index.ts +++ b/src/serialization/resources/sites/index.ts @@ -1,2 +1,3 @@ export * from "./types"; +export * from "./resources"; export * from "./client"; diff --git a/src/serialization/resources/sites/resources/activityLogs/index.ts b/src/serialization/resources/sites/resources/activityLogs/index.ts new file mode 100644 index 00000000..eea524d6 --- /dev/null +++ b/src/serialization/resources/sites/resources/activityLogs/index.ts @@ -0,0 +1 @@ +export * from "./types"; diff --git a/src/serialization/resources/sites/resources/activityLogs/types/ActivityLogsListResponse.ts b/src/serialization/resources/sites/resources/activityLogs/types/ActivityLogsListResponse.ts new file mode 100644 index 00000000..a53155a1 --- /dev/null +++ b/src/serialization/resources/sites/resources/activityLogs/types/ActivityLogsListResponse.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ActivityLogsListResponseItemsItem } from "./ActivityLogsListResponseItemsItem"; +import { ActivityLogsListResponsePagination } from "./ActivityLogsListResponsePagination"; + +export const ActivityLogsListResponse: core.serialization.ObjectSchema< + serializers.sites.ActivityLogsListResponse.Raw, + Webflow.sites.ActivityLogsListResponse +> = core.serialization.object({ + items: core.serialization.list(ActivityLogsListResponseItemsItem).optional(), + pagination: ActivityLogsListResponsePagination.optional(), +}); + +export declare namespace ActivityLogsListResponse { + interface Raw { + items?: ActivityLogsListResponseItemsItem.Raw[] | null; + pagination?: ActivityLogsListResponsePagination.Raw | null; + } +} diff --git a/src/serialization/resources/sites/resources/activityLogs/types/ActivityLogsListResponseItemsItem.ts b/src/serialization/resources/sites/resources/activityLogs/types/ActivityLogsListResponseItemsItem.ts new file mode 100644 index 00000000..b1ebf0e1 --- /dev/null +++ b/src/serialization/resources/sites/resources/activityLogs/types/ActivityLogsListResponseItemsItem.ts @@ -0,0 +1,43 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ActivityLogsListResponseItemsItemEvent } from "./ActivityLogsListResponseItemsItemEvent"; +import { ActivityLogsListResponseItemsItemResourceOperation } from "./ActivityLogsListResponseItemsItemResourceOperation"; +import { ActivityLogsListResponseItemsItemUser } from "./ActivityLogsListResponseItemsItemUser"; + +export const ActivityLogsListResponseItemsItem: core.serialization.ObjectSchema< + serializers.sites.ActivityLogsListResponseItemsItem.Raw, + Webflow.sites.ActivityLogsListResponseItemsItem +> = core.serialization.object({ + id: core.serialization.string().optional(), + createdOn: core.serialization.date().optional(), + lastUpdated: core.serialization.date().optional(), + event: ActivityLogsListResponseItemsItemEvent.optional(), + resourceOperation: ActivityLogsListResponseItemsItemResourceOperation.optional(), + user: ActivityLogsListResponseItemsItemUser.optional(), + resourceId: core.serialization.string().optional(), + resourceName: core.serialization.string().optional(), + newValue: core.serialization.string().optional(), + previousValue: core.serialization.string().optional(), + payload: core.serialization.record(core.serialization.string(), core.serialization.unknown()).optional(), +}); + +export declare namespace ActivityLogsListResponseItemsItem { + interface Raw { + id?: string | null; + createdOn?: string | null; + lastUpdated?: string | null; + event?: ActivityLogsListResponseItemsItemEvent.Raw | null; + resourceOperation?: ActivityLogsListResponseItemsItemResourceOperation.Raw | null; + user?: ActivityLogsListResponseItemsItemUser.Raw | null; + resourceId?: string | null; + resourceName?: string | null; + newValue?: string | null; + previousValue?: string | null; + payload?: Record | null; + } +} diff --git a/src/serialization/resources/sites/resources/activityLogs/types/ActivityLogsListResponseItemsItemEvent.ts b/src/serialization/resources/sites/resources/activityLogs/types/ActivityLogsListResponseItemsItemEvent.ts new file mode 100644 index 00000000..ce0569e8 --- /dev/null +++ b/src/serialization/resources/sites/resources/activityLogs/types/ActivityLogsListResponseItemsItemEvent.ts @@ -0,0 +1,101 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ActivityLogsListResponseItemsItemEvent: core.serialization.Schema< + serializers.sites.ActivityLogsListResponseItemsItemEvent.Raw, + Webflow.sites.ActivityLogsListResponseItemsItemEvent +> = core.serialization.enum_([ + "styles_modified", + "site_published", + "ix2_modified_on_page", + "page_dom_modified", + "cms_item", + "backup_created", + "page_custom_code_modified", + "symbols_modified", + "variable_modified", + "variables_modified", + "cms_collection", + "page_settings_modified", + "page_settings_custom_code_modified", + "ix2_modified_on_component", + "ix2_modified_on_class", + "site_custom_code_modified", + "page_duplicated", + "secondary_locale_page_content_modified", + "page_renamed", + "page_created", + "page_deleted", + "site_unpublished", + "backup_restored", + "locale_added", + "branch_created", + "locale_display_name_updated", + "locale_subdirectory_updated", + "branch_merged", + "locale_tag_updated", + "branch_deleted", + "locale_enabled", + "locale_removed", + "locale_disabled", + "library_shared", + "library_unshared", + "library_installed", + "library_uninstalled", + "library_update_shared", + "library_update_accepted", + "branch_review_created", + "branch_review_approved", + "branch_review_canceled", +]); + +export declare namespace ActivityLogsListResponseItemsItemEvent { + type Raw = + | "styles_modified" + | "site_published" + | "ix2_modified_on_page" + | "page_dom_modified" + | "cms_item" + | "backup_created" + | "page_custom_code_modified" + | "symbols_modified" + | "variable_modified" + | "variables_modified" + | "cms_collection" + | "page_settings_modified" + | "page_settings_custom_code_modified" + | "ix2_modified_on_component" + | "ix2_modified_on_class" + | "site_custom_code_modified" + | "page_duplicated" + | "secondary_locale_page_content_modified" + | "page_renamed" + | "page_created" + | "page_deleted" + | "site_unpublished" + | "backup_restored" + | "locale_added" + | "branch_created" + | "locale_display_name_updated" + | "locale_subdirectory_updated" + | "branch_merged" + | "locale_tag_updated" + | "branch_deleted" + | "locale_enabled" + | "locale_removed" + | "locale_disabled" + | "library_shared" + | "library_unshared" + | "library_installed" + | "library_uninstalled" + | "library_update_shared" + | "library_update_accepted" + | "branch_review_created" + | "branch_review_approved" + | "branch_review_canceled"; +} diff --git a/src/serialization/resources/sites/resources/activityLogs/types/ActivityLogsListResponseItemsItemResourceOperation.ts b/src/serialization/resources/sites/resources/activityLogs/types/ActivityLogsListResponseItemsItemResourceOperation.ts new file mode 100644 index 00000000..63ca886f --- /dev/null +++ b/src/serialization/resources/sites/resources/activityLogs/types/ActivityLogsListResponseItemsItemResourceOperation.ts @@ -0,0 +1,35 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ActivityLogsListResponseItemsItemResourceOperation: core.serialization.Schema< + serializers.sites.ActivityLogsListResponseItemsItemResourceOperation.Raw, + Webflow.sites.ActivityLogsListResponseItemsItemResourceOperation +> = core.serialization.enum_([ + "CREATED", + "MODIFIED", + "PUBLISHED", + "UNPUBLISHED", + "DELETED", + "GROUP_REORDERED", + "GROUP_CREATED", + "GROUP_DELETED", + "REORDERED", +]); + +export declare namespace ActivityLogsListResponseItemsItemResourceOperation { + type Raw = + | "CREATED" + | "MODIFIED" + | "PUBLISHED" + | "UNPUBLISHED" + | "DELETED" + | "GROUP_REORDERED" + | "GROUP_CREATED" + | "GROUP_DELETED" + | "REORDERED"; +} diff --git a/src/serialization/resources/sites/resources/activityLogs/types/ActivityLogsListResponseItemsItemUser.ts b/src/serialization/resources/sites/resources/activityLogs/types/ActivityLogsListResponseItemsItemUser.ts new file mode 100644 index 00000000..cdab6d9e --- /dev/null +++ b/src/serialization/resources/sites/resources/activityLogs/types/ActivityLogsListResponseItemsItemUser.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ActivityLogsListResponseItemsItemUser: core.serialization.ObjectSchema< + serializers.sites.ActivityLogsListResponseItemsItemUser.Raw, + Webflow.sites.ActivityLogsListResponseItemsItemUser +> = core.serialization.object({ + id: core.serialization.string().optional(), + displayName: core.serialization.string().optional(), +}); + +export declare namespace ActivityLogsListResponseItemsItemUser { + interface Raw { + id?: string | null; + displayName?: string | null; + } +} diff --git a/src/serialization/resources/sites/resources/activityLogs/types/ActivityLogsListResponsePagination.ts b/src/serialization/resources/sites/resources/activityLogs/types/ActivityLogsListResponsePagination.ts new file mode 100644 index 00000000..2579dc25 --- /dev/null +++ b/src/serialization/resources/sites/resources/activityLogs/types/ActivityLogsListResponsePagination.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ActivityLogsListResponsePagination: core.serialization.ObjectSchema< + serializers.sites.ActivityLogsListResponsePagination.Raw, + Webflow.sites.ActivityLogsListResponsePagination +> = core.serialization.object({ + limit: core.serialization.number().optional(), + offset: core.serialization.number().optional(), + total: core.serialization.number().optional(), +}); + +export declare namespace ActivityLogsListResponsePagination { + interface Raw { + limit?: number | null; + offset?: number | null; + total?: number | null; + } +} diff --git a/src/serialization/resources/sites/resources/activityLogs/types/index.ts b/src/serialization/resources/sites/resources/activityLogs/types/index.ts new file mode 100644 index 00000000..55429842 --- /dev/null +++ b/src/serialization/resources/sites/resources/activityLogs/types/index.ts @@ -0,0 +1,6 @@ +export * from "./ActivityLogsListResponseItemsItemEvent"; +export * from "./ActivityLogsListResponseItemsItemResourceOperation"; +export * from "./ActivityLogsListResponseItemsItemUser"; +export * from "./ActivityLogsListResponseItemsItem"; +export * from "./ActivityLogsListResponsePagination"; +export * from "./ActivityLogsListResponse"; diff --git a/src/serialization/resources/sites/resources/index.ts b/src/serialization/resources/sites/resources/index.ts new file mode 100644 index 00000000..c8730723 --- /dev/null +++ b/src/serialization/resources/sites/resources/index.ts @@ -0,0 +1,5 @@ +export * as activityLogs from "./activityLogs"; +export * from "./activityLogs/types"; +export * as scripts from "./scripts"; +export * from "./scripts/types"; +export * from "./scripts/client/requests"; diff --git a/src/serialization/resources/sites/resources/scripts/client/index.ts b/src/serialization/resources/sites/resources/scripts/client/index.ts new file mode 100644 index 00000000..415726b7 --- /dev/null +++ b/src/serialization/resources/sites/resources/scripts/client/index.ts @@ -0,0 +1 @@ +export * from "./requests"; diff --git a/src/serialization/resources/sites/resources/scripts/client/requests/ScriptsUpsertCustomCodeRequest.ts b/src/serialization/resources/sites/resources/scripts/client/requests/ScriptsUpsertCustomCodeRequest.ts new file mode 100644 index 00000000..034162dc --- /dev/null +++ b/src/serialization/resources/sites/resources/scripts/client/requests/ScriptsUpsertCustomCodeRequest.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../../index"; +import * as Webflow from "../../../../../../../api/index"; +import * as core from "../../../../../../../core"; +import { ScriptsUpsertCustomCodeRequestScriptsItem } from "../../types/ScriptsUpsertCustomCodeRequestScriptsItem"; + +export const ScriptsUpsertCustomCodeRequest: core.serialization.Schema< + serializers.sites.ScriptsUpsertCustomCodeRequest.Raw, + Webflow.sites.ScriptsUpsertCustomCodeRequest +> = core.serialization.object({ + scripts: core.serialization.list(ScriptsUpsertCustomCodeRequestScriptsItem).optional(), +}); + +export declare namespace ScriptsUpsertCustomCodeRequest { + interface Raw { + scripts?: ScriptsUpsertCustomCodeRequestScriptsItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/sites/resources/scripts/client/requests/index.ts b/src/serialization/resources/sites/resources/scripts/client/requests/index.ts new file mode 100644 index 00000000..ded06f1c --- /dev/null +++ b/src/serialization/resources/sites/resources/scripts/client/requests/index.ts @@ -0,0 +1 @@ +export { ScriptsUpsertCustomCodeRequest } from "./ScriptsUpsertCustomCodeRequest"; diff --git a/src/serialization/resources/sites/resources/scripts/index.ts b/src/serialization/resources/sites/resources/scripts/index.ts new file mode 100644 index 00000000..c9240f83 --- /dev/null +++ b/src/serialization/resources/sites/resources/scripts/index.ts @@ -0,0 +1,2 @@ +export * from "./types"; +export * from "./client"; diff --git a/src/serialization/resources/sites/resources/scripts/types/ScriptsGetCustomCodeResponse.ts b/src/serialization/resources/sites/resources/scripts/types/ScriptsGetCustomCodeResponse.ts new file mode 100644 index 00000000..cd7a0857 --- /dev/null +++ b/src/serialization/resources/sites/resources/scripts/types/ScriptsGetCustomCodeResponse.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ScriptsGetCustomCodeResponseScriptsItem } from "./ScriptsGetCustomCodeResponseScriptsItem"; + +export const ScriptsGetCustomCodeResponse: core.serialization.ObjectSchema< + serializers.sites.ScriptsGetCustomCodeResponse.Raw, + Webflow.sites.ScriptsGetCustomCodeResponse +> = core.serialization.object({ + scripts: core.serialization.list(ScriptsGetCustomCodeResponseScriptsItem).optional(), + lastUpdated: core.serialization.string().optional(), + createdOn: core.serialization.string().optional(), +}); + +export declare namespace ScriptsGetCustomCodeResponse { + interface Raw { + scripts?: ScriptsGetCustomCodeResponseScriptsItem.Raw[] | null; + lastUpdated?: string | null; + createdOn?: string | null; + } +} diff --git a/src/serialization/resources/sites/resources/scripts/types/ScriptsGetCustomCodeResponseScriptsItem.ts b/src/serialization/resources/sites/resources/scripts/types/ScriptsGetCustomCodeResponseScriptsItem.ts new file mode 100644 index 00000000..3cf90f0b --- /dev/null +++ b/src/serialization/resources/sites/resources/scripts/types/ScriptsGetCustomCodeResponseScriptsItem.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ScriptsGetCustomCodeResponseScriptsItemLocation } from "./ScriptsGetCustomCodeResponseScriptsItemLocation"; + +export const ScriptsGetCustomCodeResponseScriptsItem: core.serialization.ObjectSchema< + serializers.sites.ScriptsGetCustomCodeResponseScriptsItem.Raw, + Webflow.sites.ScriptsGetCustomCodeResponseScriptsItem +> = core.serialization.object({ + id: core.serialization.string(), + location: ScriptsGetCustomCodeResponseScriptsItemLocation, + version: core.serialization.string(), + attributes: core.serialization.record(core.serialization.string(), core.serialization.unknown()).optional(), +}); + +export declare namespace ScriptsGetCustomCodeResponseScriptsItem { + interface Raw { + id: string; + location: ScriptsGetCustomCodeResponseScriptsItemLocation.Raw; + version: string; + attributes?: Record | null; + } +} diff --git a/src/serialization/resources/sites/resources/scripts/types/ScriptsGetCustomCodeResponseScriptsItemLocation.ts b/src/serialization/resources/sites/resources/scripts/types/ScriptsGetCustomCodeResponseScriptsItemLocation.ts new file mode 100644 index 00000000..c4789468 --- /dev/null +++ b/src/serialization/resources/sites/resources/scripts/types/ScriptsGetCustomCodeResponseScriptsItemLocation.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ScriptsGetCustomCodeResponseScriptsItemLocation: core.serialization.Schema< + serializers.sites.ScriptsGetCustomCodeResponseScriptsItemLocation.Raw, + Webflow.sites.ScriptsGetCustomCodeResponseScriptsItemLocation +> = core.serialization.enum_(["header", "footer"]); + +export declare namespace ScriptsGetCustomCodeResponseScriptsItemLocation { + type Raw = "header" | "footer"; +} diff --git a/src/serialization/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponse.ts b/src/serialization/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponse.ts new file mode 100644 index 00000000..477a46cb --- /dev/null +++ b/src/serialization/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponse.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ScriptsListCustomCodeBlocksResponseBlocksItem } from "./ScriptsListCustomCodeBlocksResponseBlocksItem"; +import { ScriptsListCustomCodeBlocksResponsePagination } from "./ScriptsListCustomCodeBlocksResponsePagination"; + +export const ScriptsListCustomCodeBlocksResponse: core.serialization.ObjectSchema< + serializers.sites.ScriptsListCustomCodeBlocksResponse.Raw, + Webflow.sites.ScriptsListCustomCodeBlocksResponse +> = core.serialization.object({ + blocks: core.serialization.list(ScriptsListCustomCodeBlocksResponseBlocksItem).optional(), + pagination: ScriptsListCustomCodeBlocksResponsePagination.optional(), +}); + +export declare namespace ScriptsListCustomCodeBlocksResponse { + interface Raw { + blocks?: ScriptsListCustomCodeBlocksResponseBlocksItem.Raw[] | null; + pagination?: ScriptsListCustomCodeBlocksResponsePagination.Raw | null; + } +} diff --git a/src/serialization/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponseBlocksItem.ts b/src/serialization/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponseBlocksItem.ts new file mode 100644 index 00000000..8d1c73df --- /dev/null +++ b/src/serialization/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponseBlocksItem.ts @@ -0,0 +1,32 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ScriptsListCustomCodeBlocksResponseBlocksItemType } from "./ScriptsListCustomCodeBlocksResponseBlocksItemType"; +import { ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItem } from "./ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItem"; + +export const ScriptsListCustomCodeBlocksResponseBlocksItem: core.serialization.ObjectSchema< + serializers.sites.ScriptsListCustomCodeBlocksResponseBlocksItem.Raw, + Webflow.sites.ScriptsListCustomCodeBlocksResponseBlocksItem +> = core.serialization.object({ + siteId: core.serialization.string().optional(), + pageId: core.serialization.string().optional(), + type: ScriptsListCustomCodeBlocksResponseBlocksItemType.optional(), + scripts: core.serialization.list(ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItem).optional(), + createdOn: core.serialization.date().optional(), + lastUpdated: core.serialization.date().optional(), +}); + +export declare namespace ScriptsListCustomCodeBlocksResponseBlocksItem { + interface Raw { + siteId?: string | null; + pageId?: string | null; + type?: ScriptsListCustomCodeBlocksResponseBlocksItemType.Raw | null; + scripts?: ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItem.Raw[] | null; + createdOn?: string | null; + lastUpdated?: string | null; + } +} diff --git a/src/serialization/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItem.ts b/src/serialization/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItem.ts new file mode 100644 index 00000000..63a289bc --- /dev/null +++ b/src/serialization/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItem.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItemLocation } from "./ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItemLocation"; + +export const ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItem: core.serialization.ObjectSchema< + serializers.sites.ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItem.Raw, + Webflow.sites.ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItem +> = core.serialization.object({ + id: core.serialization.string(), + location: ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItemLocation, + version: core.serialization.string(), + attributes: core.serialization.record(core.serialization.string(), core.serialization.unknown()).optional(), +}); + +export declare namespace ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItem { + interface Raw { + id: string; + location: ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItemLocation.Raw; + version: string; + attributes?: Record | null; + } +} diff --git a/src/serialization/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItemLocation.ts b/src/serialization/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItemLocation.ts new file mode 100644 index 00000000..2d833608 --- /dev/null +++ b/src/serialization/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItemLocation.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItemLocation: core.serialization.Schema< + serializers.sites.ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItemLocation.Raw, + Webflow.sites.ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItemLocation +> = core.serialization.enum_(["header", "footer"]); + +export declare namespace ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItemLocation { + type Raw = "header" | "footer"; +} diff --git a/src/serialization/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponseBlocksItemType.ts b/src/serialization/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponseBlocksItemType.ts new file mode 100644 index 00000000..3c5b8578 --- /dev/null +++ b/src/serialization/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponseBlocksItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ScriptsListCustomCodeBlocksResponseBlocksItemType: core.serialization.Schema< + serializers.sites.ScriptsListCustomCodeBlocksResponseBlocksItemType.Raw, + Webflow.sites.ScriptsListCustomCodeBlocksResponseBlocksItemType +> = core.serialization.enum_(["page", "site"]); + +export declare namespace ScriptsListCustomCodeBlocksResponseBlocksItemType { + type Raw = "page" | "site"; +} diff --git a/src/serialization/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponsePagination.ts b/src/serialization/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponsePagination.ts new file mode 100644 index 00000000..87b3b37a --- /dev/null +++ b/src/serialization/resources/sites/resources/scripts/types/ScriptsListCustomCodeBlocksResponsePagination.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ScriptsListCustomCodeBlocksResponsePagination: core.serialization.ObjectSchema< + serializers.sites.ScriptsListCustomCodeBlocksResponsePagination.Raw, + Webflow.sites.ScriptsListCustomCodeBlocksResponsePagination +> = core.serialization.object({ + limit: core.serialization.number().optional(), + offset: core.serialization.number().optional(), + total: core.serialization.number().optional(), +}); + +export declare namespace ScriptsListCustomCodeBlocksResponsePagination { + interface Raw { + limit?: number | null; + offset?: number | null; + total?: number | null; + } +} diff --git a/src/serialization/resources/sites/resources/scripts/types/ScriptsUpsertCustomCodeRequestScriptsItem.ts b/src/serialization/resources/sites/resources/scripts/types/ScriptsUpsertCustomCodeRequestScriptsItem.ts new file mode 100644 index 00000000..f2a349f5 --- /dev/null +++ b/src/serialization/resources/sites/resources/scripts/types/ScriptsUpsertCustomCodeRequestScriptsItem.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ScriptsUpsertCustomCodeRequestScriptsItemLocation } from "./ScriptsUpsertCustomCodeRequestScriptsItemLocation"; + +export const ScriptsUpsertCustomCodeRequestScriptsItem: core.serialization.ObjectSchema< + serializers.sites.ScriptsUpsertCustomCodeRequestScriptsItem.Raw, + Webflow.sites.ScriptsUpsertCustomCodeRequestScriptsItem +> = core.serialization.object({ + id: core.serialization.string(), + location: ScriptsUpsertCustomCodeRequestScriptsItemLocation, + version: core.serialization.string(), + attributes: core.serialization.record(core.serialization.string(), core.serialization.unknown()).optional(), +}); + +export declare namespace ScriptsUpsertCustomCodeRequestScriptsItem { + interface Raw { + id: string; + location: ScriptsUpsertCustomCodeRequestScriptsItemLocation.Raw; + version: string; + attributes?: Record | null; + } +} diff --git a/src/serialization/resources/sites/resources/scripts/types/ScriptsUpsertCustomCodeRequestScriptsItemLocation.ts b/src/serialization/resources/sites/resources/scripts/types/ScriptsUpsertCustomCodeRequestScriptsItemLocation.ts new file mode 100644 index 00000000..fd49d968 --- /dev/null +++ b/src/serialization/resources/sites/resources/scripts/types/ScriptsUpsertCustomCodeRequestScriptsItemLocation.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ScriptsUpsertCustomCodeRequestScriptsItemLocation: core.serialization.Schema< + serializers.sites.ScriptsUpsertCustomCodeRequestScriptsItemLocation.Raw, + Webflow.sites.ScriptsUpsertCustomCodeRequestScriptsItemLocation +> = core.serialization.enum_(["header", "footer"]); + +export declare namespace ScriptsUpsertCustomCodeRequestScriptsItemLocation { + type Raw = "header" | "footer"; +} diff --git a/src/serialization/resources/sites/resources/scripts/types/ScriptsUpsertCustomCodeResponse.ts b/src/serialization/resources/sites/resources/scripts/types/ScriptsUpsertCustomCodeResponse.ts new file mode 100644 index 00000000..dbf63bc8 --- /dev/null +++ b/src/serialization/resources/sites/resources/scripts/types/ScriptsUpsertCustomCodeResponse.ts @@ -0,0 +1,25 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ScriptsUpsertCustomCodeResponseScriptsItem } from "./ScriptsUpsertCustomCodeResponseScriptsItem"; + +export const ScriptsUpsertCustomCodeResponse: core.serialization.ObjectSchema< + serializers.sites.ScriptsUpsertCustomCodeResponse.Raw, + Webflow.sites.ScriptsUpsertCustomCodeResponse +> = core.serialization.object({ + scripts: core.serialization.list(ScriptsUpsertCustomCodeResponseScriptsItem).optional(), + lastUpdated: core.serialization.string().optional(), + createdOn: core.serialization.string().optional(), +}); + +export declare namespace ScriptsUpsertCustomCodeResponse { + interface Raw { + scripts?: ScriptsUpsertCustomCodeResponseScriptsItem.Raw[] | null; + lastUpdated?: string | null; + createdOn?: string | null; + } +} diff --git a/src/serialization/resources/sites/resources/scripts/types/ScriptsUpsertCustomCodeResponseScriptsItem.ts b/src/serialization/resources/sites/resources/scripts/types/ScriptsUpsertCustomCodeResponseScriptsItem.ts new file mode 100644 index 00000000..f6e3d1b9 --- /dev/null +++ b/src/serialization/resources/sites/resources/scripts/types/ScriptsUpsertCustomCodeResponseScriptsItem.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; +import { ScriptsUpsertCustomCodeResponseScriptsItemLocation } from "./ScriptsUpsertCustomCodeResponseScriptsItemLocation"; + +export const ScriptsUpsertCustomCodeResponseScriptsItem: core.serialization.ObjectSchema< + serializers.sites.ScriptsUpsertCustomCodeResponseScriptsItem.Raw, + Webflow.sites.ScriptsUpsertCustomCodeResponseScriptsItem +> = core.serialization.object({ + id: core.serialization.string(), + location: ScriptsUpsertCustomCodeResponseScriptsItemLocation, + version: core.serialization.string(), + attributes: core.serialization.record(core.serialization.string(), core.serialization.unknown()).optional(), +}); + +export declare namespace ScriptsUpsertCustomCodeResponseScriptsItem { + interface Raw { + id: string; + location: ScriptsUpsertCustomCodeResponseScriptsItemLocation.Raw; + version: string; + attributes?: Record | null; + } +} diff --git a/src/serialization/resources/sites/resources/scripts/types/ScriptsUpsertCustomCodeResponseScriptsItemLocation.ts b/src/serialization/resources/sites/resources/scripts/types/ScriptsUpsertCustomCodeResponseScriptsItemLocation.ts new file mode 100644 index 00000000..99a745f0 --- /dev/null +++ b/src/serialization/resources/sites/resources/scripts/types/ScriptsUpsertCustomCodeResponseScriptsItemLocation.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../../index"; +import * as Webflow from "../../../../../../api/index"; +import * as core from "../../../../../../core"; + +export const ScriptsUpsertCustomCodeResponseScriptsItemLocation: core.serialization.Schema< + serializers.sites.ScriptsUpsertCustomCodeResponseScriptsItemLocation.Raw, + Webflow.sites.ScriptsUpsertCustomCodeResponseScriptsItemLocation +> = core.serialization.enum_(["header", "footer"]); + +export declare namespace ScriptsUpsertCustomCodeResponseScriptsItemLocation { + type Raw = "header" | "footer"; +} diff --git a/src/serialization/resources/sites/resources/scripts/types/index.ts b/src/serialization/resources/sites/resources/scripts/types/index.ts new file mode 100644 index 00000000..e2d1ca81 --- /dev/null +++ b/src/serialization/resources/sites/resources/scripts/types/index.ts @@ -0,0 +1,14 @@ +export * from "./ScriptsGetCustomCodeResponseScriptsItemLocation"; +export * from "./ScriptsGetCustomCodeResponseScriptsItem"; +export * from "./ScriptsGetCustomCodeResponse"; +export * from "./ScriptsUpsertCustomCodeRequestScriptsItemLocation"; +export * from "./ScriptsUpsertCustomCodeRequestScriptsItem"; +export * from "./ScriptsUpsertCustomCodeResponseScriptsItemLocation"; +export * from "./ScriptsUpsertCustomCodeResponseScriptsItem"; +export * from "./ScriptsUpsertCustomCodeResponse"; +export * from "./ScriptsListCustomCodeBlocksResponseBlocksItemType"; +export * from "./ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItemLocation"; +export * from "./ScriptsListCustomCodeBlocksResponseBlocksItemScriptsItem"; +export * from "./ScriptsListCustomCodeBlocksResponseBlocksItem"; +export * from "./ScriptsListCustomCodeBlocksResponsePagination"; +export * from "./ScriptsListCustomCodeBlocksResponse"; diff --git a/src/serialization/resources/sites/types/SitePublishPayload.ts b/src/serialization/resources/sites/types/SitePublishPayload.ts new file mode 100644 index 00000000..44dd45d3 --- /dev/null +++ b/src/serialization/resources/sites/types/SitePublishPayload.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { SitePublishPayloadPayload } from "./SitePublishPayloadPayload"; + +export const SitePublishPayload: core.serialization.ObjectSchema< + serializers.SitePublishPayload.Raw, + Webflow.SitePublishPayload +> = core.serialization.object({ + triggerType: core.serialization.string().optional(), + payload: SitePublishPayloadPayload.optional(), +}); + +export declare namespace SitePublishPayload { + interface Raw { + triggerType?: string | null; + payload?: SitePublishPayloadPayload.Raw | null; + } +} diff --git a/src/serialization/resources/sites/types/SitePublishPayloadPayload.ts b/src/serialization/resources/sites/types/SitePublishPayloadPayload.ts new file mode 100644 index 00000000..5fd698de --- /dev/null +++ b/src/serialization/resources/sites/types/SitePublishPayloadPayload.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const SitePublishPayloadPayload: core.serialization.ObjectSchema< + serializers.SitePublishPayloadPayload.Raw, + Webflow.SitePublishPayloadPayload +> = core.serialization.object({ + siteId: core.serialization.string().optional(), + publishedOn: core.serialization.date().optional(), + domains: core.serialization.list(core.serialization.string()).optional(), + publishedBy: core.serialization.record(core.serialization.string(), core.serialization.unknown()).optional(), +}); + +export declare namespace SitePublishPayloadPayload { + interface Raw { + siteId?: string | null; + publishedOn?: string | null; + domains?: string[] | null; + publishedBy?: Record | null; + } +} diff --git a/src/serialization/resources/sites/types/SitesGetCustomDomainResponse.ts b/src/serialization/resources/sites/types/SitesGetCustomDomainResponse.ts new file mode 100644 index 00000000..0e62b94a --- /dev/null +++ b/src/serialization/resources/sites/types/SitesGetCustomDomainResponse.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { SitesGetCustomDomainResponseCustomDomainsItem } from "./SitesGetCustomDomainResponseCustomDomainsItem"; + +export const SitesGetCustomDomainResponse: core.serialization.ObjectSchema< + serializers.SitesGetCustomDomainResponse.Raw, + Webflow.SitesGetCustomDomainResponse +> = core.serialization.object({ + customDomains: core.serialization.list(SitesGetCustomDomainResponseCustomDomainsItem).optional(), +}); + +export declare namespace SitesGetCustomDomainResponse { + interface Raw { + customDomains?: SitesGetCustomDomainResponseCustomDomainsItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/sites/types/SitesGetCustomDomainResponseCustomDomainsItem.ts b/src/serialization/resources/sites/types/SitesGetCustomDomainResponseCustomDomainsItem.ts new file mode 100644 index 00000000..aef1eb20 --- /dev/null +++ b/src/serialization/resources/sites/types/SitesGetCustomDomainResponseCustomDomainsItem.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const SitesGetCustomDomainResponseCustomDomainsItem: core.serialization.ObjectSchema< + serializers.SitesGetCustomDomainResponseCustomDomainsItem.Raw, + Webflow.SitesGetCustomDomainResponseCustomDomainsItem +> = core.serialization.object({ + id: core.serialization.string(), + url: core.serialization.string().optional(), +}); + +export declare namespace SitesGetCustomDomainResponseCustomDomainsItem { + interface Raw { + id: string; + url?: string | null; + } +} diff --git a/src/serialization/resources/sites/types/SitesGetResponse.ts b/src/serialization/resources/sites/types/SitesGetResponse.ts new file mode 100644 index 00000000..239494c4 --- /dev/null +++ b/src/serialization/resources/sites/types/SitesGetResponse.ts @@ -0,0 +1,44 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { SitesGetResponseCustomDomainsItem } from "./SitesGetResponseCustomDomainsItem"; +import { SitesGetResponseLocales } from "./SitesGetResponseLocales"; + +export const SitesGetResponse: core.serialization.ObjectSchema< + serializers.SitesGetResponse.Raw, + Webflow.SitesGetResponse +> = core.serialization.object({ + id: core.serialization.string(), + workspaceId: core.serialization.string().optional(), + createdOn: core.serialization.date().optional(), + displayName: core.serialization.string().optional(), + shortName: core.serialization.string().optional(), + lastPublished: core.serialization.date().optional(), + lastUpdated: core.serialization.date().optional(), + previewUrl: core.serialization.string().optional(), + timeZone: core.serialization.string().optional(), + parentFolderId: core.serialization.string().optional(), + customDomains: core.serialization.list(SitesGetResponseCustomDomainsItem).optional(), + locales: SitesGetResponseLocales.optional(), +}); + +export declare namespace SitesGetResponse { + interface Raw { + id: string; + workspaceId?: string | null; + createdOn?: string | null; + displayName?: string | null; + shortName?: string | null; + lastPublished?: string | null; + lastUpdated?: string | null; + previewUrl?: string | null; + timeZone?: string | null; + parentFolderId?: string | null; + customDomains?: SitesGetResponseCustomDomainsItem.Raw[] | null; + locales?: SitesGetResponseLocales.Raw | null; + } +} diff --git a/src/serialization/resources/sites/types/SitesGetResponseCustomDomainsItem.ts b/src/serialization/resources/sites/types/SitesGetResponseCustomDomainsItem.ts new file mode 100644 index 00000000..366c6ef2 --- /dev/null +++ b/src/serialization/resources/sites/types/SitesGetResponseCustomDomainsItem.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const SitesGetResponseCustomDomainsItem: core.serialization.ObjectSchema< + serializers.SitesGetResponseCustomDomainsItem.Raw, + Webflow.SitesGetResponseCustomDomainsItem +> = core.serialization.object({ + id: core.serialization.string(), + url: core.serialization.string().optional(), +}); + +export declare namespace SitesGetResponseCustomDomainsItem { + interface Raw { + id: string; + url?: string | null; + } +} diff --git a/src/serialization/resources/sites/types/SitesGetResponseLocales.ts b/src/serialization/resources/sites/types/SitesGetResponseLocales.ts new file mode 100644 index 00000000..642ce460 --- /dev/null +++ b/src/serialization/resources/sites/types/SitesGetResponseLocales.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { SitesGetResponseLocalesPrimary } from "./SitesGetResponseLocalesPrimary"; +import { SitesGetResponseLocalesSecondaryItem } from "./SitesGetResponseLocalesSecondaryItem"; + +export const SitesGetResponseLocales: core.serialization.ObjectSchema< + serializers.SitesGetResponseLocales.Raw, + Webflow.SitesGetResponseLocales +> = core.serialization.object({ + primary: SitesGetResponseLocalesPrimary.optional(), + secondary: core.serialization.list(SitesGetResponseLocalesSecondaryItem).optional(), +}); + +export declare namespace SitesGetResponseLocales { + interface Raw { + primary?: SitesGetResponseLocalesPrimary.Raw | null; + secondary?: SitesGetResponseLocalesSecondaryItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/sites/types/SitesGetResponseLocalesPrimary.ts b/src/serialization/resources/sites/types/SitesGetResponseLocalesPrimary.ts new file mode 100644 index 00000000..a53484a8 --- /dev/null +++ b/src/serialization/resources/sites/types/SitesGetResponseLocalesPrimary.ts @@ -0,0 +1,34 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const SitesGetResponseLocalesPrimary: core.serialization.ObjectSchema< + serializers.SitesGetResponseLocalesPrimary.Raw, + Webflow.SitesGetResponseLocalesPrimary +> = core.serialization.object({ + id: core.serialization.string().optional(), + cmsLocaleId: core.serialization.string().optional(), + enabled: core.serialization.boolean().optional(), + displayName: core.serialization.string().optional(), + displayImageId: core.serialization.string().optional(), + redirect: core.serialization.boolean().optional(), + subdirectory: core.serialization.string().optional(), + tag: core.serialization.string().optional(), +}); + +export declare namespace SitesGetResponseLocalesPrimary { + interface Raw { + id?: string | null; + cmsLocaleId?: string | null; + enabled?: boolean | null; + displayName?: string | null; + displayImageId?: string | null; + redirect?: boolean | null; + subdirectory?: string | null; + tag?: string | null; + } +} diff --git a/src/serialization/resources/sites/types/SitesGetResponseLocalesSecondaryItem.ts b/src/serialization/resources/sites/types/SitesGetResponseLocalesSecondaryItem.ts new file mode 100644 index 00000000..3c44f1cc --- /dev/null +++ b/src/serialization/resources/sites/types/SitesGetResponseLocalesSecondaryItem.ts @@ -0,0 +1,34 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const SitesGetResponseLocalesSecondaryItem: core.serialization.ObjectSchema< + serializers.SitesGetResponseLocalesSecondaryItem.Raw, + Webflow.SitesGetResponseLocalesSecondaryItem +> = core.serialization.object({ + id: core.serialization.string().optional(), + cmsLocaleId: core.serialization.string().optional(), + enabled: core.serialization.boolean().optional(), + displayName: core.serialization.string().optional(), + displayImageId: core.serialization.string().optional(), + redirect: core.serialization.boolean().optional(), + subdirectory: core.serialization.string().optional(), + tag: core.serialization.string().optional(), +}); + +export declare namespace SitesGetResponseLocalesSecondaryItem { + interface Raw { + id?: string | null; + cmsLocaleId?: string | null; + enabled?: boolean | null; + displayName?: string | null; + displayImageId?: string | null; + redirect?: boolean | null; + subdirectory?: string | null; + tag?: string | null; + } +} diff --git a/src/serialization/resources/sites/types/SitesListResponse.ts b/src/serialization/resources/sites/types/SitesListResponse.ts new file mode 100644 index 00000000..3835a01d --- /dev/null +++ b/src/serialization/resources/sites/types/SitesListResponse.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { SitesListResponseSitesItem } from "./SitesListResponseSitesItem"; + +export const SitesListResponse: core.serialization.ObjectSchema< + serializers.SitesListResponse.Raw, + Webflow.SitesListResponse +> = core.serialization.object({ + sites: core.serialization.list(SitesListResponseSitesItem).optional(), +}); + +export declare namespace SitesListResponse { + interface Raw { + sites?: SitesListResponseSitesItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/sites/types/SitesListResponseSitesItem.ts b/src/serialization/resources/sites/types/SitesListResponseSitesItem.ts new file mode 100644 index 00000000..587d884a --- /dev/null +++ b/src/serialization/resources/sites/types/SitesListResponseSitesItem.ts @@ -0,0 +1,44 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { SitesListResponseSitesItemCustomDomainsItem } from "./SitesListResponseSitesItemCustomDomainsItem"; +import { SitesListResponseSitesItemLocales } from "./SitesListResponseSitesItemLocales"; + +export const SitesListResponseSitesItem: core.serialization.ObjectSchema< + serializers.SitesListResponseSitesItem.Raw, + Webflow.SitesListResponseSitesItem +> = core.serialization.object({ + id: core.serialization.string(), + workspaceId: core.serialization.string().optional(), + createdOn: core.serialization.date().optional(), + displayName: core.serialization.string().optional(), + shortName: core.serialization.string().optional(), + lastPublished: core.serialization.date().optional(), + lastUpdated: core.serialization.date().optional(), + previewUrl: core.serialization.string().optional(), + timeZone: core.serialization.string().optional(), + parentFolderId: core.serialization.string().optional(), + customDomains: core.serialization.list(SitesListResponseSitesItemCustomDomainsItem).optional(), + locales: SitesListResponseSitesItemLocales.optional(), +}); + +export declare namespace SitesListResponseSitesItem { + interface Raw { + id: string; + workspaceId?: string | null; + createdOn?: string | null; + displayName?: string | null; + shortName?: string | null; + lastPublished?: string | null; + lastUpdated?: string | null; + previewUrl?: string | null; + timeZone?: string | null; + parentFolderId?: string | null; + customDomains?: SitesListResponseSitesItemCustomDomainsItem.Raw[] | null; + locales?: SitesListResponseSitesItemLocales.Raw | null; + } +} diff --git a/src/serialization/resources/sites/types/SitesListResponseSitesItemCustomDomainsItem.ts b/src/serialization/resources/sites/types/SitesListResponseSitesItemCustomDomainsItem.ts new file mode 100644 index 00000000..57d4e8b4 --- /dev/null +++ b/src/serialization/resources/sites/types/SitesListResponseSitesItemCustomDomainsItem.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const SitesListResponseSitesItemCustomDomainsItem: core.serialization.ObjectSchema< + serializers.SitesListResponseSitesItemCustomDomainsItem.Raw, + Webflow.SitesListResponseSitesItemCustomDomainsItem +> = core.serialization.object({ + id: core.serialization.string(), + url: core.serialization.string().optional(), +}); + +export declare namespace SitesListResponseSitesItemCustomDomainsItem { + interface Raw { + id: string; + url?: string | null; + } +} diff --git a/src/serialization/resources/sites/types/SitesListResponseSitesItemLocales.ts b/src/serialization/resources/sites/types/SitesListResponseSitesItemLocales.ts new file mode 100644 index 00000000..a4cc34f1 --- /dev/null +++ b/src/serialization/resources/sites/types/SitesListResponseSitesItemLocales.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { SitesListResponseSitesItemLocalesPrimary } from "./SitesListResponseSitesItemLocalesPrimary"; +import { SitesListResponseSitesItemLocalesSecondaryItem } from "./SitesListResponseSitesItemLocalesSecondaryItem"; + +export const SitesListResponseSitesItemLocales: core.serialization.ObjectSchema< + serializers.SitesListResponseSitesItemLocales.Raw, + Webflow.SitesListResponseSitesItemLocales +> = core.serialization.object({ + primary: SitesListResponseSitesItemLocalesPrimary.optional(), + secondary: core.serialization.list(SitesListResponseSitesItemLocalesSecondaryItem).optional(), +}); + +export declare namespace SitesListResponseSitesItemLocales { + interface Raw { + primary?: SitesListResponseSitesItemLocalesPrimary.Raw | null; + secondary?: SitesListResponseSitesItemLocalesSecondaryItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/sites/types/SitesListResponseSitesItemLocalesPrimary.ts b/src/serialization/resources/sites/types/SitesListResponseSitesItemLocalesPrimary.ts new file mode 100644 index 00000000..a5ffbf53 --- /dev/null +++ b/src/serialization/resources/sites/types/SitesListResponseSitesItemLocalesPrimary.ts @@ -0,0 +1,34 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const SitesListResponseSitesItemLocalesPrimary: core.serialization.ObjectSchema< + serializers.SitesListResponseSitesItemLocalesPrimary.Raw, + Webflow.SitesListResponseSitesItemLocalesPrimary +> = core.serialization.object({ + id: core.serialization.string().optional(), + cmsLocaleId: core.serialization.string().optional(), + enabled: core.serialization.boolean().optional(), + displayName: core.serialization.string().optional(), + displayImageId: core.serialization.string().optional(), + redirect: core.serialization.boolean().optional(), + subdirectory: core.serialization.string().optional(), + tag: core.serialization.string().optional(), +}); + +export declare namespace SitesListResponseSitesItemLocalesPrimary { + interface Raw { + id?: string | null; + cmsLocaleId?: string | null; + enabled?: boolean | null; + displayName?: string | null; + displayImageId?: string | null; + redirect?: boolean | null; + subdirectory?: string | null; + tag?: string | null; + } +} diff --git a/src/serialization/resources/sites/types/SitesListResponseSitesItemLocalesSecondaryItem.ts b/src/serialization/resources/sites/types/SitesListResponseSitesItemLocalesSecondaryItem.ts new file mode 100644 index 00000000..20576f77 --- /dev/null +++ b/src/serialization/resources/sites/types/SitesListResponseSitesItemLocalesSecondaryItem.ts @@ -0,0 +1,34 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const SitesListResponseSitesItemLocalesSecondaryItem: core.serialization.ObjectSchema< + serializers.SitesListResponseSitesItemLocalesSecondaryItem.Raw, + Webflow.SitesListResponseSitesItemLocalesSecondaryItem +> = core.serialization.object({ + id: core.serialization.string().optional(), + cmsLocaleId: core.serialization.string().optional(), + enabled: core.serialization.boolean().optional(), + displayName: core.serialization.string().optional(), + displayImageId: core.serialization.string().optional(), + redirect: core.serialization.boolean().optional(), + subdirectory: core.serialization.string().optional(), + tag: core.serialization.string().optional(), +}); + +export declare namespace SitesListResponseSitesItemLocalesSecondaryItem { + interface Raw { + id?: string | null; + cmsLocaleId?: string | null; + enabled?: boolean | null; + displayName?: string | null; + displayImageId?: string | null; + redirect?: boolean | null; + subdirectory?: string | null; + tag?: string | null; + } +} diff --git a/src/serialization/resources/sites/types/SitesPublishResponse.ts b/src/serialization/resources/sites/types/SitesPublishResponse.ts index e51c1c25..8a577019 100644 --- a/src/serialization/resources/sites/types/SitesPublishResponse.ts +++ b/src/serialization/resources/sites/types/SitesPublishResponse.ts @@ -5,19 +5,19 @@ import * as serializers from "../../../index"; import * as Webflow from "../../../../api/index"; import * as core from "../../../../core"; -import { Domain } from "../../../types/Domain"; +import { SitesPublishResponseCustomDomainsItem } from "./SitesPublishResponseCustomDomainsItem"; export const SitesPublishResponse: core.serialization.ObjectSchema< serializers.SitesPublishResponse.Raw, Webflow.SitesPublishResponse > = core.serialization.object({ - customDomains: core.serialization.list(Domain).optional(), + customDomains: core.serialization.list(SitesPublishResponseCustomDomainsItem).optional(), publishToWebflowSubdomain: core.serialization.boolean().optional(), }); export declare namespace SitesPublishResponse { interface Raw { - customDomains?: Domain.Raw[] | null; + customDomains?: SitesPublishResponseCustomDomainsItem.Raw[] | null; publishToWebflowSubdomain?: boolean | null; } } diff --git a/src/serialization/resources/sites/types/SitesPublishResponseCustomDomainsItem.ts b/src/serialization/resources/sites/types/SitesPublishResponseCustomDomainsItem.ts new file mode 100644 index 00000000..b879253b --- /dev/null +++ b/src/serialization/resources/sites/types/SitesPublishResponseCustomDomainsItem.ts @@ -0,0 +1,22 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const SitesPublishResponseCustomDomainsItem: core.serialization.ObjectSchema< + serializers.SitesPublishResponseCustomDomainsItem.Raw, + Webflow.SitesPublishResponseCustomDomainsItem +> = core.serialization.object({ + id: core.serialization.string(), + url: core.serialization.string().optional(), +}); + +export declare namespace SitesPublishResponseCustomDomainsItem { + interface Raw { + id: string; + url?: string | null; + } +} diff --git a/src/serialization/resources/sites/types/index.ts b/src/serialization/resources/sites/types/index.ts index 7708da86..837f6468 100644 --- a/src/serialization/resources/sites/types/index.ts +++ b/src/serialization/resources/sites/types/index.ts @@ -1 +1,17 @@ +export * from "./SitesListResponseSitesItemCustomDomainsItem"; +export * from "./SitesListResponseSitesItemLocalesPrimary"; +export * from "./SitesListResponseSitesItemLocalesSecondaryItem"; +export * from "./SitesListResponseSitesItemLocales"; +export * from "./SitesListResponseSitesItem"; +export * from "./SitesListResponse"; +export * from "./SitesGetResponseCustomDomainsItem"; +export * from "./SitesGetResponseLocalesPrimary"; +export * from "./SitesGetResponseLocalesSecondaryItem"; +export * from "./SitesGetResponseLocales"; +export * from "./SitesGetResponse"; +export * from "./SitesGetCustomDomainResponseCustomDomainsItem"; +export * from "./SitesGetCustomDomainResponse"; +export * from "./SitesPublishResponseCustomDomainsItem"; export * from "./SitesPublishResponse"; +export * from "./SitePublishPayloadPayload"; +export * from "./SitePublishPayload"; diff --git a/src/serialization/resources/token/index.ts b/src/serialization/resources/token/index.ts new file mode 100644 index 00000000..eea524d6 --- /dev/null +++ b/src/serialization/resources/token/index.ts @@ -0,0 +1 @@ +export * from "./types"; diff --git a/src/serialization/resources/token/types/TokenAuthorizedByResponse.ts b/src/serialization/resources/token/types/TokenAuthorizedByResponse.ts new file mode 100644 index 00000000..9d85bf41 --- /dev/null +++ b/src/serialization/resources/token/types/TokenAuthorizedByResponse.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const TokenAuthorizedByResponse: core.serialization.ObjectSchema< + serializers.TokenAuthorizedByResponse.Raw, + Webflow.TokenAuthorizedByResponse +> = core.serialization.object({ + id: core.serialization.string().optional(), + email: core.serialization.string().optional(), + firstName: core.serialization.string().optional(), + lastName: core.serialization.string().optional(), +}); + +export declare namespace TokenAuthorizedByResponse { + interface Raw { + id?: string | null; + email?: string | null; + firstName?: string | null; + lastName?: string | null; + } +} diff --git a/src/serialization/resources/token/types/TokenIntrospectResponse.ts b/src/serialization/resources/token/types/TokenIntrospectResponse.ts new file mode 100644 index 00000000..d6f92e2e --- /dev/null +++ b/src/serialization/resources/token/types/TokenIntrospectResponse.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { TokenIntrospectResponseAuthorization } from "./TokenIntrospectResponseAuthorization"; + +export const TokenIntrospectResponse: core.serialization.ObjectSchema< + serializers.TokenIntrospectResponse.Raw, + Webflow.TokenIntrospectResponse +> = core.serialization.object({ + authorization: TokenIntrospectResponseAuthorization.optional(), + application: core.serialization.unknown().optional(), +}); + +export declare namespace TokenIntrospectResponse { + interface Raw { + authorization?: TokenIntrospectResponseAuthorization.Raw | null; + application?: unknown | null; + } +} diff --git a/src/serialization/resources/token/types/TokenIntrospectResponseAuthorization.ts b/src/serialization/resources/token/types/TokenIntrospectResponseAuthorization.ts new file mode 100644 index 00000000..4b2f5682 --- /dev/null +++ b/src/serialization/resources/token/types/TokenIntrospectResponseAuthorization.ts @@ -0,0 +1,33 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { TokenIntrospectResponseAuthorizationAuthorizedTo } from "./TokenIntrospectResponseAuthorizationAuthorizedTo"; + +export const TokenIntrospectResponseAuthorization: core.serialization.ObjectSchema< + serializers.TokenIntrospectResponseAuthorization.Raw, + Webflow.TokenIntrospectResponseAuthorization +> = core.serialization.object({ + id: core.serialization.string().optional(), + createdOn: core.serialization.date().optional(), + lastUsed: core.serialization.date().optional(), + grantType: core.serialization.string().optional(), + rateLimit: core.serialization.number().optional(), + scope: core.serialization.string().optional(), + authorizedTo: TokenIntrospectResponseAuthorizationAuthorizedTo.optional(), +}); + +export declare namespace TokenIntrospectResponseAuthorization { + interface Raw { + id?: string | null; + createdOn?: string | null; + lastUsed?: string | null; + grantType?: string | null; + rateLimit?: number | null; + scope?: string | null; + authorizedTo?: TokenIntrospectResponseAuthorizationAuthorizedTo.Raw | null; + } +} diff --git a/src/serialization/resources/token/types/TokenIntrospectResponseAuthorizationAuthorizedTo.ts b/src/serialization/resources/token/types/TokenIntrospectResponseAuthorizationAuthorizedTo.ts new file mode 100644 index 00000000..e1046af5 --- /dev/null +++ b/src/serialization/resources/token/types/TokenIntrospectResponseAuthorizationAuthorizedTo.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const TokenIntrospectResponseAuthorizationAuthorizedTo: core.serialization.ObjectSchema< + serializers.TokenIntrospectResponseAuthorizationAuthorizedTo.Raw, + Webflow.TokenIntrospectResponseAuthorizationAuthorizedTo +> = core.serialization.object({ + siteIds: core.serialization.list(core.serialization.unknown()).optional(), + workspaceIds: core.serialization.list(core.serialization.unknown()).optional(), + userIds: core.serialization.list(core.serialization.unknown()).optional(), +}); + +export declare namespace TokenIntrospectResponseAuthorizationAuthorizedTo { + interface Raw { + siteIds?: unknown[] | null; + workspaceIds?: unknown[] | null; + userIds?: unknown[] | null; + } +} diff --git a/src/serialization/resources/token/types/index.ts b/src/serialization/resources/token/types/index.ts new file mode 100644 index 00000000..e3ecbc9a --- /dev/null +++ b/src/serialization/resources/token/types/index.ts @@ -0,0 +1,4 @@ +export * from "./TokenAuthorizedByResponse"; +export * from "./TokenIntrospectResponseAuthorizationAuthorizedTo"; +export * from "./TokenIntrospectResponseAuthorization"; +export * from "./TokenIntrospectResponse"; diff --git a/src/serialization/resources/users/types/UserAccountAddedPayload.ts b/src/serialization/resources/users/types/UserAccountAddedPayload.ts new file mode 100644 index 00000000..5e6299fe --- /dev/null +++ b/src/serialization/resources/users/types/UserAccountAddedPayload.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { UserAccountAddedPayloadTriggerType } from "./UserAccountAddedPayloadTriggerType"; +import { UserAccountAddedPayloadPayload } from "./UserAccountAddedPayloadPayload"; + +export const UserAccountAddedPayload: core.serialization.ObjectSchema< + serializers.UserAccountAddedPayload.Raw, + Webflow.UserAccountAddedPayload +> = core.serialization.object({ + triggerType: UserAccountAddedPayloadTriggerType.optional(), + payload: UserAccountAddedPayloadPayload.optional(), +}); + +export declare namespace UserAccountAddedPayload { + interface Raw { + triggerType?: UserAccountAddedPayloadTriggerType.Raw | null; + payload?: UserAccountAddedPayloadPayload.Raw | null; + } +} diff --git a/src/serialization/resources/users/types/UserAccountAddedPayloadPayload.ts b/src/serialization/resources/users/types/UserAccountAddedPayloadPayload.ts new file mode 100644 index 00000000..c623df65 --- /dev/null +++ b/src/serialization/resources/users/types/UserAccountAddedPayloadPayload.ts @@ -0,0 +1,39 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { UserAccountAddedPayloadPayloadStatus } from "./UserAccountAddedPayloadPayloadStatus"; +import { UserAccountAddedPayloadPayloadAccessGroupsItem } from "./UserAccountAddedPayloadPayloadAccessGroupsItem"; +import { UserAccountAddedPayloadPayloadData } from "./UserAccountAddedPayloadPayloadData"; + +export const UserAccountAddedPayloadPayload: core.serialization.ObjectSchema< + serializers.UserAccountAddedPayloadPayload.Raw, + Webflow.UserAccountAddedPayloadPayload +> = core.serialization.object({ + id: core.serialization.string().optional(), + isEmailVerified: core.serialization.boolean().optional(), + lastUpdated: core.serialization.date().optional(), + invitedOn: core.serialization.date().optional(), + createdOn: core.serialization.date().optional(), + lastLogin: core.serialization.date().optional(), + status: UserAccountAddedPayloadPayloadStatus.optional(), + accessGroups: core.serialization.list(UserAccountAddedPayloadPayloadAccessGroupsItem).optional(), + data: UserAccountAddedPayloadPayloadData.optional(), +}); + +export declare namespace UserAccountAddedPayloadPayload { + interface Raw { + id?: string | null; + isEmailVerified?: boolean | null; + lastUpdated?: string | null; + invitedOn?: string | null; + createdOn?: string | null; + lastLogin?: string | null; + status?: UserAccountAddedPayloadPayloadStatus.Raw | null; + accessGroups?: UserAccountAddedPayloadPayloadAccessGroupsItem.Raw[] | null; + data?: UserAccountAddedPayloadPayloadData.Raw | null; + } +} diff --git a/src/serialization/resources/users/types/UserAccountAddedPayloadPayloadAccessGroupsItem.ts b/src/serialization/resources/users/types/UserAccountAddedPayloadPayloadAccessGroupsItem.ts new file mode 100644 index 00000000..6927aceb --- /dev/null +++ b/src/serialization/resources/users/types/UserAccountAddedPayloadPayloadAccessGroupsItem.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { UserAccountAddedPayloadPayloadAccessGroupsItemType } from "./UserAccountAddedPayloadPayloadAccessGroupsItemType"; + +export const UserAccountAddedPayloadPayloadAccessGroupsItem: core.serialization.ObjectSchema< + serializers.UserAccountAddedPayloadPayloadAccessGroupsItem.Raw, + Webflow.UserAccountAddedPayloadPayloadAccessGroupsItem +> = core.serialization.object({ + slug: core.serialization.string().optional(), + type: UserAccountAddedPayloadPayloadAccessGroupsItemType.optional(), +}); + +export declare namespace UserAccountAddedPayloadPayloadAccessGroupsItem { + interface Raw { + slug?: string | null; + type?: UserAccountAddedPayloadPayloadAccessGroupsItemType.Raw | null; + } +} diff --git a/src/serialization/resources/users/types/UserAccountAddedPayloadPayloadAccessGroupsItemType.ts b/src/serialization/resources/users/types/UserAccountAddedPayloadPayloadAccessGroupsItemType.ts new file mode 100644 index 00000000..8b133d64 --- /dev/null +++ b/src/serialization/resources/users/types/UserAccountAddedPayloadPayloadAccessGroupsItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const UserAccountAddedPayloadPayloadAccessGroupsItemType: core.serialization.Schema< + serializers.UserAccountAddedPayloadPayloadAccessGroupsItemType.Raw, + Webflow.UserAccountAddedPayloadPayloadAccessGroupsItemType +> = core.serialization.enum_(["admin", "ecommerce"]); + +export declare namespace UserAccountAddedPayloadPayloadAccessGroupsItemType { + type Raw = "admin" | "ecommerce"; +} diff --git a/src/serialization/resources/users/types/UserAccountAddedPayloadPayloadData.ts b/src/serialization/resources/users/types/UserAccountAddedPayloadPayloadData.ts new file mode 100644 index 00000000..287fa103 --- /dev/null +++ b/src/serialization/resources/users/types/UserAccountAddedPayloadPayloadData.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { UserAccountAddedPayloadPayloadDataData } from "./UserAccountAddedPayloadPayloadDataData"; + +export const UserAccountAddedPayloadPayloadData: core.serialization.ObjectSchema< + serializers.UserAccountAddedPayloadPayloadData.Raw, + Webflow.UserAccountAddedPayloadPayloadData +> = core.serialization.object({ + data: UserAccountAddedPayloadPayloadDataData.optional(), +}); + +export declare namespace UserAccountAddedPayloadPayloadData { + interface Raw { + data?: UserAccountAddedPayloadPayloadDataData.Raw | null; + } +} diff --git a/src/serialization/resources/users/types/UserAccountAddedPayloadPayloadDataData.ts b/src/serialization/resources/users/types/UserAccountAddedPayloadPayloadDataData.ts new file mode 100644 index 00000000..dd4b9b3f --- /dev/null +++ b/src/serialization/resources/users/types/UserAccountAddedPayloadPayloadDataData.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const UserAccountAddedPayloadPayloadDataData: core.serialization.ObjectSchema< + serializers.UserAccountAddedPayloadPayloadDataData.Raw, + Webflow.UserAccountAddedPayloadPayloadDataData +> = core.serialization.object({ + name: core.serialization.string().optional(), + email: core.serialization.string().optional(), + acceptPrivacy: core.serialization.property("accept-privacy", core.serialization.boolean().optional()), + acceptCommunications: core.serialization.property("accept-communications", core.serialization.boolean().optional()), + additionalProperties: core.serialization.string().optional(), +}); + +export declare namespace UserAccountAddedPayloadPayloadDataData { + interface Raw { + name?: string | null; + email?: string | null; + "accept-privacy"?: boolean | null; + "accept-communications"?: boolean | null; + additionalProperties?: string | null; + } +} diff --git a/src/serialization/resources/users/types/UserAccountAddedPayloadPayloadStatus.ts b/src/serialization/resources/users/types/UserAccountAddedPayloadPayloadStatus.ts new file mode 100644 index 00000000..09d706e3 --- /dev/null +++ b/src/serialization/resources/users/types/UserAccountAddedPayloadPayloadStatus.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const UserAccountAddedPayloadPayloadStatus: core.serialization.Schema< + serializers.UserAccountAddedPayloadPayloadStatus.Raw, + Webflow.UserAccountAddedPayloadPayloadStatus +> = core.serialization.enum_(["invited", "verified", "unverified"]); + +export declare namespace UserAccountAddedPayloadPayloadStatus { + type Raw = "invited" | "verified" | "unverified"; +} diff --git a/src/serialization/resources/users/types/UserAccountAddedPayloadTriggerType.ts b/src/serialization/resources/users/types/UserAccountAddedPayloadTriggerType.ts new file mode 100644 index 00000000..ee7de47e --- /dev/null +++ b/src/serialization/resources/users/types/UserAccountAddedPayloadTriggerType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const UserAccountAddedPayloadTriggerType: core.serialization.Schema< + serializers.UserAccountAddedPayloadTriggerType.Raw, + Webflow.UserAccountAddedPayloadTriggerType +> = core.serialization.enum_(["user_account_added", "user_account_updated", "user_account_deleted"]); + +export declare namespace UserAccountAddedPayloadTriggerType { + type Raw = "user_account_added" | "user_account_updated" | "user_account_deleted"; +} diff --git a/src/serialization/resources/users/types/UserAccountDeletedPayload.ts b/src/serialization/resources/users/types/UserAccountDeletedPayload.ts new file mode 100644 index 00000000..126fc2ff --- /dev/null +++ b/src/serialization/resources/users/types/UserAccountDeletedPayload.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { UserAccountDeletedPayloadTriggerType } from "./UserAccountDeletedPayloadTriggerType"; +import { UserAccountDeletedPayloadPayload } from "./UserAccountDeletedPayloadPayload"; + +export const UserAccountDeletedPayload: core.serialization.ObjectSchema< + serializers.UserAccountDeletedPayload.Raw, + Webflow.UserAccountDeletedPayload +> = core.serialization.object({ + triggerType: UserAccountDeletedPayloadTriggerType.optional(), + payload: UserAccountDeletedPayloadPayload.optional(), +}); + +export declare namespace UserAccountDeletedPayload { + interface Raw { + triggerType?: UserAccountDeletedPayloadTriggerType.Raw | null; + payload?: UserAccountDeletedPayloadPayload.Raw | null; + } +} diff --git a/src/serialization/resources/users/types/UserAccountDeletedPayloadPayload.ts b/src/serialization/resources/users/types/UserAccountDeletedPayloadPayload.ts new file mode 100644 index 00000000..576e0f4c --- /dev/null +++ b/src/serialization/resources/users/types/UserAccountDeletedPayloadPayload.ts @@ -0,0 +1,39 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { UserAccountDeletedPayloadPayloadStatus } from "./UserAccountDeletedPayloadPayloadStatus"; +import { UserAccountDeletedPayloadPayloadAccessGroupsItem } from "./UserAccountDeletedPayloadPayloadAccessGroupsItem"; +import { UserAccountDeletedPayloadPayloadData } from "./UserAccountDeletedPayloadPayloadData"; + +export const UserAccountDeletedPayloadPayload: core.serialization.ObjectSchema< + serializers.UserAccountDeletedPayloadPayload.Raw, + Webflow.UserAccountDeletedPayloadPayload +> = core.serialization.object({ + id: core.serialization.string().optional(), + isEmailVerified: core.serialization.boolean().optional(), + lastUpdated: core.serialization.date().optional(), + invitedOn: core.serialization.date().optional(), + createdOn: core.serialization.date().optional(), + lastLogin: core.serialization.date().optional(), + status: UserAccountDeletedPayloadPayloadStatus.optional(), + accessGroups: core.serialization.list(UserAccountDeletedPayloadPayloadAccessGroupsItem).optional(), + data: UserAccountDeletedPayloadPayloadData.optional(), +}); + +export declare namespace UserAccountDeletedPayloadPayload { + interface Raw { + id?: string | null; + isEmailVerified?: boolean | null; + lastUpdated?: string | null; + invitedOn?: string | null; + createdOn?: string | null; + lastLogin?: string | null; + status?: UserAccountDeletedPayloadPayloadStatus.Raw | null; + accessGroups?: UserAccountDeletedPayloadPayloadAccessGroupsItem.Raw[] | null; + data?: UserAccountDeletedPayloadPayloadData.Raw | null; + } +} diff --git a/src/serialization/resources/users/types/UserAccountDeletedPayloadPayloadAccessGroupsItem.ts b/src/serialization/resources/users/types/UserAccountDeletedPayloadPayloadAccessGroupsItem.ts new file mode 100644 index 00000000..033c8c17 --- /dev/null +++ b/src/serialization/resources/users/types/UserAccountDeletedPayloadPayloadAccessGroupsItem.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { UserAccountDeletedPayloadPayloadAccessGroupsItemType } from "./UserAccountDeletedPayloadPayloadAccessGroupsItemType"; + +export const UserAccountDeletedPayloadPayloadAccessGroupsItem: core.serialization.ObjectSchema< + serializers.UserAccountDeletedPayloadPayloadAccessGroupsItem.Raw, + Webflow.UserAccountDeletedPayloadPayloadAccessGroupsItem +> = core.serialization.object({ + slug: core.serialization.string().optional(), + type: UserAccountDeletedPayloadPayloadAccessGroupsItemType.optional(), +}); + +export declare namespace UserAccountDeletedPayloadPayloadAccessGroupsItem { + interface Raw { + slug?: string | null; + type?: UserAccountDeletedPayloadPayloadAccessGroupsItemType.Raw | null; + } +} diff --git a/src/serialization/resources/users/types/UserAccountDeletedPayloadPayloadAccessGroupsItemType.ts b/src/serialization/resources/users/types/UserAccountDeletedPayloadPayloadAccessGroupsItemType.ts new file mode 100644 index 00000000..b6bbba56 --- /dev/null +++ b/src/serialization/resources/users/types/UserAccountDeletedPayloadPayloadAccessGroupsItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const UserAccountDeletedPayloadPayloadAccessGroupsItemType: core.serialization.Schema< + serializers.UserAccountDeletedPayloadPayloadAccessGroupsItemType.Raw, + Webflow.UserAccountDeletedPayloadPayloadAccessGroupsItemType +> = core.serialization.enum_(["admin", "ecommerce"]); + +export declare namespace UserAccountDeletedPayloadPayloadAccessGroupsItemType { + type Raw = "admin" | "ecommerce"; +} diff --git a/src/serialization/resources/users/types/UserAccountDeletedPayloadPayloadData.ts b/src/serialization/resources/users/types/UserAccountDeletedPayloadPayloadData.ts new file mode 100644 index 00000000..9dcfe4e7 --- /dev/null +++ b/src/serialization/resources/users/types/UserAccountDeletedPayloadPayloadData.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { UserAccountDeletedPayloadPayloadDataData } from "./UserAccountDeletedPayloadPayloadDataData"; + +export const UserAccountDeletedPayloadPayloadData: core.serialization.ObjectSchema< + serializers.UserAccountDeletedPayloadPayloadData.Raw, + Webflow.UserAccountDeletedPayloadPayloadData +> = core.serialization.object({ + data: UserAccountDeletedPayloadPayloadDataData.optional(), +}); + +export declare namespace UserAccountDeletedPayloadPayloadData { + interface Raw { + data?: UserAccountDeletedPayloadPayloadDataData.Raw | null; + } +} diff --git a/src/serialization/resources/users/types/UserAccountDeletedPayloadPayloadDataData.ts b/src/serialization/resources/users/types/UserAccountDeletedPayloadPayloadDataData.ts new file mode 100644 index 00000000..14daaae2 --- /dev/null +++ b/src/serialization/resources/users/types/UserAccountDeletedPayloadPayloadDataData.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const UserAccountDeletedPayloadPayloadDataData: core.serialization.ObjectSchema< + serializers.UserAccountDeletedPayloadPayloadDataData.Raw, + Webflow.UserAccountDeletedPayloadPayloadDataData +> = core.serialization.object({ + name: core.serialization.string().optional(), + email: core.serialization.string().optional(), + acceptPrivacy: core.serialization.property("accept-privacy", core.serialization.boolean().optional()), + acceptCommunications: core.serialization.property("accept-communications", core.serialization.boolean().optional()), + additionalProperties: core.serialization.string().optional(), +}); + +export declare namespace UserAccountDeletedPayloadPayloadDataData { + interface Raw { + name?: string | null; + email?: string | null; + "accept-privacy"?: boolean | null; + "accept-communications"?: boolean | null; + additionalProperties?: string | null; + } +} diff --git a/src/serialization/resources/users/types/UserAccountDeletedPayloadPayloadStatus.ts b/src/serialization/resources/users/types/UserAccountDeletedPayloadPayloadStatus.ts new file mode 100644 index 00000000..c1ef1602 --- /dev/null +++ b/src/serialization/resources/users/types/UserAccountDeletedPayloadPayloadStatus.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const UserAccountDeletedPayloadPayloadStatus: core.serialization.Schema< + serializers.UserAccountDeletedPayloadPayloadStatus.Raw, + Webflow.UserAccountDeletedPayloadPayloadStatus +> = core.serialization.enum_(["invited", "verified", "unverified"]); + +export declare namespace UserAccountDeletedPayloadPayloadStatus { + type Raw = "invited" | "verified" | "unverified"; +} diff --git a/src/serialization/resources/users/types/UserAccountDeletedPayloadTriggerType.ts b/src/serialization/resources/users/types/UserAccountDeletedPayloadTriggerType.ts new file mode 100644 index 00000000..103853f1 --- /dev/null +++ b/src/serialization/resources/users/types/UserAccountDeletedPayloadTriggerType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const UserAccountDeletedPayloadTriggerType: core.serialization.Schema< + serializers.UserAccountDeletedPayloadTriggerType.Raw, + Webflow.UserAccountDeletedPayloadTriggerType +> = core.serialization.enum_(["user_account_added", "user_account_updated", "user_account_deleted"]); + +export declare namespace UserAccountDeletedPayloadTriggerType { + type Raw = "user_account_added" | "user_account_updated" | "user_account_deleted"; +} diff --git a/src/serialization/resources/users/types/UserAccountUpdatedPayload.ts b/src/serialization/resources/users/types/UserAccountUpdatedPayload.ts new file mode 100644 index 00000000..d6ab7bd0 --- /dev/null +++ b/src/serialization/resources/users/types/UserAccountUpdatedPayload.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { UserAccountUpdatedPayloadTriggerType } from "./UserAccountUpdatedPayloadTriggerType"; +import { UserAccountUpdatedPayloadPayload } from "./UserAccountUpdatedPayloadPayload"; + +export const UserAccountUpdatedPayload: core.serialization.ObjectSchema< + serializers.UserAccountUpdatedPayload.Raw, + Webflow.UserAccountUpdatedPayload +> = core.serialization.object({ + triggerType: UserAccountUpdatedPayloadTriggerType.optional(), + payload: UserAccountUpdatedPayloadPayload.optional(), +}); + +export declare namespace UserAccountUpdatedPayload { + interface Raw { + triggerType?: UserAccountUpdatedPayloadTriggerType.Raw | null; + payload?: UserAccountUpdatedPayloadPayload.Raw | null; + } +} diff --git a/src/serialization/resources/users/types/UserAccountUpdatedPayloadPayload.ts b/src/serialization/resources/users/types/UserAccountUpdatedPayloadPayload.ts new file mode 100644 index 00000000..039916ee --- /dev/null +++ b/src/serialization/resources/users/types/UserAccountUpdatedPayloadPayload.ts @@ -0,0 +1,39 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { UserAccountUpdatedPayloadPayloadStatus } from "./UserAccountUpdatedPayloadPayloadStatus"; +import { UserAccountUpdatedPayloadPayloadAccessGroupsItem } from "./UserAccountUpdatedPayloadPayloadAccessGroupsItem"; +import { UserAccountUpdatedPayloadPayloadData } from "./UserAccountUpdatedPayloadPayloadData"; + +export const UserAccountUpdatedPayloadPayload: core.serialization.ObjectSchema< + serializers.UserAccountUpdatedPayloadPayload.Raw, + Webflow.UserAccountUpdatedPayloadPayload +> = core.serialization.object({ + id: core.serialization.string().optional(), + isEmailVerified: core.serialization.boolean().optional(), + lastUpdated: core.serialization.date().optional(), + invitedOn: core.serialization.date().optional(), + createdOn: core.serialization.date().optional(), + lastLogin: core.serialization.date().optional(), + status: UserAccountUpdatedPayloadPayloadStatus.optional(), + accessGroups: core.serialization.list(UserAccountUpdatedPayloadPayloadAccessGroupsItem).optional(), + data: UserAccountUpdatedPayloadPayloadData.optional(), +}); + +export declare namespace UserAccountUpdatedPayloadPayload { + interface Raw { + id?: string | null; + isEmailVerified?: boolean | null; + lastUpdated?: string | null; + invitedOn?: string | null; + createdOn?: string | null; + lastLogin?: string | null; + status?: UserAccountUpdatedPayloadPayloadStatus.Raw | null; + accessGroups?: UserAccountUpdatedPayloadPayloadAccessGroupsItem.Raw[] | null; + data?: UserAccountUpdatedPayloadPayloadData.Raw | null; + } +} diff --git a/src/serialization/resources/users/types/UserAccountUpdatedPayloadPayloadAccessGroupsItem.ts b/src/serialization/resources/users/types/UserAccountUpdatedPayloadPayloadAccessGroupsItem.ts new file mode 100644 index 00000000..93b32680 --- /dev/null +++ b/src/serialization/resources/users/types/UserAccountUpdatedPayloadPayloadAccessGroupsItem.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { UserAccountUpdatedPayloadPayloadAccessGroupsItemType } from "./UserAccountUpdatedPayloadPayloadAccessGroupsItemType"; + +export const UserAccountUpdatedPayloadPayloadAccessGroupsItem: core.serialization.ObjectSchema< + serializers.UserAccountUpdatedPayloadPayloadAccessGroupsItem.Raw, + Webflow.UserAccountUpdatedPayloadPayloadAccessGroupsItem +> = core.serialization.object({ + slug: core.serialization.string().optional(), + type: UserAccountUpdatedPayloadPayloadAccessGroupsItemType.optional(), +}); + +export declare namespace UserAccountUpdatedPayloadPayloadAccessGroupsItem { + interface Raw { + slug?: string | null; + type?: UserAccountUpdatedPayloadPayloadAccessGroupsItemType.Raw | null; + } +} diff --git a/src/serialization/resources/users/types/UserAccountUpdatedPayloadPayloadAccessGroupsItemType.ts b/src/serialization/resources/users/types/UserAccountUpdatedPayloadPayloadAccessGroupsItemType.ts new file mode 100644 index 00000000..bd8c51f5 --- /dev/null +++ b/src/serialization/resources/users/types/UserAccountUpdatedPayloadPayloadAccessGroupsItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const UserAccountUpdatedPayloadPayloadAccessGroupsItemType: core.serialization.Schema< + serializers.UserAccountUpdatedPayloadPayloadAccessGroupsItemType.Raw, + Webflow.UserAccountUpdatedPayloadPayloadAccessGroupsItemType +> = core.serialization.enum_(["admin", "ecommerce"]); + +export declare namespace UserAccountUpdatedPayloadPayloadAccessGroupsItemType { + type Raw = "admin" | "ecommerce"; +} diff --git a/src/serialization/resources/users/types/UserAccountUpdatedPayloadPayloadData.ts b/src/serialization/resources/users/types/UserAccountUpdatedPayloadPayloadData.ts new file mode 100644 index 00000000..d94370c4 --- /dev/null +++ b/src/serialization/resources/users/types/UserAccountUpdatedPayloadPayloadData.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { UserAccountUpdatedPayloadPayloadDataData } from "./UserAccountUpdatedPayloadPayloadDataData"; + +export const UserAccountUpdatedPayloadPayloadData: core.serialization.ObjectSchema< + serializers.UserAccountUpdatedPayloadPayloadData.Raw, + Webflow.UserAccountUpdatedPayloadPayloadData +> = core.serialization.object({ + data: UserAccountUpdatedPayloadPayloadDataData.optional(), +}); + +export declare namespace UserAccountUpdatedPayloadPayloadData { + interface Raw { + data?: UserAccountUpdatedPayloadPayloadDataData.Raw | null; + } +} diff --git a/src/serialization/resources/users/types/UserAccountUpdatedPayloadPayloadDataData.ts b/src/serialization/resources/users/types/UserAccountUpdatedPayloadPayloadDataData.ts new file mode 100644 index 00000000..65c49512 --- /dev/null +++ b/src/serialization/resources/users/types/UserAccountUpdatedPayloadPayloadDataData.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const UserAccountUpdatedPayloadPayloadDataData: core.serialization.ObjectSchema< + serializers.UserAccountUpdatedPayloadPayloadDataData.Raw, + Webflow.UserAccountUpdatedPayloadPayloadDataData +> = core.serialization.object({ + name: core.serialization.string().optional(), + email: core.serialization.string().optional(), + acceptPrivacy: core.serialization.property("accept-privacy", core.serialization.boolean().optional()), + acceptCommunications: core.serialization.property("accept-communications", core.serialization.boolean().optional()), + additionalProperties: core.serialization.string().optional(), +}); + +export declare namespace UserAccountUpdatedPayloadPayloadDataData { + interface Raw { + name?: string | null; + email?: string | null; + "accept-privacy"?: boolean | null; + "accept-communications"?: boolean | null; + additionalProperties?: string | null; + } +} diff --git a/src/serialization/resources/users/types/UserAccountUpdatedPayloadPayloadStatus.ts b/src/serialization/resources/users/types/UserAccountUpdatedPayloadPayloadStatus.ts new file mode 100644 index 00000000..7ddc3c58 --- /dev/null +++ b/src/serialization/resources/users/types/UserAccountUpdatedPayloadPayloadStatus.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const UserAccountUpdatedPayloadPayloadStatus: core.serialization.Schema< + serializers.UserAccountUpdatedPayloadPayloadStatus.Raw, + Webflow.UserAccountUpdatedPayloadPayloadStatus +> = core.serialization.enum_(["invited", "verified", "unverified"]); + +export declare namespace UserAccountUpdatedPayloadPayloadStatus { + type Raw = "invited" | "verified" | "unverified"; +} diff --git a/src/serialization/resources/users/types/UserAccountUpdatedPayloadTriggerType.ts b/src/serialization/resources/users/types/UserAccountUpdatedPayloadTriggerType.ts new file mode 100644 index 00000000..038ff80c --- /dev/null +++ b/src/serialization/resources/users/types/UserAccountUpdatedPayloadTriggerType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const UserAccountUpdatedPayloadTriggerType: core.serialization.Schema< + serializers.UserAccountUpdatedPayloadTriggerType.Raw, + Webflow.UserAccountUpdatedPayloadTriggerType +> = core.serialization.enum_(["user_account_added", "user_account_updated", "user_account_deleted"]); + +export declare namespace UserAccountUpdatedPayloadTriggerType { + type Raw = "user_account_added" | "user_account_updated" | "user_account_deleted"; +} diff --git a/src/serialization/resources/users/types/UsersGetResponse.ts b/src/serialization/resources/users/types/UsersGetResponse.ts new file mode 100644 index 00000000..6f1e36a1 --- /dev/null +++ b/src/serialization/resources/users/types/UsersGetResponse.ts @@ -0,0 +1,39 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { UsersGetResponseStatus } from "./UsersGetResponseStatus"; +import { UsersGetResponseAccessGroupsItem } from "./UsersGetResponseAccessGroupsItem"; +import { UsersGetResponseData } from "./UsersGetResponseData"; + +export const UsersGetResponse: core.serialization.ObjectSchema< + serializers.UsersGetResponse.Raw, + Webflow.UsersGetResponse +> = core.serialization.object({ + id: core.serialization.string().optional(), + isEmailVerified: core.serialization.boolean().optional(), + lastUpdated: core.serialization.date().optional(), + invitedOn: core.serialization.date().optional(), + createdOn: core.serialization.date().optional(), + lastLogin: core.serialization.date().optional(), + status: UsersGetResponseStatus.optional(), + accessGroups: core.serialization.list(UsersGetResponseAccessGroupsItem).optional(), + data: UsersGetResponseData.optional(), +}); + +export declare namespace UsersGetResponse { + interface Raw { + id?: string | null; + isEmailVerified?: boolean | null; + lastUpdated?: string | null; + invitedOn?: string | null; + createdOn?: string | null; + lastLogin?: string | null; + status?: UsersGetResponseStatus.Raw | null; + accessGroups?: UsersGetResponseAccessGroupsItem.Raw[] | null; + data?: UsersGetResponseData.Raw | null; + } +} diff --git a/src/serialization/resources/users/types/UsersGetResponseAccessGroupsItem.ts b/src/serialization/resources/users/types/UsersGetResponseAccessGroupsItem.ts new file mode 100644 index 00000000..f2f41738 --- /dev/null +++ b/src/serialization/resources/users/types/UsersGetResponseAccessGroupsItem.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { UsersGetResponseAccessGroupsItemType } from "./UsersGetResponseAccessGroupsItemType"; + +export const UsersGetResponseAccessGroupsItem: core.serialization.ObjectSchema< + serializers.UsersGetResponseAccessGroupsItem.Raw, + Webflow.UsersGetResponseAccessGroupsItem +> = core.serialization.object({ + slug: core.serialization.string().optional(), + type: UsersGetResponseAccessGroupsItemType.optional(), +}); + +export declare namespace UsersGetResponseAccessGroupsItem { + interface Raw { + slug?: string | null; + type?: UsersGetResponseAccessGroupsItemType.Raw | null; + } +} diff --git a/src/serialization/resources/users/types/UsersGetResponseAccessGroupsItemType.ts b/src/serialization/resources/users/types/UsersGetResponseAccessGroupsItemType.ts new file mode 100644 index 00000000..2ae03263 --- /dev/null +++ b/src/serialization/resources/users/types/UsersGetResponseAccessGroupsItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const UsersGetResponseAccessGroupsItemType: core.serialization.Schema< + serializers.UsersGetResponseAccessGroupsItemType.Raw, + Webflow.UsersGetResponseAccessGroupsItemType +> = core.serialization.enum_(["admin", "ecommerce"]); + +export declare namespace UsersGetResponseAccessGroupsItemType { + type Raw = "admin" | "ecommerce"; +} diff --git a/src/serialization/resources/users/types/UsersGetResponseData.ts b/src/serialization/resources/users/types/UsersGetResponseData.ts new file mode 100644 index 00000000..8aa5ee11 --- /dev/null +++ b/src/serialization/resources/users/types/UsersGetResponseData.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { UsersGetResponseDataData } from "./UsersGetResponseDataData"; + +export const UsersGetResponseData: core.serialization.ObjectSchema< + serializers.UsersGetResponseData.Raw, + Webflow.UsersGetResponseData +> = core.serialization.object({ + data: UsersGetResponseDataData.optional(), +}); + +export declare namespace UsersGetResponseData { + interface Raw { + data?: UsersGetResponseDataData.Raw | null; + } +} diff --git a/src/serialization/resources/users/types/UsersGetResponseDataData.ts b/src/serialization/resources/users/types/UsersGetResponseDataData.ts new file mode 100644 index 00000000..a24e329c --- /dev/null +++ b/src/serialization/resources/users/types/UsersGetResponseDataData.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const UsersGetResponseDataData: core.serialization.ObjectSchema< + serializers.UsersGetResponseDataData.Raw, + Webflow.UsersGetResponseDataData +> = core.serialization.object({ + name: core.serialization.string().optional(), + email: core.serialization.string().optional(), + acceptPrivacy: core.serialization.property("accept-privacy", core.serialization.boolean().optional()), + acceptCommunications: core.serialization.property("accept-communications", core.serialization.boolean().optional()), + additionalProperties: core.serialization.string().optional(), +}); + +export declare namespace UsersGetResponseDataData { + interface Raw { + name?: string | null; + email?: string | null; + "accept-privacy"?: boolean | null; + "accept-communications"?: boolean | null; + additionalProperties?: string | null; + } +} diff --git a/src/serialization/resources/users/types/UsersGetResponseStatus.ts b/src/serialization/resources/users/types/UsersGetResponseStatus.ts new file mode 100644 index 00000000..33f5ebf2 --- /dev/null +++ b/src/serialization/resources/users/types/UsersGetResponseStatus.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const UsersGetResponseStatus: core.serialization.Schema< + serializers.UsersGetResponseStatus.Raw, + Webflow.UsersGetResponseStatus +> = core.serialization.enum_(["invited", "verified", "unverified"]); + +export declare namespace UsersGetResponseStatus { + type Raw = "invited" | "verified" | "unverified"; +} diff --git a/src/serialization/resources/users/types/UsersInviteResponse.ts b/src/serialization/resources/users/types/UsersInviteResponse.ts new file mode 100644 index 00000000..92954a84 --- /dev/null +++ b/src/serialization/resources/users/types/UsersInviteResponse.ts @@ -0,0 +1,39 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { UsersInviteResponseStatus } from "./UsersInviteResponseStatus"; +import { UsersInviteResponseAccessGroupsItem } from "./UsersInviteResponseAccessGroupsItem"; +import { UsersInviteResponseData } from "./UsersInviteResponseData"; + +export const UsersInviteResponse: core.serialization.ObjectSchema< + serializers.UsersInviteResponse.Raw, + Webflow.UsersInviteResponse +> = core.serialization.object({ + id: core.serialization.string().optional(), + isEmailVerified: core.serialization.boolean().optional(), + lastUpdated: core.serialization.date().optional(), + invitedOn: core.serialization.date().optional(), + createdOn: core.serialization.date().optional(), + lastLogin: core.serialization.date().optional(), + status: UsersInviteResponseStatus.optional(), + accessGroups: core.serialization.list(UsersInviteResponseAccessGroupsItem).optional(), + data: UsersInviteResponseData.optional(), +}); + +export declare namespace UsersInviteResponse { + interface Raw { + id?: string | null; + isEmailVerified?: boolean | null; + lastUpdated?: string | null; + invitedOn?: string | null; + createdOn?: string | null; + lastLogin?: string | null; + status?: UsersInviteResponseStatus.Raw | null; + accessGroups?: UsersInviteResponseAccessGroupsItem.Raw[] | null; + data?: UsersInviteResponseData.Raw | null; + } +} diff --git a/src/serialization/resources/users/types/UsersInviteResponseAccessGroupsItem.ts b/src/serialization/resources/users/types/UsersInviteResponseAccessGroupsItem.ts new file mode 100644 index 00000000..0a9d88ad --- /dev/null +++ b/src/serialization/resources/users/types/UsersInviteResponseAccessGroupsItem.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { UsersInviteResponseAccessGroupsItemType } from "./UsersInviteResponseAccessGroupsItemType"; + +export const UsersInviteResponseAccessGroupsItem: core.serialization.ObjectSchema< + serializers.UsersInviteResponseAccessGroupsItem.Raw, + Webflow.UsersInviteResponseAccessGroupsItem +> = core.serialization.object({ + slug: core.serialization.string().optional(), + type: UsersInviteResponseAccessGroupsItemType.optional(), +}); + +export declare namespace UsersInviteResponseAccessGroupsItem { + interface Raw { + slug?: string | null; + type?: UsersInviteResponseAccessGroupsItemType.Raw | null; + } +} diff --git a/src/serialization/resources/users/types/UsersInviteResponseAccessGroupsItemType.ts b/src/serialization/resources/users/types/UsersInviteResponseAccessGroupsItemType.ts new file mode 100644 index 00000000..3c4df8b2 --- /dev/null +++ b/src/serialization/resources/users/types/UsersInviteResponseAccessGroupsItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const UsersInviteResponseAccessGroupsItemType: core.serialization.Schema< + serializers.UsersInviteResponseAccessGroupsItemType.Raw, + Webflow.UsersInviteResponseAccessGroupsItemType +> = core.serialization.enum_(["admin", "ecommerce"]); + +export declare namespace UsersInviteResponseAccessGroupsItemType { + type Raw = "admin" | "ecommerce"; +} diff --git a/src/serialization/resources/users/types/UsersInviteResponseData.ts b/src/serialization/resources/users/types/UsersInviteResponseData.ts new file mode 100644 index 00000000..60db8a9e --- /dev/null +++ b/src/serialization/resources/users/types/UsersInviteResponseData.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { UsersInviteResponseDataData } from "./UsersInviteResponseDataData"; + +export const UsersInviteResponseData: core.serialization.ObjectSchema< + serializers.UsersInviteResponseData.Raw, + Webflow.UsersInviteResponseData +> = core.serialization.object({ + data: UsersInviteResponseDataData.optional(), +}); + +export declare namespace UsersInviteResponseData { + interface Raw { + data?: UsersInviteResponseDataData.Raw | null; + } +} diff --git a/src/serialization/resources/users/types/UsersInviteResponseDataData.ts b/src/serialization/resources/users/types/UsersInviteResponseDataData.ts new file mode 100644 index 00000000..73792c05 --- /dev/null +++ b/src/serialization/resources/users/types/UsersInviteResponseDataData.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const UsersInviteResponseDataData: core.serialization.ObjectSchema< + serializers.UsersInviteResponseDataData.Raw, + Webflow.UsersInviteResponseDataData +> = core.serialization.object({ + name: core.serialization.string().optional(), + email: core.serialization.string().optional(), + acceptPrivacy: core.serialization.property("accept-privacy", core.serialization.boolean().optional()), + acceptCommunications: core.serialization.property("accept-communications", core.serialization.boolean().optional()), + additionalProperties: core.serialization.string().optional(), +}); + +export declare namespace UsersInviteResponseDataData { + interface Raw { + name?: string | null; + email?: string | null; + "accept-privacy"?: boolean | null; + "accept-communications"?: boolean | null; + additionalProperties?: string | null; + } +} diff --git a/src/serialization/resources/users/types/UsersInviteResponseStatus.ts b/src/serialization/resources/users/types/UsersInviteResponseStatus.ts new file mode 100644 index 00000000..6cd7bb30 --- /dev/null +++ b/src/serialization/resources/users/types/UsersInviteResponseStatus.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const UsersInviteResponseStatus: core.serialization.Schema< + serializers.UsersInviteResponseStatus.Raw, + Webflow.UsersInviteResponseStatus +> = core.serialization.enum_(["invited", "verified", "unverified"]); + +export declare namespace UsersInviteResponseStatus { + type Raw = "invited" | "verified" | "unverified"; +} diff --git a/src/serialization/resources/users/types/UsersListResponse.ts b/src/serialization/resources/users/types/UsersListResponse.ts new file mode 100644 index 00000000..b85cecf5 --- /dev/null +++ b/src/serialization/resources/users/types/UsersListResponse.ts @@ -0,0 +1,29 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { UsersListResponseUsersItem } from "./UsersListResponseUsersItem"; + +export const UsersListResponse: core.serialization.ObjectSchema< + serializers.UsersListResponse.Raw, + Webflow.UsersListResponse +> = core.serialization.object({ + count: core.serialization.number().optional(), + limit: core.serialization.number().optional(), + offset: core.serialization.number().optional(), + total: core.serialization.number().optional(), + users: core.serialization.list(UsersListResponseUsersItem).optional(), +}); + +export declare namespace UsersListResponse { + interface Raw { + count?: number | null; + limit?: number | null; + offset?: number | null; + total?: number | null; + users?: UsersListResponseUsersItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/users/types/UsersListResponseUsersItem.ts b/src/serialization/resources/users/types/UsersListResponseUsersItem.ts new file mode 100644 index 00000000..bbc29ba2 --- /dev/null +++ b/src/serialization/resources/users/types/UsersListResponseUsersItem.ts @@ -0,0 +1,39 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { UsersListResponseUsersItemStatus } from "./UsersListResponseUsersItemStatus"; +import { UsersListResponseUsersItemAccessGroupsItem } from "./UsersListResponseUsersItemAccessGroupsItem"; +import { UsersListResponseUsersItemData } from "./UsersListResponseUsersItemData"; + +export const UsersListResponseUsersItem: core.serialization.ObjectSchema< + serializers.UsersListResponseUsersItem.Raw, + Webflow.UsersListResponseUsersItem +> = core.serialization.object({ + id: core.serialization.string().optional(), + isEmailVerified: core.serialization.boolean().optional(), + lastUpdated: core.serialization.date().optional(), + invitedOn: core.serialization.date().optional(), + createdOn: core.serialization.date().optional(), + lastLogin: core.serialization.date().optional(), + status: UsersListResponseUsersItemStatus.optional(), + accessGroups: core.serialization.list(UsersListResponseUsersItemAccessGroupsItem).optional(), + data: UsersListResponseUsersItemData.optional(), +}); + +export declare namespace UsersListResponseUsersItem { + interface Raw { + id?: string | null; + isEmailVerified?: boolean | null; + lastUpdated?: string | null; + invitedOn?: string | null; + createdOn?: string | null; + lastLogin?: string | null; + status?: UsersListResponseUsersItemStatus.Raw | null; + accessGroups?: UsersListResponseUsersItemAccessGroupsItem.Raw[] | null; + data?: UsersListResponseUsersItemData.Raw | null; + } +} diff --git a/src/serialization/resources/users/types/UsersListResponseUsersItemAccessGroupsItem.ts b/src/serialization/resources/users/types/UsersListResponseUsersItemAccessGroupsItem.ts new file mode 100644 index 00000000..e423529c --- /dev/null +++ b/src/serialization/resources/users/types/UsersListResponseUsersItemAccessGroupsItem.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { UsersListResponseUsersItemAccessGroupsItemType } from "./UsersListResponseUsersItemAccessGroupsItemType"; + +export const UsersListResponseUsersItemAccessGroupsItem: core.serialization.ObjectSchema< + serializers.UsersListResponseUsersItemAccessGroupsItem.Raw, + Webflow.UsersListResponseUsersItemAccessGroupsItem +> = core.serialization.object({ + slug: core.serialization.string().optional(), + type: UsersListResponseUsersItemAccessGroupsItemType.optional(), +}); + +export declare namespace UsersListResponseUsersItemAccessGroupsItem { + interface Raw { + slug?: string | null; + type?: UsersListResponseUsersItemAccessGroupsItemType.Raw | null; + } +} diff --git a/src/serialization/resources/users/types/UsersListResponseUsersItemAccessGroupsItemType.ts b/src/serialization/resources/users/types/UsersListResponseUsersItemAccessGroupsItemType.ts new file mode 100644 index 00000000..30112f6d --- /dev/null +++ b/src/serialization/resources/users/types/UsersListResponseUsersItemAccessGroupsItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const UsersListResponseUsersItemAccessGroupsItemType: core.serialization.Schema< + serializers.UsersListResponseUsersItemAccessGroupsItemType.Raw, + Webflow.UsersListResponseUsersItemAccessGroupsItemType +> = core.serialization.enum_(["admin", "ecommerce"]); + +export declare namespace UsersListResponseUsersItemAccessGroupsItemType { + type Raw = "admin" | "ecommerce"; +} diff --git a/src/serialization/resources/users/types/UsersListResponseUsersItemData.ts b/src/serialization/resources/users/types/UsersListResponseUsersItemData.ts new file mode 100644 index 00000000..7cd9ffea --- /dev/null +++ b/src/serialization/resources/users/types/UsersListResponseUsersItemData.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { UsersListResponseUsersItemDataData } from "./UsersListResponseUsersItemDataData"; + +export const UsersListResponseUsersItemData: core.serialization.ObjectSchema< + serializers.UsersListResponseUsersItemData.Raw, + Webflow.UsersListResponseUsersItemData +> = core.serialization.object({ + data: UsersListResponseUsersItemDataData.optional(), +}); + +export declare namespace UsersListResponseUsersItemData { + interface Raw { + data?: UsersListResponseUsersItemDataData.Raw | null; + } +} diff --git a/src/serialization/resources/users/types/UsersListResponseUsersItemDataData.ts b/src/serialization/resources/users/types/UsersListResponseUsersItemDataData.ts new file mode 100644 index 00000000..8c1a72af --- /dev/null +++ b/src/serialization/resources/users/types/UsersListResponseUsersItemDataData.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const UsersListResponseUsersItemDataData: core.serialization.ObjectSchema< + serializers.UsersListResponseUsersItemDataData.Raw, + Webflow.UsersListResponseUsersItemDataData +> = core.serialization.object({ + name: core.serialization.string().optional(), + email: core.serialization.string().optional(), + acceptPrivacy: core.serialization.property("accept-privacy", core.serialization.boolean().optional()), + acceptCommunications: core.serialization.property("accept-communications", core.serialization.boolean().optional()), + additionalProperties: core.serialization.string().optional(), +}); + +export declare namespace UsersListResponseUsersItemDataData { + interface Raw { + name?: string | null; + email?: string | null; + "accept-privacy"?: boolean | null; + "accept-communications"?: boolean | null; + additionalProperties?: string | null; + } +} diff --git a/src/serialization/resources/users/types/UsersListResponseUsersItemStatus.ts b/src/serialization/resources/users/types/UsersListResponseUsersItemStatus.ts new file mode 100644 index 00000000..3555759a --- /dev/null +++ b/src/serialization/resources/users/types/UsersListResponseUsersItemStatus.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const UsersListResponseUsersItemStatus: core.serialization.Schema< + serializers.UsersListResponseUsersItemStatus.Raw, + Webflow.UsersListResponseUsersItemStatus +> = core.serialization.enum_(["invited", "verified", "unverified"]); + +export declare namespace UsersListResponseUsersItemStatus { + type Raw = "invited" | "verified" | "unverified"; +} diff --git a/src/serialization/resources/users/types/UsersUpdateResponse.ts b/src/serialization/resources/users/types/UsersUpdateResponse.ts new file mode 100644 index 00000000..fec90383 --- /dev/null +++ b/src/serialization/resources/users/types/UsersUpdateResponse.ts @@ -0,0 +1,39 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { UsersUpdateResponseStatus } from "./UsersUpdateResponseStatus"; +import { UsersUpdateResponseAccessGroupsItem } from "./UsersUpdateResponseAccessGroupsItem"; +import { UsersUpdateResponseData } from "./UsersUpdateResponseData"; + +export const UsersUpdateResponse: core.serialization.ObjectSchema< + serializers.UsersUpdateResponse.Raw, + Webflow.UsersUpdateResponse +> = core.serialization.object({ + id: core.serialization.string().optional(), + isEmailVerified: core.serialization.boolean().optional(), + lastUpdated: core.serialization.date().optional(), + invitedOn: core.serialization.date().optional(), + createdOn: core.serialization.date().optional(), + lastLogin: core.serialization.date().optional(), + status: UsersUpdateResponseStatus.optional(), + accessGroups: core.serialization.list(UsersUpdateResponseAccessGroupsItem).optional(), + data: UsersUpdateResponseData.optional(), +}); + +export declare namespace UsersUpdateResponse { + interface Raw { + id?: string | null; + isEmailVerified?: boolean | null; + lastUpdated?: string | null; + invitedOn?: string | null; + createdOn?: string | null; + lastLogin?: string | null; + status?: UsersUpdateResponseStatus.Raw | null; + accessGroups?: UsersUpdateResponseAccessGroupsItem.Raw[] | null; + data?: UsersUpdateResponseData.Raw | null; + } +} diff --git a/src/serialization/resources/users/types/UsersUpdateResponseAccessGroupsItem.ts b/src/serialization/resources/users/types/UsersUpdateResponseAccessGroupsItem.ts new file mode 100644 index 00000000..bb31d4b9 --- /dev/null +++ b/src/serialization/resources/users/types/UsersUpdateResponseAccessGroupsItem.ts @@ -0,0 +1,23 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { UsersUpdateResponseAccessGroupsItemType } from "./UsersUpdateResponseAccessGroupsItemType"; + +export const UsersUpdateResponseAccessGroupsItem: core.serialization.ObjectSchema< + serializers.UsersUpdateResponseAccessGroupsItem.Raw, + Webflow.UsersUpdateResponseAccessGroupsItem +> = core.serialization.object({ + slug: core.serialization.string().optional(), + type: UsersUpdateResponseAccessGroupsItemType.optional(), +}); + +export declare namespace UsersUpdateResponseAccessGroupsItem { + interface Raw { + slug?: string | null; + type?: UsersUpdateResponseAccessGroupsItemType.Raw | null; + } +} diff --git a/src/serialization/resources/users/types/UsersUpdateResponseAccessGroupsItemType.ts b/src/serialization/resources/users/types/UsersUpdateResponseAccessGroupsItemType.ts new file mode 100644 index 00000000..03d9c64d --- /dev/null +++ b/src/serialization/resources/users/types/UsersUpdateResponseAccessGroupsItemType.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const UsersUpdateResponseAccessGroupsItemType: core.serialization.Schema< + serializers.UsersUpdateResponseAccessGroupsItemType.Raw, + Webflow.UsersUpdateResponseAccessGroupsItemType +> = core.serialization.enum_(["admin", "ecommerce"]); + +export declare namespace UsersUpdateResponseAccessGroupsItemType { + type Raw = "admin" | "ecommerce"; +} diff --git a/src/serialization/resources/users/types/UsersUpdateResponseData.ts b/src/serialization/resources/users/types/UsersUpdateResponseData.ts new file mode 100644 index 00000000..5051b8ba --- /dev/null +++ b/src/serialization/resources/users/types/UsersUpdateResponseData.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { UsersUpdateResponseDataData } from "./UsersUpdateResponseDataData"; + +export const UsersUpdateResponseData: core.serialization.ObjectSchema< + serializers.UsersUpdateResponseData.Raw, + Webflow.UsersUpdateResponseData +> = core.serialization.object({ + data: UsersUpdateResponseDataData.optional(), +}); + +export declare namespace UsersUpdateResponseData { + interface Raw { + data?: UsersUpdateResponseDataData.Raw | null; + } +} diff --git a/src/serialization/resources/users/types/UsersUpdateResponseDataData.ts b/src/serialization/resources/users/types/UsersUpdateResponseDataData.ts new file mode 100644 index 00000000..e627b3cb --- /dev/null +++ b/src/serialization/resources/users/types/UsersUpdateResponseDataData.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const UsersUpdateResponseDataData: core.serialization.ObjectSchema< + serializers.UsersUpdateResponseDataData.Raw, + Webflow.UsersUpdateResponseDataData +> = core.serialization.object({ + name: core.serialization.string().optional(), + email: core.serialization.string().optional(), + acceptPrivacy: core.serialization.property("accept-privacy", core.serialization.boolean().optional()), + acceptCommunications: core.serialization.property("accept-communications", core.serialization.boolean().optional()), + additionalProperties: core.serialization.string().optional(), +}); + +export declare namespace UsersUpdateResponseDataData { + interface Raw { + name?: string | null; + email?: string | null; + "accept-privacy"?: boolean | null; + "accept-communications"?: boolean | null; + additionalProperties?: string | null; + } +} diff --git a/src/serialization/resources/users/types/UsersUpdateResponseStatus.ts b/src/serialization/resources/users/types/UsersUpdateResponseStatus.ts new file mode 100644 index 00000000..c4b6c8dd --- /dev/null +++ b/src/serialization/resources/users/types/UsersUpdateResponseStatus.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const UsersUpdateResponseStatus: core.serialization.Schema< + serializers.UsersUpdateResponseStatus.Raw, + Webflow.UsersUpdateResponseStatus +> = core.serialization.enum_(["invited", "verified", "unverified"]); + +export declare namespace UsersUpdateResponseStatus { + type Raw = "invited" | "verified" | "unverified"; +} diff --git a/src/serialization/resources/users/types/index.ts b/src/serialization/resources/users/types/index.ts index 0baf5143..d155f4c8 100644 --- a/src/serialization/resources/users/types/index.ts +++ b/src/serialization/resources/users/types/index.ts @@ -1,2 +1,51 @@ export * from "./UsersListRequestSort"; +export * from "./UsersListResponseUsersItemStatus"; +export * from "./UsersListResponseUsersItemAccessGroupsItemType"; +export * from "./UsersListResponseUsersItemAccessGroupsItem"; +export * from "./UsersListResponseUsersItemDataData"; +export * from "./UsersListResponseUsersItemData"; +export * from "./UsersListResponseUsersItem"; +export * from "./UsersListResponse"; +export * from "./UsersGetResponseStatus"; +export * from "./UsersGetResponseAccessGroupsItemType"; +export * from "./UsersGetResponseAccessGroupsItem"; +export * from "./UsersGetResponseDataData"; +export * from "./UsersGetResponseData"; +export * from "./UsersGetResponse"; export * from "./UsersUpdateRequestData"; +export * from "./UsersUpdateResponseStatus"; +export * from "./UsersUpdateResponseAccessGroupsItemType"; +export * from "./UsersUpdateResponseAccessGroupsItem"; +export * from "./UsersUpdateResponseDataData"; +export * from "./UsersUpdateResponseData"; +export * from "./UsersUpdateResponse"; +export * from "./UsersInviteResponseStatus"; +export * from "./UsersInviteResponseAccessGroupsItemType"; +export * from "./UsersInviteResponseAccessGroupsItem"; +export * from "./UsersInviteResponseDataData"; +export * from "./UsersInviteResponseData"; +export * from "./UsersInviteResponse"; +export * from "./UserAccountAddedPayloadTriggerType"; +export * from "./UserAccountAddedPayloadPayloadStatus"; +export * from "./UserAccountAddedPayloadPayloadAccessGroupsItemType"; +export * from "./UserAccountAddedPayloadPayloadAccessGroupsItem"; +export * from "./UserAccountAddedPayloadPayloadDataData"; +export * from "./UserAccountAddedPayloadPayloadData"; +export * from "./UserAccountAddedPayloadPayload"; +export * from "./UserAccountAddedPayload"; +export * from "./UserAccountUpdatedPayloadTriggerType"; +export * from "./UserAccountUpdatedPayloadPayloadStatus"; +export * from "./UserAccountUpdatedPayloadPayloadAccessGroupsItemType"; +export * from "./UserAccountUpdatedPayloadPayloadAccessGroupsItem"; +export * from "./UserAccountUpdatedPayloadPayloadDataData"; +export * from "./UserAccountUpdatedPayloadPayloadData"; +export * from "./UserAccountUpdatedPayloadPayload"; +export * from "./UserAccountUpdatedPayload"; +export * from "./UserAccountDeletedPayloadTriggerType"; +export * from "./UserAccountDeletedPayloadPayloadStatus"; +export * from "./UserAccountDeletedPayloadPayloadAccessGroupsItemType"; +export * from "./UserAccountDeletedPayloadPayloadAccessGroupsItem"; +export * from "./UserAccountDeletedPayloadPayloadDataData"; +export * from "./UserAccountDeletedPayloadPayloadData"; +export * from "./UserAccountDeletedPayloadPayload"; +export * from "./UserAccountDeletedPayload"; diff --git a/src/serialization/resources/webhooks/client/index.ts b/src/serialization/resources/webhooks/client/index.ts new file mode 100644 index 00000000..415726b7 --- /dev/null +++ b/src/serialization/resources/webhooks/client/index.ts @@ -0,0 +1 @@ +export * from "./requests"; diff --git a/src/serialization/resources/webhooks/client/requests/WebhooksCreateRequest.ts b/src/serialization/resources/webhooks/client/requests/WebhooksCreateRequest.ts new file mode 100644 index 00000000..99f9ee99 --- /dev/null +++ b/src/serialization/resources/webhooks/client/requests/WebhooksCreateRequest.ts @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../index"; +import * as Webflow from "../../../../../api/index"; +import * as core from "../../../../../core"; +import { WebhooksCreateRequestTriggerType } from "../../types/WebhooksCreateRequestTriggerType"; +import { WebhooksCreateRequestFilter } from "../../types/WebhooksCreateRequestFilter"; + +export const WebhooksCreateRequest: core.serialization.Schema< + serializers.WebhooksCreateRequest.Raw, + Webflow.WebhooksCreateRequest +> = core.serialization.object({ + triggerType: WebhooksCreateRequestTriggerType.optional(), + url: core.serialization.string().optional(), + filter: WebhooksCreateRequestFilter.optional(), +}); + +export declare namespace WebhooksCreateRequest { + interface Raw { + triggerType?: WebhooksCreateRequestTriggerType.Raw | null; + url?: string | null; + filter?: WebhooksCreateRequestFilter.Raw | null; + } +} diff --git a/src/serialization/resources/webhooks/client/requests/index.ts b/src/serialization/resources/webhooks/client/requests/index.ts new file mode 100644 index 00000000..f7f7b70d --- /dev/null +++ b/src/serialization/resources/webhooks/client/requests/index.ts @@ -0,0 +1 @@ +export { WebhooksCreateRequest } from "./WebhooksCreateRequest"; diff --git a/src/serialization/resources/webhooks/index.ts b/src/serialization/resources/webhooks/index.ts new file mode 100644 index 00000000..c9240f83 --- /dev/null +++ b/src/serialization/resources/webhooks/index.ts @@ -0,0 +1,2 @@ +export * from "./types"; +export * from "./client"; diff --git a/src/serialization/resources/webhooks/types/WebhooksCreateRequestFilter.ts b/src/serialization/resources/webhooks/types/WebhooksCreateRequestFilter.ts new file mode 100644 index 00000000..91b02b98 --- /dev/null +++ b/src/serialization/resources/webhooks/types/WebhooksCreateRequestFilter.ts @@ -0,0 +1,20 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const WebhooksCreateRequestFilter: core.serialization.ObjectSchema< + serializers.WebhooksCreateRequestFilter.Raw, + Webflow.WebhooksCreateRequestFilter +> = core.serialization.object({ + name: core.serialization.string().optional(), +}); + +export declare namespace WebhooksCreateRequestFilter { + interface Raw { + name?: string | null; + } +} diff --git a/src/serialization/resources/webhooks/types/WebhooksCreateRequestTriggerType.ts b/src/serialization/resources/webhooks/types/WebhooksCreateRequestTriggerType.ts new file mode 100644 index 00000000..015a198d --- /dev/null +++ b/src/serialization/resources/webhooks/types/WebhooksCreateRequestTriggerType.ts @@ -0,0 +1,47 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const WebhooksCreateRequestTriggerType: core.serialization.Schema< + serializers.WebhooksCreateRequestTriggerType.Raw, + Webflow.WebhooksCreateRequestTriggerType +> = core.serialization.enum_([ + "form_submission", + "site_publish", + "page_created", + "page_metadata_updated", + "page_deleted", + "ecomm_new_order", + "ecomm_order_changed", + "ecomm_inventory_changed", + "user_account_added", + "user_account_updated", + "user_account_deleted", + "collection_item_created", + "collection_item_changed", + "collection_item_deleted", + "collection_item_unpublished", +]); + +export declare namespace WebhooksCreateRequestTriggerType { + type Raw = + | "form_submission" + | "site_publish" + | "page_created" + | "page_metadata_updated" + | "page_deleted" + | "ecomm_new_order" + | "ecomm_order_changed" + | "ecomm_inventory_changed" + | "user_account_added" + | "user_account_updated" + | "user_account_deleted" + | "collection_item_created" + | "collection_item_changed" + | "collection_item_deleted" + | "collection_item_unpublished"; +} diff --git a/src/serialization/resources/webhooks/types/WebhooksCreateResponse.ts b/src/serialization/resources/webhooks/types/WebhooksCreateResponse.ts new file mode 100644 index 00000000..ad4385fc --- /dev/null +++ b/src/serialization/resources/webhooks/types/WebhooksCreateResponse.ts @@ -0,0 +1,36 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { WebhooksCreateResponseTriggerType } from "./WebhooksCreateResponseTriggerType"; +import { WebhooksCreateResponseFilter } from "./WebhooksCreateResponseFilter"; + +export const WebhooksCreateResponse: core.serialization.ObjectSchema< + serializers.WebhooksCreateResponse.Raw, + Webflow.WebhooksCreateResponse +> = core.serialization.object({ + id: core.serialization.string().optional(), + triggerType: WebhooksCreateResponseTriggerType.optional(), + url: core.serialization.string().optional(), + workspaceId: core.serialization.string().optional(), + siteId: core.serialization.string().optional(), + filter: WebhooksCreateResponseFilter.optional(), + lastTriggered: core.serialization.date().optional(), + createdOn: core.serialization.date().optional(), +}); + +export declare namespace WebhooksCreateResponse { + interface Raw { + id?: string | null; + triggerType?: WebhooksCreateResponseTriggerType.Raw | null; + url?: string | null; + workspaceId?: string | null; + siteId?: string | null; + filter?: WebhooksCreateResponseFilter.Raw | null; + lastTriggered?: string | null; + createdOn?: string | null; + } +} diff --git a/src/serialization/resources/webhooks/types/WebhooksCreateResponseFilter.ts b/src/serialization/resources/webhooks/types/WebhooksCreateResponseFilter.ts new file mode 100644 index 00000000..dd182bff --- /dev/null +++ b/src/serialization/resources/webhooks/types/WebhooksCreateResponseFilter.ts @@ -0,0 +1,20 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const WebhooksCreateResponseFilter: core.serialization.ObjectSchema< + serializers.WebhooksCreateResponseFilter.Raw, + Webflow.WebhooksCreateResponseFilter +> = core.serialization.object({ + name: core.serialization.string().optional(), +}); + +export declare namespace WebhooksCreateResponseFilter { + interface Raw { + name?: string | null; + } +} diff --git a/src/serialization/resources/webhooks/types/WebhooksCreateResponseTriggerType.ts b/src/serialization/resources/webhooks/types/WebhooksCreateResponseTriggerType.ts new file mode 100644 index 00000000..8442ecf2 --- /dev/null +++ b/src/serialization/resources/webhooks/types/WebhooksCreateResponseTriggerType.ts @@ -0,0 +1,47 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const WebhooksCreateResponseTriggerType: core.serialization.Schema< + serializers.WebhooksCreateResponseTriggerType.Raw, + Webflow.WebhooksCreateResponseTriggerType +> = core.serialization.enum_([ + "form_submission", + "site_publish", + "page_created", + "page_metadata_updated", + "page_deleted", + "ecomm_new_order", + "ecomm_order_changed", + "ecomm_inventory_changed", + "user_account_added", + "user_account_updated", + "user_account_deleted", + "collection_item_created", + "collection_item_changed", + "collection_item_deleted", + "collection_item_unpublished", +]); + +export declare namespace WebhooksCreateResponseTriggerType { + type Raw = + | "form_submission" + | "site_publish" + | "page_created" + | "page_metadata_updated" + | "page_deleted" + | "ecomm_new_order" + | "ecomm_order_changed" + | "ecomm_inventory_changed" + | "user_account_added" + | "user_account_updated" + | "user_account_deleted" + | "collection_item_created" + | "collection_item_changed" + | "collection_item_deleted" + | "collection_item_unpublished"; +} diff --git a/src/serialization/resources/webhooks/types/WebhooksGetResponse.ts b/src/serialization/resources/webhooks/types/WebhooksGetResponse.ts new file mode 100644 index 00000000..b007c46c --- /dev/null +++ b/src/serialization/resources/webhooks/types/WebhooksGetResponse.ts @@ -0,0 +1,36 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { WebhooksGetResponseTriggerType } from "./WebhooksGetResponseTriggerType"; +import { WebhooksGetResponseFilter } from "./WebhooksGetResponseFilter"; + +export const WebhooksGetResponse: core.serialization.ObjectSchema< + serializers.WebhooksGetResponse.Raw, + Webflow.WebhooksGetResponse +> = core.serialization.object({ + id: core.serialization.string().optional(), + triggerType: WebhooksGetResponseTriggerType.optional(), + url: core.serialization.string().optional(), + workspaceId: core.serialization.string().optional(), + siteId: core.serialization.string().optional(), + filter: WebhooksGetResponseFilter.optional(), + lastTriggered: core.serialization.date().optional(), + createdOn: core.serialization.date().optional(), +}); + +export declare namespace WebhooksGetResponse { + interface Raw { + id?: string | null; + triggerType?: WebhooksGetResponseTriggerType.Raw | null; + url?: string | null; + workspaceId?: string | null; + siteId?: string | null; + filter?: WebhooksGetResponseFilter.Raw | null; + lastTriggered?: string | null; + createdOn?: string | null; + } +} diff --git a/src/serialization/resources/webhooks/types/WebhooksGetResponseFilter.ts b/src/serialization/resources/webhooks/types/WebhooksGetResponseFilter.ts new file mode 100644 index 00000000..b44c3f06 --- /dev/null +++ b/src/serialization/resources/webhooks/types/WebhooksGetResponseFilter.ts @@ -0,0 +1,20 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const WebhooksGetResponseFilter: core.serialization.ObjectSchema< + serializers.WebhooksGetResponseFilter.Raw, + Webflow.WebhooksGetResponseFilter +> = core.serialization.object({ + name: core.serialization.string().optional(), +}); + +export declare namespace WebhooksGetResponseFilter { + interface Raw { + name?: string | null; + } +} diff --git a/src/serialization/resources/webhooks/types/WebhooksGetResponseTriggerType.ts b/src/serialization/resources/webhooks/types/WebhooksGetResponseTriggerType.ts new file mode 100644 index 00000000..1f6880a8 --- /dev/null +++ b/src/serialization/resources/webhooks/types/WebhooksGetResponseTriggerType.ts @@ -0,0 +1,47 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const WebhooksGetResponseTriggerType: core.serialization.Schema< + serializers.WebhooksGetResponseTriggerType.Raw, + Webflow.WebhooksGetResponseTriggerType +> = core.serialization.enum_([ + "form_submission", + "site_publish", + "page_created", + "page_metadata_updated", + "page_deleted", + "ecomm_new_order", + "ecomm_order_changed", + "ecomm_inventory_changed", + "user_account_added", + "user_account_updated", + "user_account_deleted", + "collection_item_created", + "collection_item_changed", + "collection_item_deleted", + "collection_item_unpublished", +]); + +export declare namespace WebhooksGetResponseTriggerType { + type Raw = + | "form_submission" + | "site_publish" + | "page_created" + | "page_metadata_updated" + | "page_deleted" + | "ecomm_new_order" + | "ecomm_order_changed" + | "ecomm_inventory_changed" + | "user_account_added" + | "user_account_updated" + | "user_account_deleted" + | "collection_item_created" + | "collection_item_changed" + | "collection_item_deleted" + | "collection_item_unpublished"; +} diff --git a/src/serialization/resources/webhooks/types/WebhooksListResponse.ts b/src/serialization/resources/webhooks/types/WebhooksListResponse.ts new file mode 100644 index 00000000..361c56fb --- /dev/null +++ b/src/serialization/resources/webhooks/types/WebhooksListResponse.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { WebhooksListResponsePagination } from "./WebhooksListResponsePagination"; +import { WebhooksListResponseWebhooksItem } from "./WebhooksListResponseWebhooksItem"; + +export const WebhooksListResponse: core.serialization.ObjectSchema< + serializers.WebhooksListResponse.Raw, + Webflow.WebhooksListResponse +> = core.serialization.object({ + pagination: WebhooksListResponsePagination.optional(), + webhooks: core.serialization.list(WebhooksListResponseWebhooksItem).optional(), +}); + +export declare namespace WebhooksListResponse { + interface Raw { + pagination?: WebhooksListResponsePagination.Raw | null; + webhooks?: WebhooksListResponseWebhooksItem.Raw[] | null; + } +} diff --git a/src/serialization/resources/webhooks/types/WebhooksListResponsePagination.ts b/src/serialization/resources/webhooks/types/WebhooksListResponsePagination.ts new file mode 100644 index 00000000..e52c5cc6 --- /dev/null +++ b/src/serialization/resources/webhooks/types/WebhooksListResponsePagination.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const WebhooksListResponsePagination: core.serialization.ObjectSchema< + serializers.WebhooksListResponsePagination.Raw, + Webflow.WebhooksListResponsePagination +> = core.serialization.object({ + limit: core.serialization.number().optional(), + offset: core.serialization.number().optional(), + total: core.serialization.number().optional(), +}); + +export declare namespace WebhooksListResponsePagination { + interface Raw { + limit?: number | null; + offset?: number | null; + total?: number | null; + } +} diff --git a/src/serialization/resources/webhooks/types/WebhooksListResponseWebhooksItem.ts b/src/serialization/resources/webhooks/types/WebhooksListResponseWebhooksItem.ts new file mode 100644 index 00000000..e56029d2 --- /dev/null +++ b/src/serialization/resources/webhooks/types/WebhooksListResponseWebhooksItem.ts @@ -0,0 +1,36 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; +import { WebhooksListResponseWebhooksItemTriggerType } from "./WebhooksListResponseWebhooksItemTriggerType"; +import { WebhooksListResponseWebhooksItemFilter } from "./WebhooksListResponseWebhooksItemFilter"; + +export const WebhooksListResponseWebhooksItem: core.serialization.ObjectSchema< + serializers.WebhooksListResponseWebhooksItem.Raw, + Webflow.WebhooksListResponseWebhooksItem +> = core.serialization.object({ + id: core.serialization.string().optional(), + triggerType: WebhooksListResponseWebhooksItemTriggerType.optional(), + url: core.serialization.string().optional(), + workspaceId: core.serialization.string().optional(), + siteId: core.serialization.string().optional(), + filter: WebhooksListResponseWebhooksItemFilter.optional(), + lastTriggered: core.serialization.date().optional(), + createdOn: core.serialization.date().optional(), +}); + +export declare namespace WebhooksListResponseWebhooksItem { + interface Raw { + id?: string | null; + triggerType?: WebhooksListResponseWebhooksItemTriggerType.Raw | null; + url?: string | null; + workspaceId?: string | null; + siteId?: string | null; + filter?: WebhooksListResponseWebhooksItemFilter.Raw | null; + lastTriggered?: string | null; + createdOn?: string | null; + } +} diff --git a/src/serialization/resources/webhooks/types/WebhooksListResponseWebhooksItemFilter.ts b/src/serialization/resources/webhooks/types/WebhooksListResponseWebhooksItemFilter.ts new file mode 100644 index 00000000..29e356c8 --- /dev/null +++ b/src/serialization/resources/webhooks/types/WebhooksListResponseWebhooksItemFilter.ts @@ -0,0 +1,20 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const WebhooksListResponseWebhooksItemFilter: core.serialization.ObjectSchema< + serializers.WebhooksListResponseWebhooksItemFilter.Raw, + Webflow.WebhooksListResponseWebhooksItemFilter +> = core.serialization.object({ + name: core.serialization.string().optional(), +}); + +export declare namespace WebhooksListResponseWebhooksItemFilter { + interface Raw { + name?: string | null; + } +} diff --git a/src/serialization/resources/webhooks/types/WebhooksListResponseWebhooksItemTriggerType.ts b/src/serialization/resources/webhooks/types/WebhooksListResponseWebhooksItemTriggerType.ts new file mode 100644 index 00000000..96164b95 --- /dev/null +++ b/src/serialization/resources/webhooks/types/WebhooksListResponseWebhooksItemTriggerType.ts @@ -0,0 +1,47 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Webflow from "../../../../api/index"; +import * as core from "../../../../core"; + +export const WebhooksListResponseWebhooksItemTriggerType: core.serialization.Schema< + serializers.WebhooksListResponseWebhooksItemTriggerType.Raw, + Webflow.WebhooksListResponseWebhooksItemTriggerType +> = core.serialization.enum_([ + "form_submission", + "site_publish", + "page_created", + "page_metadata_updated", + "page_deleted", + "ecomm_new_order", + "ecomm_order_changed", + "ecomm_inventory_changed", + "user_account_added", + "user_account_updated", + "user_account_deleted", + "collection_item_created", + "collection_item_changed", + "collection_item_deleted", + "collection_item_unpublished", +]); + +export declare namespace WebhooksListResponseWebhooksItemTriggerType { + type Raw = + | "form_submission" + | "site_publish" + | "page_created" + | "page_metadata_updated" + | "page_deleted" + | "ecomm_new_order" + | "ecomm_order_changed" + | "ecomm_inventory_changed" + | "user_account_added" + | "user_account_updated" + | "user_account_deleted" + | "collection_item_created" + | "collection_item_changed" + | "collection_item_deleted" + | "collection_item_unpublished"; +} diff --git a/src/serialization/resources/webhooks/types/index.ts b/src/serialization/resources/webhooks/types/index.ts new file mode 100644 index 00000000..015f4d53 --- /dev/null +++ b/src/serialization/resources/webhooks/types/index.ts @@ -0,0 +1,13 @@ +export * from "./WebhooksListResponsePagination"; +export * from "./WebhooksListResponseWebhooksItemTriggerType"; +export * from "./WebhooksListResponseWebhooksItemFilter"; +export * from "./WebhooksListResponseWebhooksItem"; +export * from "./WebhooksListResponse"; +export * from "./WebhooksCreateRequestTriggerType"; +export * from "./WebhooksCreateRequestFilter"; +export * from "./WebhooksCreateResponseTriggerType"; +export * from "./WebhooksCreateResponseFilter"; +export * from "./WebhooksCreateResponse"; +export * from "./WebhooksGetResponseTriggerType"; +export * from "./WebhooksGetResponseFilter"; +export * from "./WebhooksGetResponse"; diff --git a/src/serialization/types/AccessGroup.ts b/src/serialization/types/AccessGroup.ts deleted file mode 100644 index 5442e501..00000000 --- a/src/serialization/types/AccessGroup.ts +++ /dev/null @@ -1,26 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const AccessGroup: core.serialization.ObjectSchema = - core.serialization.object({ - id: core.serialization.string().optional(), - name: core.serialization.string().optional(), - shortId: core.serialization.string().optional(), - slug: core.serialization.string().optional(), - createdOn: core.serialization.date().optional(), - }); - -export declare namespace AccessGroup { - interface Raw { - id?: string | null; - name?: string | null; - shortId?: string | null; - slug?: string | null; - createdOn?: string | null; - } -} diff --git a/src/serialization/types/AccessGroupList.ts b/src/serialization/types/AccessGroupList.ts deleted file mode 100644 index 2be663f8..00000000 --- a/src/serialization/types/AccessGroupList.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { AccessGroup } from "./AccessGroup"; - -export const AccessGroupList: core.serialization.ObjectSchema< - serializers.AccessGroupList.Raw, - Webflow.AccessGroupList -> = core.serialization.object({ - count: core.serialization.number().optional(), - limit: core.serialization.number().optional(), - offset: core.serialization.number().optional(), - total: core.serialization.number().optional(), - accessGroups: core.serialization.list(AccessGroup).optional(), -}); - -export declare namespace AccessGroupList { - interface Raw { - count?: number | null; - limit?: number | null; - offset?: number | null; - total?: number | null; - accessGroups?: AccessGroup.Raw[] | null; - } -} diff --git a/src/serialization/types/Application.ts b/src/serialization/types/Application.ts deleted file mode 100644 index 7d2a48b7..00000000 --- a/src/serialization/types/Application.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const Application: core.serialization.Schema = - core.serialization.unknown(); - -export declare namespace Application { - type Raw = unknown; -} diff --git a/src/serialization/types/Asset.ts b/src/serialization/types/Asset.ts deleted file mode 100644 index 12f39e6a..00000000 --- a/src/serialization/types/Asset.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { AssetVariant } from "./AssetVariant"; - -export const Asset: core.serialization.ObjectSchema = core.serialization.object({ - id: core.serialization.string().optional(), - contentType: core.serialization.string().optional(), - size: core.serialization.number().optional(), - siteId: core.serialization.string().optional(), - hostedUrl: core.serialization.string().optional(), - originalFileName: core.serialization.string().optional(), - displayName: core.serialization.string().optional(), - lastUpdated: core.serialization.date().optional(), - createdOn: core.serialization.date().optional(), - variants: core.serialization.list(AssetVariant).optional(), - altText: core.serialization.string().optional(), -}); - -export declare namespace Asset { - interface Raw { - id?: string | null; - contentType?: string | null; - size?: number | null; - siteId?: string | null; - hostedUrl?: string | null; - originalFileName?: string | null; - displayName?: string | null; - lastUpdated?: string | null; - createdOn?: string | null; - variants?: AssetVariant.Raw[] | null; - altText?: string | null; - } -} diff --git a/src/serialization/types/AssetFolder.ts b/src/serialization/types/AssetFolder.ts deleted file mode 100644 index 8874aa5c..00000000 --- a/src/serialization/types/AssetFolder.ts +++ /dev/null @@ -1,30 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const AssetFolder: core.serialization.ObjectSchema = - core.serialization.object({ - id: core.serialization.string().optional(), - displayName: core.serialization.string().optional(), - parentFolder: core.serialization.string().optional(), - assets: core.serialization.list(core.serialization.string()).optional(), - siteId: core.serialization.string().optional(), - createdOn: core.serialization.date().optional(), - lastUpdated: core.serialization.date().optional(), - }); - -export declare namespace AssetFolder { - interface Raw { - id?: string | null; - displayName?: string | null; - parentFolder?: string | null; - assets?: string[] | null; - siteId?: string | null; - createdOn?: string | null; - lastUpdated?: string | null; - } -} diff --git a/src/serialization/types/AssetFolderList.ts b/src/serialization/types/AssetFolderList.ts deleted file mode 100644 index 7a79d54c..00000000 --- a/src/serialization/types/AssetFolderList.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { AssetFolder } from "./AssetFolder"; -import { Pagination } from "./Pagination"; - -export const AssetFolderList: core.serialization.ObjectSchema< - serializers.AssetFolderList.Raw, - Webflow.AssetFolderList -> = core.serialization.object({ - assetFolders: core.serialization.list(AssetFolder).optional(), - pagination: Pagination.optional(), -}); - -export declare namespace AssetFolderList { - interface Raw { - assetFolders?: AssetFolder.Raw[] | null; - pagination?: Pagination.Raw | null; - } -} diff --git a/src/serialization/types/AssetUpload.ts b/src/serialization/types/AssetUpload.ts deleted file mode 100644 index 731e3824..00000000 --- a/src/serialization/types/AssetUpload.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { AssetUploadUploadDetails } from "./AssetUploadUploadDetails"; - -export const AssetUpload: core.serialization.ObjectSchema = - core.serialization.object({ - uploadDetails: AssetUploadUploadDetails.optional(), - contentType: core.serialization.string().optional(), - id: core.serialization.string().optional(), - parentFolder: core.serialization.string().optional(), - uploadUrl: core.serialization.string().optional(), - assetUrl: core.serialization.string().optional(), - hostedUrl: core.serialization.string().optional(), - originalFileName: core.serialization.string().optional(), - createdOn: core.serialization.date().optional(), - lastUpdated: core.serialization.date().optional(), - }); - -export declare namespace AssetUpload { - interface Raw { - uploadDetails?: AssetUploadUploadDetails.Raw | null; - contentType?: string | null; - id?: string | null; - parentFolder?: string | null; - uploadUrl?: string | null; - assetUrl?: string | null; - hostedUrl?: string | null; - originalFileName?: string | null; - createdOn?: string | null; - lastUpdated?: string | null; - } -} diff --git a/src/serialization/types/AssetUploadUploadDetails.ts b/src/serialization/types/AssetUploadUploadDetails.ts deleted file mode 100644 index 01241427..00000000 --- a/src/serialization/types/AssetUploadUploadDetails.ts +++ /dev/null @@ -1,40 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const AssetUploadUploadDetails: core.serialization.ObjectSchema< - serializers.AssetUploadUploadDetails.Raw, - Webflow.AssetUploadUploadDetails -> = core.serialization.object({ - acl: core.serialization.string().optional(), - bucket: core.serialization.string().optional(), - xAmzAlgorithm: core.serialization.property("X-Amz-Algorithm", core.serialization.string().optional()), - xAmzCredential: core.serialization.property("X-Amz-Credential", core.serialization.string().optional()), - xAmzDate: core.serialization.property("X-Amz-Date", core.serialization.string().optional()), - key: core.serialization.string().optional(), - policy: core.serialization.property("Policy", core.serialization.string().optional()), - xAmzSignature: core.serialization.property("X-Amz-Signature", core.serialization.string().optional()), - successActionStatus: core.serialization.property("success_action_status", core.serialization.string().optional()), - contentType: core.serialization.property("content-type", core.serialization.string().optional()), - cacheControl: core.serialization.property("Cache-Control", core.serialization.string().optional()), -}); - -export declare namespace AssetUploadUploadDetails { - interface Raw { - acl?: string | null; - bucket?: string | null; - "X-Amz-Algorithm"?: string | null; - "X-Amz-Credential"?: string | null; - "X-Amz-Date"?: string | null; - key?: string | null; - Policy?: string | null; - "X-Amz-Signature"?: string | null; - success_action_status?: string | null; - "content-type"?: string | null; - "Cache-Control"?: string | null; - } -} diff --git a/src/serialization/types/AssetVariant.ts b/src/serialization/types/AssetVariant.ts deleted file mode 100644 index 094173b7..00000000 --- a/src/serialization/types/AssetVariant.ts +++ /dev/null @@ -1,32 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const AssetVariant: core.serialization.ObjectSchema = - core.serialization.object({ - hostedUrl: core.serialization.string().optional(), - originalFileName: core.serialization.string().optional(), - displayName: core.serialization.string().optional(), - format: core.serialization.string().optional(), - width: core.serialization.number().optional(), - height: core.serialization.number().optional(), - quality: core.serialization.number().optional(), - error: core.serialization.string().optional(), - }); - -export declare namespace AssetVariant { - interface Raw { - hostedUrl?: string | null; - originalFileName?: string | null; - displayName?: string | null; - format?: string | null; - width?: number | null; - height?: number | null; - quality?: number | null; - error?: string | null; - } -} diff --git a/src/serialization/types/Assets.ts b/src/serialization/types/Assets.ts deleted file mode 100644 index 7849dc46..00000000 --- a/src/serialization/types/Assets.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { Asset } from "./Asset"; - -export const Assets: core.serialization.ObjectSchema = - core.serialization.object({ - assets: core.serialization.list(Asset).optional(), - }); - -export declare namespace Assets { - interface Raw { - assets?: Asset.Raw[] | null; - } -} diff --git a/src/serialization/types/Authorization.ts b/src/serialization/types/Authorization.ts deleted file mode 100644 index 338b5378..00000000 --- a/src/serialization/types/Authorization.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { AuthorizationAuthorization } from "./AuthorizationAuthorization"; -import { Application } from "./Application"; - -export const Authorization: core.serialization.ObjectSchema = - core.serialization.object({ - authorization: AuthorizationAuthorization.optional(), - application: Application.optional(), - }); - -export declare namespace Authorization { - interface Raw { - authorization?: AuthorizationAuthorization.Raw | null; - application?: (Application.Raw | undefined) | null; - } -} diff --git a/src/serialization/types/AuthorizationAuthorization.ts b/src/serialization/types/AuthorizationAuthorization.ts deleted file mode 100644 index 813beea9..00000000 --- a/src/serialization/types/AuthorizationAuthorization.ts +++ /dev/null @@ -1,33 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { AuthorizationAuthorizationAuthorizedTo } from "./AuthorizationAuthorizationAuthorizedTo"; - -export const AuthorizationAuthorization: core.serialization.ObjectSchema< - serializers.AuthorizationAuthorization.Raw, - Webflow.AuthorizationAuthorization -> = core.serialization.object({ - id: core.serialization.string().optional(), - createdOn: core.serialization.date().optional(), - lastUsed: core.serialization.date().optional(), - grantType: core.serialization.string().optional(), - rateLimit: core.serialization.number().optional(), - scope: core.serialization.string().optional(), - authorizedTo: AuthorizationAuthorizationAuthorizedTo.optional(), -}); - -export declare namespace AuthorizationAuthorization { - interface Raw { - id?: string | null; - createdOn?: string | null; - lastUsed?: string | null; - grantType?: string | null; - rateLimit?: number | null; - scope?: string | null; - authorizedTo?: AuthorizationAuthorizationAuthorizedTo.Raw | null; - } -} diff --git a/src/serialization/types/AuthorizationAuthorizationAuthorizedTo.ts b/src/serialization/types/AuthorizationAuthorizationAuthorizedTo.ts deleted file mode 100644 index b16c40af..00000000 --- a/src/serialization/types/AuthorizationAuthorizationAuthorizedTo.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const AuthorizationAuthorizationAuthorizedTo: core.serialization.ObjectSchema< - serializers.AuthorizationAuthorizationAuthorizedTo.Raw, - Webflow.AuthorizationAuthorizationAuthorizedTo -> = core.serialization.object({ - siteIds: core.serialization.list(core.serialization.unknown()).optional(), - workspaceIds: core.serialization.list(core.serialization.unknown()).optional(), - userIds: core.serialization.list(core.serialization.unknown()).optional(), -}); - -export declare namespace AuthorizationAuthorizationAuthorizedTo { - interface Raw { - siteIds?: unknown[] | null; - workspaceIds?: unknown[] | null; - userIds?: unknown[] | null; - } -} diff --git a/src/serialization/types/AuthorizedUser.ts b/src/serialization/types/AuthorizedUser.ts deleted file mode 100644 index 6e70196d..00000000 --- a/src/serialization/types/AuthorizedUser.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const AuthorizedUser: core.serialization.ObjectSchema = - core.serialization.object({ - id: core.serialization.string().optional(), - email: core.serialization.string().optional(), - firstName: core.serialization.string().optional(), - lastName: core.serialization.string().optional(), - }); - -export declare namespace AuthorizedUser { - interface Raw { - id?: string | null; - email?: string | null; - firstName?: string | null; - lastName?: string | null; - } -} diff --git a/src/serialization/types/BadRequestErrorBody.ts b/src/serialization/types/BadRequestErrorBody.ts index 60eb9184..dc63af07 100644 --- a/src/serialization/types/BadRequestErrorBody.ts +++ b/src/serialization/types/BadRequestErrorBody.ts @@ -5,14 +5,24 @@ import * as serializers from "../index"; import * as Webflow from "../../api/index"; import * as core from "../../core"; -import { InvalidDomain } from "./InvalidDomain"; -import { NoDomains } from "./NoDomains"; +import { BadRequestErrorBodyCode } from "./BadRequestErrorBodyCode"; +import { BadRequestErrorBodyDetailsItem } from "./BadRequestErrorBodyDetailsItem"; -export const BadRequestErrorBody: core.serialization.Schema< +export const BadRequestErrorBody: core.serialization.ObjectSchema< serializers.BadRequestErrorBody.Raw, Webflow.BadRequestErrorBody -> = core.serialization.undiscriminatedUnion([InvalidDomain, NoDomains]); +> = core.serialization.object({ + code: BadRequestErrorBodyCode.optional(), + message: core.serialization.string().optional(), + externalReference: core.serialization.string().optional(), + details: core.serialization.list(BadRequestErrorBodyDetailsItem).optional(), +}); export declare namespace BadRequestErrorBody { - type Raw = (InvalidDomain.Raw | undefined) | (NoDomains.Raw | undefined); + interface Raw { + code?: BadRequestErrorBodyCode.Raw | null; + message?: string | null; + externalReference?: string | null; + details?: BadRequestErrorBodyDetailsItem.Raw[] | null; + } } diff --git a/src/serialization/types/BadRequestErrorBodyCode.ts b/src/serialization/types/BadRequestErrorBodyCode.ts new file mode 100644 index 00000000..b89f281d --- /dev/null +++ b/src/serialization/types/BadRequestErrorBodyCode.ts @@ -0,0 +1,75 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index"; +import * as Webflow from "../../api/index"; +import * as core from "../../core"; + +export const BadRequestErrorBodyCode: core.serialization.Schema< + serializers.BadRequestErrorBodyCode.Raw, + Webflow.BadRequestErrorBodyCode +> = core.serialization.enum_([ + "bad_request", + "collection_not_found", + "conflict", + "duplicate_collection", + "duplicate_user_email", + "ecommerce_not_enabled", + "forbidden", + "forms_require_republish", + "incompatible_webhook_filter", + "internal_error", + "invalid_auth_version", + "invalid_credentials", + "invalid_domain", + "invalid_user_email", + "item_not_found", + "missing_scopes", + "no_domains", + "not_authorized", + "not_enterprise_plan_site", + "not_enterprise_plan_workspace", + "order_not_found", + "resource_not_found", + "too_many_requests", + "unsupported_version", + "unsupported_webhook_trigger_type", + "user_limit_reached", + "user_not_found", + "users_not_enabled", + "validation_error", +]); + +export declare namespace BadRequestErrorBodyCode { + type Raw = + | "bad_request" + | "collection_not_found" + | "conflict" + | "duplicate_collection" + | "duplicate_user_email" + | "ecommerce_not_enabled" + | "forbidden" + | "forms_require_republish" + | "incompatible_webhook_filter" + | "internal_error" + | "invalid_auth_version" + | "invalid_credentials" + | "invalid_domain" + | "invalid_user_email" + | "item_not_found" + | "missing_scopes" + | "no_domains" + | "not_authorized" + | "not_enterprise_plan_site" + | "not_enterprise_plan_workspace" + | "order_not_found" + | "resource_not_found" + | "too_many_requests" + | "unsupported_version" + | "unsupported_webhook_trigger_type" + | "user_limit_reached" + | "user_not_found" + | "users_not_enabled" + | "validation_error"; +} diff --git a/src/serialization/types/BadRequestErrorBodyDetailsItem.ts b/src/serialization/types/BadRequestErrorBodyDetailsItem.ts new file mode 100644 index 00000000..85028a0c --- /dev/null +++ b/src/serialization/types/BadRequestErrorBodyDetailsItem.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index"; +import * as Webflow from "../../api/index"; +import * as core from "../../core"; + +export const BadRequestErrorBodyDetailsItem: core.serialization.Schema< + serializers.BadRequestErrorBodyDetailsItem.Raw, + Webflow.BadRequestErrorBodyDetailsItem +> = core.serialization.undiscriminatedUnion([ + core.serialization.string(), + core.serialization.record(core.serialization.string(), core.serialization.unknown()), +]); + +export declare namespace BadRequestErrorBodyDetailsItem { + type Raw = string | Record; +} diff --git a/src/serialization/types/BulkCollectionItem.ts b/src/serialization/types/BulkCollectionItem.ts deleted file mode 100644 index a164b074..00000000 --- a/src/serialization/types/BulkCollectionItem.ts +++ /dev/null @@ -1,35 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { BulkCollectionItemFieldData } from "./BulkCollectionItemFieldData"; - -export const BulkCollectionItem: core.serialization.ObjectSchema< - serializers.BulkCollectionItem.Raw, - Webflow.BulkCollectionItem -> = core.serialization.object({ - id: core.serialization.string(), - cmsLocaleIds: core.serialization.list(core.serialization.string()).optional(), - lastPublished: core.serialization.string().optional(), - lastUpdated: core.serialization.string().optional(), - createdOn: core.serialization.string().optional(), - isArchived: core.serialization.boolean().optional(), - isDraft: core.serialization.boolean().optional(), - fieldData: BulkCollectionItemFieldData.optional(), -}); - -export declare namespace BulkCollectionItem { - interface Raw { - id: string; - cmsLocaleIds?: string[] | null; - lastPublished?: string | null; - lastUpdated?: string | null; - createdOn?: string | null; - isArchived?: boolean | null; - isDraft?: boolean | null; - fieldData?: BulkCollectionItemFieldData.Raw | null; - } -} diff --git a/src/serialization/types/BulkCollectionItemFieldData.ts b/src/serialization/types/BulkCollectionItemFieldData.ts deleted file mode 100644 index d4486017..00000000 --- a/src/serialization/types/BulkCollectionItemFieldData.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const BulkCollectionItemFieldData: core.serialization.ObjectSchema< - serializers.BulkCollectionItemFieldData.Raw, - Webflow.BulkCollectionItemFieldData -> = core.serialization.object({ - name: core.serialization.string().optional(), - slug: core.serialization.string().optional(), -}); - -export declare namespace BulkCollectionItemFieldData { - interface Raw { - name?: string | null; - slug?: string | null; - [key: string]: any; - } -} diff --git a/src/serialization/types/Collection.ts b/src/serialization/types/Collection.ts deleted file mode 100644 index 5e5b5e66..00000000 --- a/src/serialization/types/Collection.ts +++ /dev/null @@ -1,31 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { Field } from "./Field"; - -export const Collection: core.serialization.ObjectSchema = - core.serialization.object({ - id: core.serialization.string(), - displayName: core.serialization.string().optional(), - singularName: core.serialization.string().optional(), - slug: core.serialization.string().optional(), - createdOn: core.serialization.date().optional(), - lastUpdated: core.serialization.date().optional(), - fields: core.serialization.list(Field), - }); - -export declare namespace Collection { - interface Raw { - id: string; - displayName?: string | null; - singularName?: string | null; - slug?: string | null; - createdOn?: string | null; - lastUpdated?: string | null; - fields: Field.Raw[]; - } -} diff --git a/src/serialization/types/CollectionItem.ts b/src/serialization/types/CollectionItem.ts deleted file mode 100644 index 23cf3695..00000000 --- a/src/serialization/types/CollectionItem.ts +++ /dev/null @@ -1,33 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { CollectionItemFieldData } from "./CollectionItemFieldData"; - -export const CollectionItem: core.serialization.ObjectSchema = - core.serialization.object({ - id: core.serialization.string(), - cmsLocaleId: core.serialization.string().optional(), - lastPublished: core.serialization.string().optional(), - lastUpdated: core.serialization.string().optional(), - createdOn: core.serialization.string().optional(), - isArchived: core.serialization.boolean().optional(), - isDraft: core.serialization.boolean().optional(), - fieldData: CollectionItemFieldData.optional(), - }); - -export declare namespace CollectionItem { - interface Raw { - id: string; - cmsLocaleId?: string | null; - lastPublished?: string | null; - lastUpdated?: string | null; - createdOn?: string | null; - isArchived?: boolean | null; - isDraft?: boolean | null; - fieldData?: CollectionItemFieldData.Raw | null; - } -} diff --git a/src/serialization/types/CollectionItemFieldData.ts b/src/serialization/types/CollectionItemFieldData.ts deleted file mode 100644 index 383dfeb0..00000000 --- a/src/serialization/types/CollectionItemFieldData.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const CollectionItemFieldData: core.serialization.ObjectSchema< - serializers.CollectionItemFieldData.Raw, - Webflow.CollectionItemFieldData -> = core.serialization.object({ - name: core.serialization.string().optional(), - slug: core.serialization.string().optional(), -}); - -export declare namespace CollectionItemFieldData { - interface Raw { - name?: string | null; - slug?: string | null; - [key: string]: any; - } -} diff --git a/src/serialization/types/CollectionItemList.ts b/src/serialization/types/CollectionItemList.ts deleted file mode 100644 index fec01650..00000000 --- a/src/serialization/types/CollectionItemList.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { CollectionItem } from "./CollectionItem"; -import { CollectionItemListPagination } from "./CollectionItemListPagination"; - -export const CollectionItemList: core.serialization.ObjectSchema< - serializers.CollectionItemList.Raw, - Webflow.CollectionItemList -> = core.serialization.object({ - items: core.serialization.list(CollectionItem).optional(), - pagination: CollectionItemListPagination.optional(), -}); - -export declare namespace CollectionItemList { - interface Raw { - items?: CollectionItem.Raw[] | null; - pagination?: CollectionItemListPagination.Raw | null; - } -} diff --git a/src/serialization/types/CollectionItemListPagination.ts b/src/serialization/types/CollectionItemListPagination.ts deleted file mode 100644 index 70589b0e..00000000 --- a/src/serialization/types/CollectionItemListPagination.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const CollectionItemListPagination: core.serialization.ObjectSchema< - serializers.CollectionItemListPagination.Raw, - Webflow.CollectionItemListPagination -> = core.serialization.object({ - limit: core.serialization.number().optional(), - offset: core.serialization.number().optional(), - total: core.serialization.number().optional(), -}); - -export declare namespace CollectionItemListPagination { - interface Raw { - limit?: number | null; - offset?: number | null; - total?: number | null; - } -} diff --git a/src/serialization/types/CollectionList.ts b/src/serialization/types/CollectionList.ts deleted file mode 100644 index b7723e68..00000000 --- a/src/serialization/types/CollectionList.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { CollectionListArrayItem } from "./CollectionListArrayItem"; - -export const CollectionList: core.serialization.ObjectSchema = - core.serialization.object({ - collections: core.serialization.list(CollectionListArrayItem).optional(), - }); - -export declare namespace CollectionList { - interface Raw { - collections?: CollectionListArrayItem.Raw[] | null; - } -} diff --git a/src/serialization/types/CollectionListArrayItem.ts b/src/serialization/types/CollectionListArrayItem.ts deleted file mode 100644 index e6bdb4b2..00000000 --- a/src/serialization/types/CollectionListArrayItem.ts +++ /dev/null @@ -1,30 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const CollectionListArrayItem: core.serialization.ObjectSchema< - serializers.CollectionListArrayItem.Raw, - Webflow.CollectionListArrayItem -> = core.serialization.object({ - id: core.serialization.string(), - displayName: core.serialization.string().optional(), - singularName: core.serialization.string().optional(), - slug: core.serialization.string().optional(), - createdOn: core.serialization.date().optional(), - lastUpdated: core.serialization.date().optional(), -}); - -export declare namespace CollectionListArrayItem { - interface Raw { - id: string; - displayName?: string | null; - singularName?: string | null; - slug?: string | null; - createdOn?: string | null; - lastUpdated?: string | null; - } -} diff --git a/src/serialization/types/ConflictErrorBody.ts b/src/serialization/types/ConflictErrorBody.ts index b5050c4a..15302f87 100644 --- a/src/serialization/types/ConflictErrorBody.ts +++ b/src/serialization/types/ConflictErrorBody.ts @@ -5,23 +5,24 @@ import * as serializers from "../index"; import * as Webflow from "../../api/index"; import * as core from "../../core"; -import { ErrorDetailsItem } from "./ErrorDetailsItem"; +import { ConflictErrorBodyCode } from "./ConflictErrorBodyCode"; +import { ConflictErrorBodyDetailsItem } from "./ConflictErrorBodyDetailsItem"; export const ConflictErrorBody: core.serialization.ObjectSchema< serializers.ConflictErrorBody.Raw, Webflow.ConflictErrorBody > = core.serialization.object({ - code: core.serialization.stringLiteral("ecommerce_not_enabled").optional(), + code: ConflictErrorBodyCode.optional(), message: core.serialization.string().optional(), externalReference: core.serialization.string().optional(), - details: core.serialization.list(ErrorDetailsItem).optional(), + details: core.serialization.list(ConflictErrorBodyDetailsItem).optional(), }); export declare namespace ConflictErrorBody { interface Raw { - code?: "ecommerce_not_enabled" | null; + code?: ConflictErrorBodyCode.Raw | null; message?: string | null; externalReference?: string | null; - details?: ErrorDetailsItem.Raw[] | null; + details?: ConflictErrorBodyDetailsItem.Raw[] | null; } } diff --git a/src/serialization/types/ConflictErrorBodyCode.ts b/src/serialization/types/ConflictErrorBodyCode.ts new file mode 100644 index 00000000..e539212f --- /dev/null +++ b/src/serialization/types/ConflictErrorBodyCode.ts @@ -0,0 +1,75 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index"; +import * as Webflow from "../../api/index"; +import * as core from "../../core"; + +export const ConflictErrorBodyCode: core.serialization.Schema< + serializers.ConflictErrorBodyCode.Raw, + Webflow.ConflictErrorBodyCode +> = core.serialization.enum_([ + "bad_request", + "collection_not_found", + "conflict", + "duplicate_collection", + "duplicate_user_email", + "ecommerce_not_enabled", + "forbidden", + "forms_require_republish", + "incompatible_webhook_filter", + "internal_error", + "invalid_auth_version", + "invalid_credentials", + "invalid_domain", + "invalid_user_email", + "item_not_found", + "missing_scopes", + "no_domains", + "not_authorized", + "not_enterprise_plan_site", + "not_enterprise_plan_workspace", + "order_not_found", + "resource_not_found", + "too_many_requests", + "unsupported_version", + "unsupported_webhook_trigger_type", + "user_limit_reached", + "user_not_found", + "users_not_enabled", + "validation_error", +]); + +export declare namespace ConflictErrorBodyCode { + type Raw = + | "bad_request" + | "collection_not_found" + | "conflict" + | "duplicate_collection" + | "duplicate_user_email" + | "ecommerce_not_enabled" + | "forbidden" + | "forms_require_republish" + | "incompatible_webhook_filter" + | "internal_error" + | "invalid_auth_version" + | "invalid_credentials" + | "invalid_domain" + | "invalid_user_email" + | "item_not_found" + | "missing_scopes" + | "no_domains" + | "not_authorized" + | "not_enterprise_plan_site" + | "not_enterprise_plan_workspace" + | "order_not_found" + | "resource_not_found" + | "too_many_requests" + | "unsupported_version" + | "unsupported_webhook_trigger_type" + | "user_limit_reached" + | "user_not_found" + | "users_not_enabled" + | "validation_error"; +} diff --git a/src/serialization/types/ConflictErrorBodyDetailsItem.ts b/src/serialization/types/ConflictErrorBodyDetailsItem.ts new file mode 100644 index 00000000..06c202a4 --- /dev/null +++ b/src/serialization/types/ConflictErrorBodyDetailsItem.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index"; +import * as Webflow from "../../api/index"; +import * as core from "../../core"; + +export const ConflictErrorBodyDetailsItem: core.serialization.Schema< + serializers.ConflictErrorBodyDetailsItem.Raw, + Webflow.ConflictErrorBodyDetailsItem +> = core.serialization.undiscriminatedUnion([ + core.serialization.string(), + core.serialization.record(core.serialization.string(), core.serialization.unknown()), +]); + +export declare namespace ConflictErrorBodyDetailsItem { + type Raw = string | Record; +} diff --git a/src/serialization/types/CustomCodeBlock.ts b/src/serialization/types/CustomCodeBlock.ts deleted file mode 100644 index 3cc3b08f..00000000 --- a/src/serialization/types/CustomCodeBlock.ts +++ /dev/null @@ -1,33 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { CustomCodeBlockType } from "./CustomCodeBlockType"; -import { Scripts } from "./Scripts"; -import { ScriptApply } from "./ScriptApply"; - -export const CustomCodeBlock: core.serialization.ObjectSchema< - serializers.CustomCodeBlock.Raw, - Webflow.CustomCodeBlock -> = core.serialization.object({ - siteId: core.serialization.string().optional(), - pageId: core.serialization.string().optional(), - type: CustomCodeBlockType.optional(), - scripts: Scripts.optional(), - createdOn: core.serialization.date().optional(), - lastUpdated: core.serialization.date().optional(), -}); - -export declare namespace CustomCodeBlock { - interface Raw { - siteId?: string | null; - pageId?: string | null; - type?: CustomCodeBlockType.Raw | null; - scripts?: Scripts.Raw | null; - createdOn?: string | null; - lastUpdated?: string | null; - } -} diff --git a/src/serialization/types/CustomCodeBlockType.ts b/src/serialization/types/CustomCodeBlockType.ts deleted file mode 100644 index 6232a480..00000000 --- a/src/serialization/types/CustomCodeBlockType.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const CustomCodeBlockType: core.serialization.Schema< - serializers.CustomCodeBlockType.Raw, - Webflow.CustomCodeBlockType -> = core.serialization.enum_(["page", "site"]); - -export declare namespace CustomCodeBlockType { - type Raw = "page" | "site"; -} diff --git a/src/serialization/types/CustomCodeHostedResponse.ts b/src/serialization/types/CustomCodeHostedResponse.ts deleted file mode 100644 index 62db86d6..00000000 --- a/src/serialization/types/CustomCodeHostedResponse.ts +++ /dev/null @@ -1,34 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const CustomCodeHostedResponse: core.serialization.ObjectSchema< - serializers.CustomCodeHostedResponse.Raw, - Webflow.CustomCodeHostedResponse -> = core.serialization.object({ - id: core.serialization.string().optional(), - canCopy: core.serialization.boolean().optional(), - displayName: core.serialization.string().optional(), - hostedLocation: core.serialization.string().optional(), - integrityHash: core.serialization.string().optional(), - createdOn: core.serialization.string().optional(), - lastUpdated: core.serialization.string().optional(), - version: core.serialization.string().optional(), -}); - -export declare namespace CustomCodeHostedResponse { - interface Raw { - id?: string | null; - canCopy?: boolean | null; - displayName?: string | null; - hostedLocation?: string | null; - integrityHash?: string | null; - createdOn?: string | null; - lastUpdated?: string | null; - version?: string | null; - } -} diff --git a/src/serialization/types/CustomCodeInlineResponse.ts b/src/serialization/types/CustomCodeInlineResponse.ts deleted file mode 100644 index c3073c62..00000000 --- a/src/serialization/types/CustomCodeInlineResponse.ts +++ /dev/null @@ -1,34 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const CustomCodeInlineResponse: core.serialization.ObjectSchema< - serializers.CustomCodeInlineResponse.Raw, - Webflow.CustomCodeInlineResponse -> = core.serialization.object({ - id: core.serialization.string().optional(), - canCopy: core.serialization.boolean().optional(), - displayName: core.serialization.string().optional(), - hostedLocation: core.serialization.string().optional(), - integrityHash: core.serialization.string().optional(), - createdOn: core.serialization.string().optional(), - lastUpdated: core.serialization.string().optional(), - version: core.serialization.string().optional(), -}); - -export declare namespace CustomCodeInlineResponse { - interface Raw { - id?: string | null; - canCopy?: boolean | null; - displayName?: string | null; - hostedLocation?: string | null; - integrityHash?: string | null; - createdOn?: string | null; - lastUpdated?: string | null; - version?: string | null; - } -} diff --git a/src/serialization/types/Dom.ts b/src/serialization/types/Dom.ts deleted file mode 100644 index 0483b20f..00000000 --- a/src/serialization/types/Dom.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { Node } from "./Node"; -import { Pagination } from "./Pagination"; - -export const Dom: core.serialization.ObjectSchema = core.serialization.object({ - pageId: core.serialization.string().optional(), - nodes: core.serialization.list(Node).optional(), - pagination: Pagination.optional(), -}); - -export declare namespace Dom { - interface Raw { - pageId?: string | null; - nodes?: Node.Raw[] | null; - pagination?: Pagination.Raw | null; - } -} diff --git a/src/serialization/types/Domain.ts b/src/serialization/types/Domain.ts deleted file mode 100644 index 457b0478..00000000 --- a/src/serialization/types/Domain.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const Domain: core.serialization.ObjectSchema = - core.serialization.object({ - id: core.serialization.string(), - url: core.serialization.string().optional(), - }); - -export declare namespace Domain { - interface Raw { - id: string; - url?: string | null; - } -} diff --git a/src/serialization/types/Domains.ts b/src/serialization/types/Domains.ts deleted file mode 100644 index afdbdde9..00000000 --- a/src/serialization/types/Domains.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { Domain } from "./Domain"; - -export const Domains: core.serialization.ObjectSchema = - core.serialization.object({ - customDomains: core.serialization.list(Domain).optional(), - }); - -export declare namespace Domains { - interface Raw { - customDomains?: Domain.Raw[] | null; - } -} diff --git a/src/serialization/types/DuplicateUserEmail.ts b/src/serialization/types/DuplicateUserEmail.ts deleted file mode 100644 index 6f083835..00000000 --- a/src/serialization/types/DuplicateUserEmail.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { ErrorDetailsItem } from "./ErrorDetailsItem"; - -export const DuplicateUserEmail: core.serialization.ObjectSchema< - serializers.DuplicateUserEmail.Raw, - Webflow.DuplicateUserEmail -> = core.serialization.object({ - code: core.serialization.string().optional(), - message: core.serialization.string().optional(), - externalReference: core.serialization.string().optional(), - details: core.serialization.list(ErrorDetailsItem).optional(), -}); - -export declare namespace DuplicateUserEmail { - interface Raw { - code?: string | null; - message?: string | null; - externalReference?: string | null; - details?: ErrorDetailsItem.Raw[] | null; - } -} diff --git a/src/serialization/types/EcommerceSettings.ts b/src/serialization/types/EcommerceSettings.ts deleted file mode 100644 index a9b566e7..00000000 --- a/src/serialization/types/EcommerceSettings.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const EcommerceSettings: core.serialization.ObjectSchema< - serializers.EcommerceSettings.Raw, - Webflow.EcommerceSettings -> = core.serialization.object({ - siteId: core.serialization.string().optional(), - createdOn: core.serialization.date().optional(), - defaultCurrency: core.serialization.string().optional(), -}); - -export declare namespace EcommerceSettings { - interface Raw { - siteId?: string | null; - createdOn?: string | null; - defaultCurrency?: string | null; - } -} diff --git a/src/serialization/types/ErrorDetailsItem.ts b/src/serialization/types/ErrorDetailsItem.ts deleted file mode 100644 index fbe2f0fa..00000000 --- a/src/serialization/types/ErrorDetailsItem.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const ErrorDetailsItem: core.serialization.Schema = - core.serialization.undiscriminatedUnion([ - core.serialization.string(), - core.serialization.record(core.serialization.string(), core.serialization.unknown()), - ]); - -export declare namespace ErrorDetailsItem { - type Raw = string | Record; -} diff --git a/src/serialization/types/Error_.ts b/src/serialization/types/Error_.ts deleted file mode 100644 index 7bc5df26..00000000 --- a/src/serialization/types/Error_.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { ErrorDetailsItem } from "./ErrorDetailsItem"; - -export const Error_: core.serialization.ObjectSchema = - core.serialization.object({ - code: core.serialization.string().optional(), - message: core.serialization.string().optional(), - externalReference: core.serialization.string().optional(), - details: core.serialization.list(ErrorDetailsItem).optional(), - }); - -export declare namespace Error_ { - interface Raw { - code?: string | null; - message?: string | null; - externalReference?: string | null; - details?: ErrorDetailsItem.Raw[] | null; - } -} diff --git a/src/serialization/types/Field.ts b/src/serialization/types/Field.ts deleted file mode 100644 index a03d8732..00000000 --- a/src/serialization/types/Field.ts +++ /dev/null @@ -1,30 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { FieldType } from "./FieldType"; - -export const Field: core.serialization.ObjectSchema = core.serialization.object({ - id: core.serialization.string(), - isRequired: core.serialization.boolean(), - isEditable: core.serialization.boolean().optional(), - type: FieldType, - slug: core.serialization.string().optional(), - displayName: core.serialization.string(), - helpText: core.serialization.string().optional(), -}); - -export declare namespace Field { - interface Raw { - id: string; - isRequired: boolean; - isEditable?: boolean | null; - type: FieldType.Raw; - slug?: string | null; - displayName: string; - helpText?: string | null; - } -} diff --git a/src/serialization/types/FieldType.ts b/src/serialization/types/FieldType.ts deleted file mode 100644 index 62bfe5f5..00000000 --- a/src/serialization/types/FieldType.ts +++ /dev/null @@ -1,41 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const FieldType: core.serialization.Schema = - core.serialization.enum_([ - "PlainText", - "RichText", - "Image", - "MultiImage", - "Video", - "Link", - "Email", - "Phone", - "Number", - "DateTime", - "Switch", - "Color", - "ExtFileRef", - ]); - -export declare namespace FieldType { - type Raw = - | "PlainText" - | "RichText" - | "Image" - | "MultiImage" - | "Video" - | "Link" - | "Email" - | "Phone" - | "Number" - | "DateTime" - | "Switch" - | "Color" - | "ExtFileRef"; -} diff --git a/src/serialization/types/ForbiddenErrorBody.ts b/src/serialization/types/ForbiddenErrorBody.ts index 584b7bbe..f728efb8 100644 --- a/src/serialization/types/ForbiddenErrorBody.ts +++ b/src/serialization/types/ForbiddenErrorBody.ts @@ -5,24 +5,24 @@ import * as serializers from "../index"; import * as Webflow from "../../api/index"; import * as core from "../../core"; +import { ForbiddenErrorBodyCode } from "./ForbiddenErrorBodyCode"; +import { ForbiddenErrorBodyDetailsItem } from "./ForbiddenErrorBodyDetailsItem"; export const ForbiddenErrorBody: core.serialization.ObjectSchema< serializers.ForbiddenErrorBody.Raw, Webflow.ForbiddenErrorBody > = core.serialization.object({ - status: core.serialization.number().optional(), + code: ForbiddenErrorBodyCode.optional(), message: core.serialization.string().optional(), - publicErrorCode: core.serialization.string().optional(), externalReference: core.serialization.string().optional(), - details: core.serialization.list(core.serialization.string()).optional(), + details: core.serialization.list(ForbiddenErrorBodyDetailsItem).optional(), }); export declare namespace ForbiddenErrorBody { interface Raw { - status?: number | null; + code?: ForbiddenErrorBodyCode.Raw | null; message?: string | null; - publicErrorCode?: string | null; externalReference?: string | null; - details?: string[] | null; + details?: ForbiddenErrorBodyDetailsItem.Raw[] | null; } } diff --git a/src/serialization/types/ForbiddenErrorBodyCode.ts b/src/serialization/types/ForbiddenErrorBodyCode.ts new file mode 100644 index 00000000..e59008bb --- /dev/null +++ b/src/serialization/types/ForbiddenErrorBodyCode.ts @@ -0,0 +1,75 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index"; +import * as Webflow from "../../api/index"; +import * as core from "../../core"; + +export const ForbiddenErrorBodyCode: core.serialization.Schema< + serializers.ForbiddenErrorBodyCode.Raw, + Webflow.ForbiddenErrorBodyCode +> = core.serialization.enum_([ + "bad_request", + "collection_not_found", + "conflict", + "duplicate_collection", + "duplicate_user_email", + "ecommerce_not_enabled", + "forbidden", + "forms_require_republish", + "incompatible_webhook_filter", + "internal_error", + "invalid_auth_version", + "invalid_credentials", + "invalid_domain", + "invalid_user_email", + "item_not_found", + "missing_scopes", + "no_domains", + "not_authorized", + "not_enterprise_plan_site", + "not_enterprise_plan_workspace", + "order_not_found", + "resource_not_found", + "too_many_requests", + "unsupported_version", + "unsupported_webhook_trigger_type", + "user_limit_reached", + "user_not_found", + "users_not_enabled", + "validation_error", +]); + +export declare namespace ForbiddenErrorBodyCode { + type Raw = + | "bad_request" + | "collection_not_found" + | "conflict" + | "duplicate_collection" + | "duplicate_user_email" + | "ecommerce_not_enabled" + | "forbidden" + | "forms_require_republish" + | "incompatible_webhook_filter" + | "internal_error" + | "invalid_auth_version" + | "invalid_credentials" + | "invalid_domain" + | "invalid_user_email" + | "item_not_found" + | "missing_scopes" + | "no_domains" + | "not_authorized" + | "not_enterprise_plan_site" + | "not_enterprise_plan_workspace" + | "order_not_found" + | "resource_not_found" + | "too_many_requests" + | "unsupported_version" + | "unsupported_webhook_trigger_type" + | "user_limit_reached" + | "user_not_found" + | "users_not_enabled" + | "validation_error"; +} diff --git a/src/serialization/types/ForbiddenErrorBodyDetailsItem.ts b/src/serialization/types/ForbiddenErrorBodyDetailsItem.ts new file mode 100644 index 00000000..fa208d33 --- /dev/null +++ b/src/serialization/types/ForbiddenErrorBodyDetailsItem.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index"; +import * as Webflow from "../../api/index"; +import * as core from "../../core"; + +export const ForbiddenErrorBodyDetailsItem: core.serialization.Schema< + serializers.ForbiddenErrorBodyDetailsItem.Raw, + Webflow.ForbiddenErrorBodyDetailsItem +> = core.serialization.undiscriminatedUnion([ + core.serialization.string(), + core.serialization.record(core.serialization.string(), core.serialization.unknown()), +]); + +export declare namespace ForbiddenErrorBodyDetailsItem { + type Raw = string | Record; +} diff --git a/src/serialization/types/Form.ts b/src/serialization/types/Form.ts deleted file mode 100644 index 084d23c2..00000000 --- a/src/serialization/types/Form.ts +++ /dev/null @@ -1,42 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { FormField } from "./FormField"; -import { FormResponseSettings } from "./FormResponseSettings"; -import { FormFieldValue } from "./FormFieldValue"; - -export const Form: core.serialization.ObjectSchema = core.serialization.object({ - displayName: core.serialization.string().optional(), - createdOn: core.serialization.date().optional(), - lastUpdated: core.serialization.date().optional(), - fields: core.serialization.list(FormField).optional(), - responseSettings: FormResponseSettings.optional(), - id: core.serialization.string().optional(), - siteId: core.serialization.string().optional(), - siteDomainId: core.serialization.string().optional(), - pageId: core.serialization.string().optional(), - pageName: core.serialization.string().optional(), - formElementId: core.serialization.string().optional(), - workspaceId: core.serialization.string().optional(), -}); - -export declare namespace Form { - interface Raw { - displayName?: string | null; - createdOn?: string | null; - lastUpdated?: string | null; - fields?: FormField.Raw[] | null; - responseSettings?: FormResponseSettings.Raw | null; - id?: string | null; - siteId?: string | null; - siteDomainId?: string | null; - pageId?: string | null; - pageName?: string | null; - formElementId?: string | null; - workspaceId?: string | null; - } -} diff --git a/src/serialization/types/FormField.ts b/src/serialization/types/FormField.ts deleted file mode 100644 index 359c10bf..00000000 --- a/src/serialization/types/FormField.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { FormFieldValue } from "./FormFieldValue"; - -export const FormField: core.serialization.Schema = - core.serialization.record(core.serialization.string(), FormFieldValue); - -export declare namespace FormField { - type Raw = Record; -} diff --git a/src/serialization/types/FormFieldValue.ts b/src/serialization/types/FormFieldValue.ts deleted file mode 100644 index 392ff038..00000000 --- a/src/serialization/types/FormFieldValue.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { FormFieldValueType } from "./FormFieldValueType"; - -export const FormFieldValue: core.serialization.ObjectSchema = - core.serialization.object({ - displayName: core.serialization.string().optional(), - type: FormFieldValueType.optional(), - placeholder: core.serialization.string().optional(), - userVisible: core.serialization.boolean().optional(), - }); - -export declare namespace FormFieldValue { - interface Raw { - displayName?: string | null; - type?: FormFieldValueType.Raw | null; - placeholder?: string | null; - userVisible?: boolean | null; - } -} diff --git a/src/serialization/types/FormFieldValueType.ts b/src/serialization/types/FormFieldValueType.ts deleted file mode 100644 index 8114ef1a..00000000 --- a/src/serialization/types/FormFieldValueType.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const FormFieldValueType: core.serialization.Schema< - serializers.FormFieldValueType.Raw, - Webflow.FormFieldValueType -> = core.serialization.enum_(["Plain", "Email", "Password", "Phone", "Number"]); - -export declare namespace FormFieldValueType { - type Raw = "Plain" | "Email" | "Password" | "Phone" | "Number"; -} diff --git a/src/serialization/types/FormList.ts b/src/serialization/types/FormList.ts deleted file mode 100644 index 623bd507..00000000 --- a/src/serialization/types/FormList.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { Form } from "./Form"; -import { Pagination } from "./Pagination"; - -export const FormList: core.serialization.ObjectSchema = - core.serialization.object({ - forms: core.serialization.list(Form).optional(), - pagination: Pagination.optional(), - }); - -export declare namespace FormList { - interface Raw { - forms?: Form.Raw[] | null; - pagination?: Pagination.Raw | null; - } -} diff --git a/src/serialization/types/FormResponseSettings.ts b/src/serialization/types/FormResponseSettings.ts deleted file mode 100644 index e5e9d698..00000000 --- a/src/serialization/types/FormResponseSettings.ts +++ /dev/null @@ -1,26 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const FormResponseSettings: core.serialization.ObjectSchema< - serializers.FormResponseSettings.Raw, - Webflow.FormResponseSettings -> = core.serialization.object({ - redirectUrl: core.serialization.string().optional(), - redirectMethod: core.serialization.string().optional(), - redirectAction: core.serialization.string().optional(), - sendEmailConfirmation: core.serialization.boolean().optional(), -}); - -export declare namespace FormResponseSettings { - interface Raw { - redirectUrl?: string | null; - redirectMethod?: string | null; - redirectAction?: string | null; - sendEmailConfirmation?: boolean | null; - } -} diff --git a/src/serialization/types/FormSubmission.ts b/src/serialization/types/FormSubmission.ts deleted file mode 100644 index 032f686a..00000000 --- a/src/serialization/types/FormSubmission.ts +++ /dev/null @@ -1,28 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const FormSubmission: core.serialization.ObjectSchema = - core.serialization.object({ - id: core.serialization.string().optional(), - displayName: core.serialization.string().optional(), - siteId: core.serialization.string().optional(), - workspaceId: core.serialization.string().optional(), - dateSubmitted: core.serialization.date().optional(), - formResponse: core.serialization.record(core.serialization.string(), core.serialization.unknown()).optional(), - }); - -export declare namespace FormSubmission { - interface Raw { - id?: string | null; - displayName?: string | null; - siteId?: string | null; - workspaceId?: string | null; - dateSubmitted?: string | null; - formResponse?: Record | null; - } -} diff --git a/src/serialization/types/FormSubmissionList.ts b/src/serialization/types/FormSubmissionList.ts deleted file mode 100644 index 6f2bd8d7..00000000 --- a/src/serialization/types/FormSubmissionList.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { FormSubmission } from "./FormSubmission"; -import { Pagination } from "./Pagination"; - -export const FormSubmissionList: core.serialization.ObjectSchema< - serializers.FormSubmissionList.Raw, - Webflow.FormSubmissionList -> = core.serialization.object({ - formSubmissions: core.serialization.list(FormSubmission).optional(), - pagination: Pagination.optional(), -}); - -export declare namespace FormSubmissionList { - interface Raw { - formSubmissions?: FormSubmission.Raw[] | null; - pagination?: Pagination.Raw | null; - } -} diff --git a/src/serialization/types/ImageNode.ts b/src/serialization/types/ImageNode.ts deleted file mode 100644 index 0f059779..00000000 --- a/src/serialization/types/ImageNode.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const ImageNode: core.serialization.ObjectSchema = - core.serialization.object({ - alt: core.serialization.string().optional(), - assetId: core.serialization.string().optional(), - }); - -export declare namespace ImageNode { - interface Raw { - alt?: string | null; - assetId?: string | null; - } -} diff --git a/src/serialization/types/InternalServerErrorBody.ts b/src/serialization/types/InternalServerErrorBody.ts new file mode 100644 index 00000000..8271a12a --- /dev/null +++ b/src/serialization/types/InternalServerErrorBody.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index"; +import * as Webflow from "../../api/index"; +import * as core from "../../core"; +import { InternalServerErrorBodyCode } from "./InternalServerErrorBodyCode"; +import { InternalServerErrorBodyDetailsItem } from "./InternalServerErrorBodyDetailsItem"; + +export const InternalServerErrorBody: core.serialization.ObjectSchema< + serializers.InternalServerErrorBody.Raw, + Webflow.InternalServerErrorBody +> = core.serialization.object({ + code: InternalServerErrorBodyCode.optional(), + message: core.serialization.string().optional(), + externalReference: core.serialization.string().optional(), + details: core.serialization.list(InternalServerErrorBodyDetailsItem).optional(), +}); + +export declare namespace InternalServerErrorBody { + interface Raw { + code?: InternalServerErrorBodyCode.Raw | null; + message?: string | null; + externalReference?: string | null; + details?: InternalServerErrorBodyDetailsItem.Raw[] | null; + } +} diff --git a/src/serialization/types/InternalServerErrorBodyCode.ts b/src/serialization/types/InternalServerErrorBodyCode.ts new file mode 100644 index 00000000..cbe9aafa --- /dev/null +++ b/src/serialization/types/InternalServerErrorBodyCode.ts @@ -0,0 +1,75 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index"; +import * as Webflow from "../../api/index"; +import * as core from "../../core"; + +export const InternalServerErrorBodyCode: core.serialization.Schema< + serializers.InternalServerErrorBodyCode.Raw, + Webflow.InternalServerErrorBodyCode +> = core.serialization.enum_([ + "bad_request", + "collection_not_found", + "conflict", + "duplicate_collection", + "duplicate_user_email", + "ecommerce_not_enabled", + "forbidden", + "forms_require_republish", + "incompatible_webhook_filter", + "internal_error", + "invalid_auth_version", + "invalid_credentials", + "invalid_domain", + "invalid_user_email", + "item_not_found", + "missing_scopes", + "no_domains", + "not_authorized", + "not_enterprise_plan_site", + "not_enterprise_plan_workspace", + "order_not_found", + "resource_not_found", + "too_many_requests", + "unsupported_version", + "unsupported_webhook_trigger_type", + "user_limit_reached", + "user_not_found", + "users_not_enabled", + "validation_error", +]); + +export declare namespace InternalServerErrorBodyCode { + type Raw = + | "bad_request" + | "collection_not_found" + | "conflict" + | "duplicate_collection" + | "duplicate_user_email" + | "ecommerce_not_enabled" + | "forbidden" + | "forms_require_republish" + | "incompatible_webhook_filter" + | "internal_error" + | "invalid_auth_version" + | "invalid_credentials" + | "invalid_domain" + | "invalid_user_email" + | "item_not_found" + | "missing_scopes" + | "no_domains" + | "not_authorized" + | "not_enterprise_plan_site" + | "not_enterprise_plan_workspace" + | "order_not_found" + | "resource_not_found" + | "too_many_requests" + | "unsupported_version" + | "unsupported_webhook_trigger_type" + | "user_limit_reached" + | "user_not_found" + | "users_not_enabled" + | "validation_error"; +} diff --git a/src/serialization/types/InternalServerErrorBodyDetailsItem.ts b/src/serialization/types/InternalServerErrorBodyDetailsItem.ts new file mode 100644 index 00000000..40b02aa1 --- /dev/null +++ b/src/serialization/types/InternalServerErrorBodyDetailsItem.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index"; +import * as Webflow from "../../api/index"; +import * as core from "../../core"; + +export const InternalServerErrorBodyDetailsItem: core.serialization.Schema< + serializers.InternalServerErrorBodyDetailsItem.Raw, + Webflow.InternalServerErrorBodyDetailsItem +> = core.serialization.undiscriminatedUnion([ + core.serialization.string(), + core.serialization.record(core.serialization.string(), core.serialization.unknown()), +]); + +export declare namespace InternalServerErrorBodyDetailsItem { + type Raw = string | Record; +} diff --git a/src/serialization/types/InvalidDomain.ts b/src/serialization/types/InvalidDomain.ts deleted file mode 100644 index e4711cce..00000000 --- a/src/serialization/types/InvalidDomain.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const InvalidDomain: core.serialization.Schema = - core.serialization.unknown(); - -export declare namespace InvalidDomain { - type Raw = unknown; -} diff --git a/src/serialization/types/InventoryItem.ts b/src/serialization/types/InventoryItem.ts deleted file mode 100644 index 82cb9813..00000000 --- a/src/serialization/types/InventoryItem.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { InventoryItemInventoryType } from "./InventoryItemInventoryType"; - -export const InventoryItem: core.serialization.ObjectSchema = - core.serialization.object({ - id: core.serialization.string().optional(), - quantity: core.serialization.number().optional(), - inventoryType: InventoryItemInventoryType.optional(), - }); - -export declare namespace InventoryItem { - interface Raw { - id?: string | null; - quantity?: number | null; - inventoryType?: InventoryItemInventoryType.Raw | null; - } -} diff --git a/src/serialization/types/InventoryItemInventoryType.ts b/src/serialization/types/InventoryItemInventoryType.ts deleted file mode 100644 index 2a5879cb..00000000 --- a/src/serialization/types/InventoryItemInventoryType.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const InventoryItemInventoryType: core.serialization.Schema< - serializers.InventoryItemInventoryType.Raw, - Webflow.InventoryItemInventoryType -> = core.serialization.enum_(["infinite", "finite"]); - -export declare namespace InventoryItemInventoryType { - type Raw = "infinite" | "finite"; -} diff --git a/src/serialization/types/ListCustomCodeBlocks.ts b/src/serialization/types/ListCustomCodeBlocks.ts deleted file mode 100644 index db57194c..00000000 --- a/src/serialization/types/ListCustomCodeBlocks.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { CustomCodeBlock } from "./CustomCodeBlock"; -import { Pagination } from "./Pagination"; - -export const ListCustomCodeBlocks: core.serialization.ObjectSchema< - serializers.ListCustomCodeBlocks.Raw, - Webflow.ListCustomCodeBlocks -> = core.serialization.object({ - blocks: core.serialization.list(CustomCodeBlock).optional(), - pagination: Pagination.optional(), -}); - -export declare namespace ListCustomCodeBlocks { - interface Raw { - blocks?: CustomCodeBlock.Raw[] | null; - pagination?: Pagination.Raw | null; - } -} diff --git a/src/serialization/types/Locale.ts b/src/serialization/types/Locale.ts deleted file mode 100644 index e9767cd8..00000000 --- a/src/serialization/types/Locale.ts +++ /dev/null @@ -1,32 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const Locale: core.serialization.ObjectSchema = - core.serialization.object({ - id: core.serialization.string().optional(), - cmsLocaleId: core.serialization.string().optional(), - enabled: core.serialization.boolean().optional(), - displayName: core.serialization.string().optional(), - displayImageId: core.serialization.string().optional(), - redirect: core.serialization.boolean().optional(), - subdirectory: core.serialization.string().optional(), - tag: core.serialization.string().optional(), - }); - -export declare namespace Locale { - interface Raw { - id?: string | null; - cmsLocaleId?: string | null; - enabled?: boolean | null; - displayName?: string | null; - displayImageId?: string | null; - redirect?: boolean | null; - subdirectory?: string | null; - tag?: string | null; - } -} diff --git a/src/serialization/types/Locales.ts b/src/serialization/types/Locales.ts deleted file mode 100644 index 549d44b8..00000000 --- a/src/serialization/types/Locales.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { Locale } from "./Locale"; - -export const Locales: core.serialization.ObjectSchema = - core.serialization.object({ - primary: Locale.optional(), - secondary: core.serialization.list(Locale).optional(), - }); - -export declare namespace Locales { - interface Raw { - primary?: Locale.Raw | null; - secondary?: Locale.Raw[] | null; - } -} diff --git a/src/serialization/types/MissingScopes.ts b/src/serialization/types/MissingScopes.ts deleted file mode 100644 index cb217762..00000000 --- a/src/serialization/types/MissingScopes.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { ErrorDetailsItem } from "./ErrorDetailsItem"; - -export const MissingScopes: core.serialization.ObjectSchema = - core.serialization.object({ - code: core.serialization.stringLiteral("missing_scopes").optional(), - message: core.serialization.string().optional(), - externalReference: core.serialization.string().optional(), - details: core.serialization.list(ErrorDetailsItem).optional(), - }); - -export declare namespace MissingScopes { - interface Raw { - code?: "missing_scopes" | null; - message?: string | null; - externalReference?: string | null; - details?: ErrorDetailsItem.Raw[] | null; - } -} diff --git a/src/serialization/types/NoDomains.ts b/src/serialization/types/NoDomains.ts deleted file mode 100644 index 43e88262..00000000 --- a/src/serialization/types/NoDomains.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const NoDomains: core.serialization.Schema = - core.serialization.unknown(); - -export declare namespace NoDomains { - type Raw = unknown; -} diff --git a/src/serialization/types/Node.ts b/src/serialization/types/Node.ts deleted file mode 100644 index 49a8f26b..00000000 --- a/src/serialization/types/Node.ts +++ /dev/null @@ -1,28 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { NodeType } from "./NodeType"; -import { TextNode } from "./TextNode"; -import { ImageNode } from "./ImageNode"; - -export const Node: core.serialization.ObjectSchema = core.serialization.object({ - id: core.serialization.string().optional(), - type: NodeType.optional(), - text: TextNode.optional(), - image: ImageNode.optional(), - attributes: core.serialization.record(core.serialization.string(), core.serialization.string()).optional(), -}); - -export declare namespace Node { - interface Raw { - id?: string | null; - type?: NodeType.Raw | null; - text?: TextNode.Raw | null; - image?: ImageNode.Raw | null; - attributes?: Record | null; - } -} diff --git a/src/serialization/types/NodeType.ts b/src/serialization/types/NodeType.ts deleted file mode 100644 index e3e70f16..00000000 --- a/src/serialization/types/NodeType.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const NodeType: core.serialization.Schema = core.serialization.enum_( - ["text", "image"] -); - -export declare namespace NodeType { - type Raw = "text" | "image"; -} diff --git a/src/serialization/types/NotEnterprisePlanSite.ts b/src/serialization/types/NotEnterprisePlanSite.ts deleted file mode 100644 index 98d40890..00000000 --- a/src/serialization/types/NotEnterprisePlanSite.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { ErrorDetailsItem } from "./ErrorDetailsItem"; - -export const NotEnterprisePlanSite: core.serialization.ObjectSchema< - serializers.NotEnterprisePlanSite.Raw, - Webflow.NotEnterprisePlanSite -> = core.serialization.object({ - code: core.serialization.stringLiteral("missing_scopes").optional(), - message: core.serialization.string().optional(), - externalReference: core.serialization.string().optional(), - details: core.serialization.list(ErrorDetailsItem).optional(), -}); - -export declare namespace NotEnterprisePlanSite { - interface Raw { - code?: "missing_scopes" | null; - message?: string | null; - externalReference?: string | null; - details?: ErrorDetailsItem.Raw[] | null; - } -} diff --git a/src/serialization/types/NotFoundErrorBody.ts b/src/serialization/types/NotFoundErrorBody.ts new file mode 100644 index 00000000..19060a48 --- /dev/null +++ b/src/serialization/types/NotFoundErrorBody.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index"; +import * as Webflow from "../../api/index"; +import * as core from "../../core"; +import { NotFoundErrorBodyCode } from "./NotFoundErrorBodyCode"; +import { NotFoundErrorBodyDetailsItem } from "./NotFoundErrorBodyDetailsItem"; + +export const NotFoundErrorBody: core.serialization.ObjectSchema< + serializers.NotFoundErrorBody.Raw, + Webflow.NotFoundErrorBody +> = core.serialization.object({ + code: NotFoundErrorBodyCode.optional(), + message: core.serialization.string().optional(), + externalReference: core.serialization.string().optional(), + details: core.serialization.list(NotFoundErrorBodyDetailsItem).optional(), +}); + +export declare namespace NotFoundErrorBody { + interface Raw { + code?: NotFoundErrorBodyCode.Raw | null; + message?: string | null; + externalReference?: string | null; + details?: NotFoundErrorBodyDetailsItem.Raw[] | null; + } +} diff --git a/src/serialization/types/NotFoundErrorBodyCode.ts b/src/serialization/types/NotFoundErrorBodyCode.ts new file mode 100644 index 00000000..eb1a75f3 --- /dev/null +++ b/src/serialization/types/NotFoundErrorBodyCode.ts @@ -0,0 +1,75 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index"; +import * as Webflow from "../../api/index"; +import * as core from "../../core"; + +export const NotFoundErrorBodyCode: core.serialization.Schema< + serializers.NotFoundErrorBodyCode.Raw, + Webflow.NotFoundErrorBodyCode +> = core.serialization.enum_([ + "bad_request", + "collection_not_found", + "conflict", + "duplicate_collection", + "duplicate_user_email", + "ecommerce_not_enabled", + "forbidden", + "forms_require_republish", + "incompatible_webhook_filter", + "internal_error", + "invalid_auth_version", + "invalid_credentials", + "invalid_domain", + "invalid_user_email", + "item_not_found", + "missing_scopes", + "no_domains", + "not_authorized", + "not_enterprise_plan_site", + "not_enterprise_plan_workspace", + "order_not_found", + "resource_not_found", + "too_many_requests", + "unsupported_version", + "unsupported_webhook_trigger_type", + "user_limit_reached", + "user_not_found", + "users_not_enabled", + "validation_error", +]); + +export declare namespace NotFoundErrorBodyCode { + type Raw = + | "bad_request" + | "collection_not_found" + | "conflict" + | "duplicate_collection" + | "duplicate_user_email" + | "ecommerce_not_enabled" + | "forbidden" + | "forms_require_republish" + | "incompatible_webhook_filter" + | "internal_error" + | "invalid_auth_version" + | "invalid_credentials" + | "invalid_domain" + | "invalid_user_email" + | "item_not_found" + | "missing_scopes" + | "no_domains" + | "not_authorized" + | "not_enterprise_plan_site" + | "not_enterprise_plan_workspace" + | "order_not_found" + | "resource_not_found" + | "too_many_requests" + | "unsupported_version" + | "unsupported_webhook_trigger_type" + | "user_limit_reached" + | "user_not_found" + | "users_not_enabled" + | "validation_error"; +} diff --git a/src/serialization/types/NotFoundErrorBodyDetailsItem.ts b/src/serialization/types/NotFoundErrorBodyDetailsItem.ts new file mode 100644 index 00000000..8f29693c --- /dev/null +++ b/src/serialization/types/NotFoundErrorBodyDetailsItem.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index"; +import * as Webflow from "../../api/index"; +import * as core from "../../core"; + +export const NotFoundErrorBodyDetailsItem: core.serialization.Schema< + serializers.NotFoundErrorBodyDetailsItem.Raw, + Webflow.NotFoundErrorBodyDetailsItem +> = core.serialization.undiscriminatedUnion([ + core.serialization.string(), + core.serialization.record(core.serialization.string(), core.serialization.unknown()), +]); + +export declare namespace NotFoundErrorBodyDetailsItem { + type Raw = string | Record; +} diff --git a/src/serialization/types/Order.ts b/src/serialization/types/Order.ts deleted file mode 100644 index 0d6fa5da..00000000 --- a/src/serialization/types/Order.ts +++ /dev/null @@ -1,95 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { OrderStatus } from "./OrderStatus"; -import { OrderDisputeLastStatus } from "./OrderDisputeLastStatus"; -import { OrderPrice } from "./OrderPrice"; -import { OrderAddress } from "./OrderAddress"; -import { OrderCustomerInfo } from "./OrderCustomerInfo"; -import { OrderPurchasedItem } from "./OrderPurchasedItem"; -import { StripeDetails } from "./StripeDetails"; -import { StripeCard } from "./StripeCard"; -import { PaypalDetails } from "./PaypalDetails"; -import { OrderMetadata } from "./OrderMetadata"; -import { OrderTotals } from "./OrderTotals"; -import { OrderDownloadFilesItem } from "./OrderDownloadFilesItem"; - -export const Order: core.serialization.ObjectSchema = core.serialization.object({ - orderId: core.serialization.string().optional(), - status: OrderStatus.optional(), - comment: core.serialization.string().optional(), - orderComment: core.serialization.string().optional(), - acceptedOn: core.serialization.date().optional(), - fulfilledOn: core.serialization.date().optional(), - refundedOn: core.serialization.date().optional(), - disputedOn: core.serialization.date().optional(), - disputeUpdatedOn: core.serialization.date().optional(), - disputeLastStatus: OrderDisputeLastStatus.optional(), - customerPaid: OrderPrice.optional(), - netAmount: OrderPrice.optional(), - applicationFee: OrderPrice.optional(), - allAddresses: core.serialization.list(OrderAddress).optional(), - shippingAddress: OrderAddress.optional(), - billingAddress: OrderAddress.optional(), - shippingProvider: core.serialization.string().optional(), - shippingTracking: core.serialization.string().optional(), - shippingTrackingUrl: core.serialization.property("shippingTrackingURL", core.serialization.string().optional()), - customerInfo: OrderCustomerInfo.optional(), - purchasedItems: core.serialization.list(OrderPurchasedItem).optional(), - purchasedItemsCount: core.serialization.number().optional(), - stripeDetails: StripeDetails.optional(), - stripeCard: StripeCard.optional(), - paypalDetails: PaypalDetails.optional(), - customData: core.serialization - .list(core.serialization.record(core.serialization.string(), core.serialization.unknown())) - .optional(), - metadata: OrderMetadata.optional(), - isCustomerDeleted: core.serialization.boolean().optional(), - isShippingRequired: core.serialization.boolean().optional(), - hasDownloads: core.serialization.boolean().optional(), - paymentProcessor: core.serialization.string().optional(), - totals: OrderTotals.optional(), - downloadFiles: core.serialization.list(OrderDownloadFilesItem).optional(), -}); - -export declare namespace Order { - interface Raw { - orderId?: string | null; - status?: OrderStatus.Raw | null; - comment?: string | null; - orderComment?: string | null; - acceptedOn?: string | null; - fulfilledOn?: string | null; - refundedOn?: string | null; - disputedOn?: string | null; - disputeUpdatedOn?: string | null; - disputeLastStatus?: OrderDisputeLastStatus.Raw | null; - customerPaid?: OrderPrice.Raw | null; - netAmount?: OrderPrice.Raw | null; - applicationFee?: OrderPrice.Raw | null; - allAddresses?: OrderAddress.Raw[] | null; - shippingAddress?: OrderAddress.Raw | null; - billingAddress?: OrderAddress.Raw | null; - shippingProvider?: string | null; - shippingTracking?: string | null; - shippingTrackingURL?: string | null; - customerInfo?: OrderCustomerInfo.Raw | null; - purchasedItems?: OrderPurchasedItem.Raw[] | null; - purchasedItemsCount?: number | null; - stripeDetails?: StripeDetails.Raw | null; - stripeCard?: StripeCard.Raw | null; - paypalDetails?: PaypalDetails.Raw | null; - customData?: Record[] | null; - metadata?: OrderMetadata.Raw | null; - isCustomerDeleted?: boolean | null; - isShippingRequired?: boolean | null; - hasDownloads?: boolean | null; - paymentProcessor?: string | null; - totals?: OrderTotals.Raw | null; - downloadFiles?: OrderDownloadFilesItem.Raw[] | null; - } -} diff --git a/src/serialization/types/OrderAddress.ts b/src/serialization/types/OrderAddress.ts deleted file mode 100644 index 01044cb1..00000000 --- a/src/serialization/types/OrderAddress.ts +++ /dev/null @@ -1,36 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { OrderAddressType } from "./OrderAddressType"; -import { OrderAddressJapanType } from "./OrderAddressJapanType"; - -export const OrderAddress: core.serialization.ObjectSchema = - core.serialization.object({ - type: OrderAddressType.optional(), - japanType: OrderAddressJapanType.optional(), - addressee: core.serialization.string().optional(), - line1: core.serialization.string().optional(), - line2: core.serialization.string().optional(), - city: core.serialization.string().optional(), - state: core.serialization.string().optional(), - country: core.serialization.string().optional(), - postalCode: core.serialization.string().optional(), - }); - -export declare namespace OrderAddress { - interface Raw { - type?: OrderAddressType.Raw | null; - japanType?: OrderAddressJapanType.Raw | null; - addressee?: string | null; - line1?: string | null; - line2?: string | null; - city?: string | null; - state?: string | null; - country?: string | null; - postalCode?: string | null; - } -} diff --git a/src/serialization/types/OrderAddressJapanType.ts b/src/serialization/types/OrderAddressJapanType.ts deleted file mode 100644 index 40d12dbd..00000000 --- a/src/serialization/types/OrderAddressJapanType.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const OrderAddressJapanType: core.serialization.Schema< - serializers.OrderAddressJapanType.Raw, - Webflow.OrderAddressJapanType -> = core.serialization.enum_(["kana", "kanji"]); - -export declare namespace OrderAddressJapanType { - type Raw = "kana" | "kanji"; -} diff --git a/src/serialization/types/OrderAddressType.ts b/src/serialization/types/OrderAddressType.ts deleted file mode 100644 index 6387754a..00000000 --- a/src/serialization/types/OrderAddressType.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const OrderAddressType: core.serialization.Schema = - core.serialization.enum_(["shipping", "billing"]); - -export declare namespace OrderAddressType { - type Raw = "shipping" | "billing"; -} diff --git a/src/serialization/types/OrderCustomerInfo.ts b/src/serialization/types/OrderCustomerInfo.ts deleted file mode 100644 index b0870929..00000000 --- a/src/serialization/types/OrderCustomerInfo.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const OrderCustomerInfo: core.serialization.ObjectSchema< - serializers.OrderCustomerInfo.Raw, - Webflow.OrderCustomerInfo -> = core.serialization.object({ - fullName: core.serialization.string().optional(), - email: core.serialization.string().optional(), -}); - -export declare namespace OrderCustomerInfo { - interface Raw { - fullName?: string | null; - email?: string | null; - } -} diff --git a/src/serialization/types/OrderDisputeLastStatus.ts b/src/serialization/types/OrderDisputeLastStatus.ts deleted file mode 100644 index 2ed550d5..00000000 --- a/src/serialization/types/OrderDisputeLastStatus.ts +++ /dev/null @@ -1,33 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const OrderDisputeLastStatus: core.serialization.Schema< - serializers.OrderDisputeLastStatus.Raw, - Webflow.OrderDisputeLastStatus -> = core.serialization.enum_([ - "warning_needs_response", - "warning_under_review", - "warning_closed", - "needs_response", - "under_review", - "charge_refunded", - "won", - "lost", -]); - -export declare namespace OrderDisputeLastStatus { - type Raw = - | "warning_needs_response" - | "warning_under_review" - | "warning_closed" - | "needs_response" - | "under_review" - | "charge_refunded" - | "won" - | "lost"; -} diff --git a/src/serialization/types/OrderDownloadFilesItem.ts b/src/serialization/types/OrderDownloadFilesItem.ts deleted file mode 100644 index e808ff17..00000000 --- a/src/serialization/types/OrderDownloadFilesItem.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const OrderDownloadFilesItem: core.serialization.ObjectSchema< - serializers.OrderDownloadFilesItem.Raw, - Webflow.OrderDownloadFilesItem -> = core.serialization.object({ - id: core.serialization.string().optional(), - name: core.serialization.string().optional(), - url: core.serialization.string().optional(), -}); - -export declare namespace OrderDownloadFilesItem { - interface Raw { - id?: string | null; - name?: string | null; - url?: string | null; - } -} diff --git a/src/serialization/types/OrderList.ts b/src/serialization/types/OrderList.ts deleted file mode 100644 index f72bcec2..00000000 --- a/src/serialization/types/OrderList.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { Order } from "./Order"; -import { Pagination } from "./Pagination"; - -export const OrderList: core.serialization.ObjectSchema = - core.serialization.object({ - orders: core.serialization.list(Order).optional(), - pagination: Pagination.optional(), - }); - -export declare namespace OrderList { - interface Raw { - orders?: Order.Raw[] | null; - pagination?: Pagination.Raw | null; - } -} diff --git a/src/serialization/types/OrderMetadata.ts b/src/serialization/types/OrderMetadata.ts deleted file mode 100644 index 5155eacc..00000000 --- a/src/serialization/types/OrderMetadata.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const OrderMetadata: core.serialization.ObjectSchema = - core.serialization.object({ - isBuyNow: core.serialization.boolean().optional(), - }); - -export declare namespace OrderMetadata { - interface Raw { - isBuyNow?: boolean | null; - } -} diff --git a/src/serialization/types/OrderPrice.ts b/src/serialization/types/OrderPrice.ts deleted file mode 100644 index cd63a06d..00000000 --- a/src/serialization/types/OrderPrice.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const OrderPrice: core.serialization.ObjectSchema = - core.serialization.object({ - unit: core.serialization.string().optional(), - value: core.serialization.string().optional(), - string: core.serialization.string().optional(), - }); - -export declare namespace OrderPrice { - interface Raw { - unit?: string | null; - value?: string | null; - string?: string | null; - } -} diff --git a/src/serialization/types/OrderPurchasedItem.ts b/src/serialization/types/OrderPurchasedItem.ts deleted file mode 100644 index bedb4077..00000000 --- a/src/serialization/types/OrderPurchasedItem.ts +++ /dev/null @@ -1,50 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { OrderPrice } from "./OrderPrice"; -import { OrderPurchasedItemVariantImage } from "./OrderPurchasedItemVariantImage"; - -export const OrderPurchasedItem: core.serialization.ObjectSchema< - serializers.OrderPurchasedItem.Raw, - Webflow.OrderPurchasedItem -> = core.serialization.object({ - count: core.serialization.number().optional(), - rowTotal: OrderPrice.optional(), - productId: core.serialization.string().optional(), - productName: core.serialization.string().optional(), - productSlug: core.serialization.string().optional(), - variantId: core.serialization.string().optional(), - variantName: core.serialization.string().optional(), - variantSlug: core.serialization.string().optional(), - variantSku: core.serialization.property("variantSKU", core.serialization.string().optional()), - variantImage: OrderPurchasedItemVariantImage.optional(), - variantPrice: OrderPrice.optional(), - weight: core.serialization.number().optional(), - width: core.serialization.number().optional(), - height: core.serialization.number().optional(), - length: core.serialization.number().optional(), -}); - -export declare namespace OrderPurchasedItem { - interface Raw { - count?: number | null; - rowTotal?: OrderPrice.Raw | null; - productId?: string | null; - productName?: string | null; - productSlug?: string | null; - variantId?: string | null; - variantName?: string | null; - variantSlug?: string | null; - variantSKU?: string | null; - variantImage?: OrderPurchasedItemVariantImage.Raw | null; - variantPrice?: OrderPrice.Raw | null; - weight?: number | null; - width?: number | null; - height?: number | null; - length?: number | null; - } -} diff --git a/src/serialization/types/OrderPurchasedItemVariantImage.ts b/src/serialization/types/OrderPurchasedItemVariantImage.ts deleted file mode 100644 index 7b51b164..00000000 --- a/src/serialization/types/OrderPurchasedItemVariantImage.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { OrderPurchasedItemVariantImageFile } from "./OrderPurchasedItemVariantImageFile"; - -export const OrderPurchasedItemVariantImage: core.serialization.ObjectSchema< - serializers.OrderPurchasedItemVariantImage.Raw, - Webflow.OrderPurchasedItemVariantImage -> = core.serialization.object({ - url: core.serialization.string().optional(), - file: OrderPurchasedItemVariantImageFile.optional(), -}); - -export declare namespace OrderPurchasedItemVariantImage { - interface Raw { - url?: string | null; - file?: OrderPurchasedItemVariantImageFile.Raw | null; - } -} diff --git a/src/serialization/types/OrderPurchasedItemVariantImageFile.ts b/src/serialization/types/OrderPurchasedItemVariantImageFile.ts deleted file mode 100644 index 43e465a4..00000000 --- a/src/serialization/types/OrderPurchasedItemVariantImageFile.ts +++ /dev/null @@ -1,33 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { OrderPurchasedItemVariantImageFileVariantsItem } from "./OrderPurchasedItemVariantImageFileVariantsItem"; - -export const OrderPurchasedItemVariantImageFile: core.serialization.ObjectSchema< - serializers.OrderPurchasedItemVariantImageFile.Raw, - Webflow.OrderPurchasedItemVariantImageFile -> = core.serialization.object({ - size: core.serialization.number().optional(), - originalFileName: core.serialization.string().optional(), - createdOn: core.serialization.date().optional(), - contentType: core.serialization.string().optional(), - width: core.serialization.number().optional(), - height: core.serialization.number().optional(), - variants: core.serialization.list(OrderPurchasedItemVariantImageFileVariantsItem).optional(), -}); - -export declare namespace OrderPurchasedItemVariantImageFile { - interface Raw { - size?: number | null; - originalFileName?: string | null; - createdOn?: string | null; - contentType?: string | null; - width?: number | null; - height?: number | null; - variants?: OrderPurchasedItemVariantImageFileVariantsItem.Raw[] | null; - } -} diff --git a/src/serialization/types/OrderPurchasedItemVariantImageFileVariantsItem.ts b/src/serialization/types/OrderPurchasedItemVariantImageFileVariantsItem.ts deleted file mode 100644 index 099deaec..00000000 --- a/src/serialization/types/OrderPurchasedItemVariantImageFileVariantsItem.ts +++ /dev/null @@ -1,28 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const OrderPurchasedItemVariantImageFileVariantsItem: core.serialization.ObjectSchema< - serializers.OrderPurchasedItemVariantImageFileVariantsItem.Raw, - Webflow.OrderPurchasedItemVariantImageFileVariantsItem -> = core.serialization.object({ - url: core.serialization.string().optional(), - originalFileName: core.serialization.string().optional(), - size: core.serialization.number().optional(), - width: core.serialization.number().optional(), - height: core.serialization.number().optional(), -}); - -export declare namespace OrderPurchasedItemVariantImageFileVariantsItem { - interface Raw { - url?: string | null; - originalFileName?: string | null; - size?: number | null; - width?: number | null; - height?: number | null; - } -} diff --git a/src/serialization/types/OrderStatus.ts b/src/serialization/types/OrderStatus.ts deleted file mode 100644 index 402f5472..00000000 --- a/src/serialization/types/OrderStatus.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const OrderStatus: core.serialization.Schema = - core.serialization.enum_(["pending", "unfulfilled", "fulfilled", "disputed", "dispute-lost", "refunded"]); - -export declare namespace OrderStatus { - type Raw = "pending" | "unfulfilled" | "fulfilled" | "disputed" | "dispute-lost" | "refunded"; -} diff --git a/src/serialization/types/OrderTotals.ts b/src/serialization/types/OrderTotals.ts deleted file mode 100644 index ff29ccfa..00000000 --- a/src/serialization/types/OrderTotals.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { OrderPrice } from "./OrderPrice"; -import { OrderTotalsExtrasItem } from "./OrderTotalsExtrasItem"; - -export const OrderTotals: core.serialization.ObjectSchema = - core.serialization.object({ - subtotal: OrderPrice.optional(), - extras: core.serialization.list(OrderTotalsExtrasItem).optional(), - total: OrderPrice.optional(), - }); - -export declare namespace OrderTotals { - interface Raw { - subtotal?: OrderPrice.Raw | null; - extras?: OrderTotalsExtrasItem.Raw[] | null; - total?: OrderPrice.Raw | null; - } -} diff --git a/src/serialization/types/OrderTotalsExtrasItem.ts b/src/serialization/types/OrderTotalsExtrasItem.ts deleted file mode 100644 index 1fe7fa42..00000000 --- a/src/serialization/types/OrderTotalsExtrasItem.ts +++ /dev/null @@ -1,28 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { OrderTotalsExtrasItemType } from "./OrderTotalsExtrasItemType"; -import { OrderPrice } from "./OrderPrice"; - -export const OrderTotalsExtrasItem: core.serialization.ObjectSchema< - serializers.OrderTotalsExtrasItem.Raw, - Webflow.OrderTotalsExtrasItem -> = core.serialization.object({ - type: OrderTotalsExtrasItemType.optional(), - name: core.serialization.string().optional(), - description: core.serialization.string().optional(), - price: OrderPrice.optional(), -}); - -export declare namespace OrderTotalsExtrasItem { - interface Raw { - type?: OrderTotalsExtrasItemType.Raw | null; - name?: string | null; - description?: string | null; - price?: OrderPrice.Raw | null; - } -} diff --git a/src/serialization/types/OrderTotalsExtrasItemType.ts b/src/serialization/types/OrderTotalsExtrasItemType.ts deleted file mode 100644 index 9e9e0822..00000000 --- a/src/serialization/types/OrderTotalsExtrasItemType.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const OrderTotalsExtrasItemType: core.serialization.Schema< - serializers.OrderTotalsExtrasItemType.Raw, - Webflow.OrderTotalsExtrasItemType -> = core.serialization.enum_(["discount", "discount-shipping", "shipping", "tax"]); - -export declare namespace OrderTotalsExtrasItemType { - type Raw = "discount" | "discount-shipping" | "shipping" | "tax"; -} diff --git a/src/serialization/types/Page.ts b/src/serialization/types/Page.ts deleted file mode 100644 index 0d6d46cd..00000000 --- a/src/serialization/types/Page.ts +++ /dev/null @@ -1,49 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { PageSeo } from "./PageSeo"; -import { PageOpenGraph } from "./PageOpenGraph"; - -export const Page: core.serialization.ObjectSchema = core.serialization.object({ - id: core.serialization.string(), - siteId: core.serialization.string().optional(), - title: core.serialization.string().optional(), - slug: core.serialization.string().optional(), - parentId: core.serialization.string().optional(), - collectionId: core.serialization.string().optional(), - createdOn: core.serialization.date().optional(), - lastUpdated: core.serialization.date().optional(), - archived: core.serialization.boolean().optional(), - draft: core.serialization.boolean().optional(), - canBranch: core.serialization.boolean().optional(), - isMembersOnly: core.serialization.boolean().optional(), - seo: PageSeo.optional(), - openGraph: PageOpenGraph.optional(), - localeId: core.serialization.string().optional(), - publishedPath: core.serialization.string().optional(), -}); - -export declare namespace Page { - interface Raw { - id: string; - siteId?: string | null; - title?: string | null; - slug?: string | null; - parentId?: string | null; - collectionId?: string | null; - createdOn?: string | null; - lastUpdated?: string | null; - archived?: boolean | null; - draft?: boolean | null; - canBranch?: boolean | null; - isMembersOnly?: boolean | null; - seo?: PageSeo.Raw | null; - openGraph?: PageOpenGraph.Raw | null; - localeId?: string | null; - publishedPath?: string | null; - } -} diff --git a/src/serialization/types/PageList.ts b/src/serialization/types/PageList.ts deleted file mode 100644 index 2b3eab21..00000000 --- a/src/serialization/types/PageList.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { Page } from "./Page"; -import { Pagination } from "./Pagination"; - -export const PageList: core.serialization.ObjectSchema = - core.serialization.object({ - pages: core.serialization.list(Page).optional(), - pagination: Pagination.optional(), - }); - -export declare namespace PageList { - interface Raw { - pages?: Page.Raw[] | null; - pagination?: Pagination.Raw | null; - } -} diff --git a/src/serialization/types/PageOpenGraph.ts b/src/serialization/types/PageOpenGraph.ts deleted file mode 100644 index a9aeb63d..00000000 --- a/src/serialization/types/PageOpenGraph.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const PageOpenGraph: core.serialization.ObjectSchema = - core.serialization.object({ - title: core.serialization.string().optional(), - titleCopied: core.serialization.boolean().optional(), - description: core.serialization.string().optional(), - descriptionCopied: core.serialization.boolean().optional(), - }); - -export declare namespace PageOpenGraph { - interface Raw { - title?: string | null; - titleCopied?: boolean | null; - description?: string | null; - descriptionCopied?: boolean | null; - } -} diff --git a/src/serialization/types/PageSeo.ts b/src/serialization/types/PageSeo.ts deleted file mode 100644 index 45770a94..00000000 --- a/src/serialization/types/PageSeo.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const PageSeo: core.serialization.ObjectSchema = - core.serialization.object({ - title: core.serialization.string().optional(), - description: core.serialization.string().optional(), - }); - -export declare namespace PageSeo { - interface Raw { - title?: string | null; - description?: string | null; - } -} diff --git a/src/serialization/types/Pagination.ts b/src/serialization/types/Pagination.ts deleted file mode 100644 index 4d81b8f8..00000000 --- a/src/serialization/types/Pagination.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const Pagination: core.serialization.ObjectSchema = - core.serialization.object({ - limit: core.serialization.number().optional(), - offset: core.serialization.number().optional(), - total: core.serialization.number().optional(), - }); - -export declare namespace Pagination { - interface Raw { - limit?: number | null; - offset?: number | null; - total?: number | null; - } -} diff --git a/src/serialization/types/PaypalDetails.ts b/src/serialization/types/PaypalDetails.ts deleted file mode 100644 index 6c2d2b1e..00000000 --- a/src/serialization/types/PaypalDetails.ts +++ /dev/null @@ -1,28 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const PaypalDetails: core.serialization.ObjectSchema = - core.serialization.object({ - orderId: core.serialization.string().optional(), - payerId: core.serialization.string().optional(), - captureId: core.serialization.string().optional(), - refundId: core.serialization.string().optional(), - refundReason: core.serialization.string().optional(), - disputeId: core.serialization.string().optional(), - }); - -export declare namespace PaypalDetails { - interface Raw { - orderId?: string | null; - payerId?: string | null; - captureId?: string | null; - refundId?: string | null; - refundReason?: string | null; - disputeId?: string | null; - } -} diff --git a/src/serialization/types/Product.ts b/src/serialization/types/Product.ts deleted file mode 100644 index c832750e..00000000 --- a/src/serialization/types/Product.ts +++ /dev/null @@ -1,33 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { ProductFieldData } from "./ProductFieldData"; - -export const Product: core.serialization.ObjectSchema = - core.serialization.object({ - id: core.serialization.string().optional(), - cmsLocaleId: core.serialization.string().optional(), - lastPublished: core.serialization.date().optional(), - lastUpdated: core.serialization.date().optional(), - createdOn: core.serialization.date().optional(), - isArchived: core.serialization.boolean().optional(), - isDraft: core.serialization.boolean().optional(), - fieldData: ProductFieldData.optional(), - }); - -export declare namespace Product { - interface Raw { - id?: string | null; - cmsLocaleId?: string | null; - lastPublished?: string | null; - lastUpdated?: string | null; - createdOn?: string | null; - isArchived?: boolean | null; - isDraft?: boolean | null; - fieldData?: ProductFieldData.Raw | null; - } -} diff --git a/src/serialization/types/ProductAndSkUs.ts b/src/serialization/types/ProductAndSkUs.ts deleted file mode 100644 index df36def5..00000000 --- a/src/serialization/types/ProductAndSkUs.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { Product } from "./Product"; -import { Sku } from "./Sku"; - -export const ProductAndSkUs: core.serialization.ObjectSchema = - core.serialization.object({ - product: Product.optional(), - skus: core.serialization.list(Sku).optional(), - }); - -export declare namespace ProductAndSkUs { - interface Raw { - product?: Product.Raw | null; - skus?: Sku.Raw[] | null; - } -} diff --git a/src/serialization/types/ProductAndSkUsList.ts b/src/serialization/types/ProductAndSkUsList.ts deleted file mode 100644 index 1a2570a7..00000000 --- a/src/serialization/types/ProductAndSkUsList.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { ProductAndSkUs } from "./ProductAndSkUs"; -import { Pagination } from "./Pagination"; - -export const ProductAndSkUsList: core.serialization.ObjectSchema< - serializers.ProductAndSkUsList.Raw, - Webflow.ProductAndSkUsList -> = core.serialization.object({ - items: core.serialization.list(ProductAndSkUs).optional(), - pagination: Pagination.optional(), -}); - -export declare namespace ProductAndSkUsList { - interface Raw { - items?: ProductAndSkUs.Raw[] | null; - pagination?: Pagination.Raw | null; - } -} diff --git a/src/serialization/types/ProductFieldData.ts b/src/serialization/types/ProductFieldData.ts deleted file mode 100644 index 3c341243..00000000 --- a/src/serialization/types/ProductFieldData.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { SkuPropertyList } from "./SkuPropertyList"; -import { ProductFieldDataTaxCategory } from "./ProductFieldDataTaxCategory"; -import { ProductFieldDataEcProductType } from "./ProductFieldDataEcProductType"; - -export const ProductFieldData: core.serialization.ObjectSchema< - serializers.ProductFieldData.Raw, - Webflow.ProductFieldData -> = core.serialization.object({ - name: core.serialization.string().optional(), - slug: core.serialization.string().optional(), - description: core.serialization.string().optional(), - shippable: core.serialization.boolean().optional(), - skuProperties: core.serialization.property("sku-properties", core.serialization.list(SkuPropertyList).optional()), - categories: core.serialization.list(core.serialization.string()).optional(), - taxCategory: core.serialization.property("tax-category", ProductFieldDataTaxCategory.optional()), - defaultSku: core.serialization.property("default-sku", core.serialization.string().optional()), - ecProductType: core.serialization.property("ec-product-type", ProductFieldDataEcProductType.optional()), -}); - -export declare namespace ProductFieldData { - interface Raw { - name?: string | null; - slug?: string | null; - description?: string | null; - shippable?: boolean | null; - "sku-properties"?: SkuPropertyList.Raw[] | null; - categories?: string[] | null; - "tax-category"?: ProductFieldDataTaxCategory.Raw | null; - "default-sku"?: string | null; - "ec-product-type"?: ProductFieldDataEcProductType.Raw | null; - } -} diff --git a/src/serialization/types/ProductFieldDataEcProductType.ts b/src/serialization/types/ProductFieldDataEcProductType.ts deleted file mode 100644 index 364268e7..00000000 --- a/src/serialization/types/ProductFieldDataEcProductType.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const ProductFieldDataEcProductType: core.serialization.Schema< - serializers.ProductFieldDataEcProductType.Raw, - Webflow.ProductFieldDataEcProductType -> = core.serialization.enum_([ - "ff42fee0113744f693a764e3431a9cc2", - "f22027db68002190aef89a4a2b7ac8a1", - "c599e43b1a1c34d5a323aedf75d3adf6", - "b6ccc1830db4b1babeb06a9ac5f6dd76", -]); - -export declare namespace ProductFieldDataEcProductType { - type Raw = - | "ff42fee0113744f693a764e3431a9cc2" - | "f22027db68002190aef89a4a2b7ac8a1" - | "c599e43b1a1c34d5a323aedf75d3adf6" - | "b6ccc1830db4b1babeb06a9ac5f6dd76"; -} diff --git a/src/serialization/types/ProductFieldDataTaxCategory.ts b/src/serialization/types/ProductFieldDataTaxCategory.ts deleted file mode 100644 index b06152ad..00000000 --- a/src/serialization/types/ProductFieldDataTaxCategory.ts +++ /dev/null @@ -1,75 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const ProductFieldDataTaxCategory: core.serialization.Schema< - serializers.ProductFieldDataTaxCategory.Raw, - Webflow.ProductFieldDataTaxCategory -> = core.serialization.enum_([ - "standard-taxable", - "standard-exempt", - "books-religious", - "books-textbook", - "clothing", - "clothing-swimwear", - "digital-goods", - "digital-service", - "drugs-non-prescription", - "drugs-prescription", - "food-bottled-water", - "food-candy", - "food-groceries", - "food-prepared", - "food-soda", - "food-supplements", - "magazine-individual", - "magazine-subscription", - "service-admission", - "service-advertising", - "service-dry-cleaning", - "service-hairdressing", - "service-installation", - "service-miscellaneous", - "service-parking", - "service-printing", - "service-professional", - "service-repair", - "service-training", -]); - -export declare namespace ProductFieldDataTaxCategory { - type Raw = - | "standard-taxable" - | "standard-exempt" - | "books-religious" - | "books-textbook" - | "clothing" - | "clothing-swimwear" - | "digital-goods" - | "digital-service" - | "drugs-non-prescription" - | "drugs-prescription" - | "food-bottled-water" - | "food-candy" - | "food-groceries" - | "food-prepared" - | "food-soda" - | "food-supplements" - | "magazine-individual" - | "magazine-subscription" - | "service-admission" - | "service-advertising" - | "service-dry-cleaning" - | "service-hairdressing" - | "service-installation" - | "service-miscellaneous" - | "service-parking" - | "service-printing" - | "service-professional" - | "service-repair" - | "service-training"; -} diff --git a/src/serialization/types/PublishStatus.ts b/src/serialization/types/PublishStatus.ts deleted file mode 100644 index cd6ce42c..00000000 --- a/src/serialization/types/PublishStatus.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const PublishStatus: core.serialization.Schema = - core.serialization.enum_(["staging", "live"]); - -export declare namespace PublishStatus { - type Raw = "staging" | "live"; -} diff --git a/src/serialization/types/RegisteredScriptList.ts b/src/serialization/types/RegisteredScriptList.ts deleted file mode 100644 index fb9bef8c..00000000 --- a/src/serialization/types/RegisteredScriptList.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { CustomCodeHostedResponse } from "./CustomCodeHostedResponse"; - -export const RegisteredScriptList: core.serialization.ObjectSchema< - serializers.RegisteredScriptList.Raw, - Webflow.RegisteredScriptList -> = core.serialization.object({ - registeredScripts: core.serialization.list(CustomCodeHostedResponse).optional(), -}); - -export declare namespace RegisteredScriptList { - interface Raw { - registeredScripts?: CustomCodeHostedResponse.Raw[] | null; - } -} diff --git a/src/serialization/types/ScriptApply.ts b/src/serialization/types/ScriptApply.ts deleted file mode 100644 index f505ba90..00000000 --- a/src/serialization/types/ScriptApply.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { ScriptApplyLocation } from "./ScriptApplyLocation"; - -export const ScriptApply: core.serialization.ObjectSchema = - core.serialization.object({ - id: core.serialization.string(), - location: ScriptApplyLocation, - version: core.serialization.string(), - attributes: core.serialization.record(core.serialization.string(), core.serialization.unknown()).optional(), - }); - -export declare namespace ScriptApply { - interface Raw { - id: string; - location: ScriptApplyLocation.Raw; - version: string; - attributes?: Record | null; - } -} diff --git a/src/serialization/types/ScriptApplyList.ts b/src/serialization/types/ScriptApplyList.ts deleted file mode 100644 index d7689226..00000000 --- a/src/serialization/types/ScriptApplyList.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { ScriptApply } from "./ScriptApply"; - -export const ScriptApplyList: core.serialization.ObjectSchema< - serializers.ScriptApplyList.Raw, - Webflow.ScriptApplyList -> = core.serialization.object({ - scripts: core.serialization.list(ScriptApply).optional(), - lastUpdated: core.serialization.string().optional(), - createdOn: core.serialization.string().optional(), -}); - -export declare namespace ScriptApplyList { - interface Raw { - scripts?: ScriptApply.Raw[] | null; - lastUpdated?: string | null; - createdOn?: string | null; - } -} diff --git a/src/serialization/types/ScriptApplyLocation.ts b/src/serialization/types/ScriptApplyLocation.ts deleted file mode 100644 index 586225fa..00000000 --- a/src/serialization/types/ScriptApplyLocation.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const ScriptApplyLocation: core.serialization.Schema< - serializers.ScriptApplyLocation.Raw, - Webflow.ScriptApplyLocation -> = core.serialization.enum_(["header", "footer"]); - -export declare namespace ScriptApplyLocation { - type Raw = "header" | "footer"; -} diff --git a/src/serialization/types/Scripts.ts b/src/serialization/types/Scripts.ts deleted file mode 100644 index 79e25eb5..00000000 --- a/src/serialization/types/Scripts.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { ScriptApply } from "./ScriptApply"; - -export const Scripts: core.serialization.Schema = - core.serialization.list(ScriptApply); - -export declare namespace Scripts { - type Raw = ScriptApply.Raw[]; -} diff --git a/src/serialization/types/Site.ts b/src/serialization/types/Site.ts deleted file mode 100644 index 7f144a3b..00000000 --- a/src/serialization/types/Site.ts +++ /dev/null @@ -1,41 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { Domain } from "./Domain"; -import { Locales } from "./Locales"; - -export const Site: core.serialization.ObjectSchema = core.serialization.object({ - id: core.serialization.string(), - workspaceId: core.serialization.string().optional(), - createdOn: core.serialization.date().optional(), - displayName: core.serialization.string().optional(), - shortName: core.serialization.string().optional(), - lastPublished: core.serialization.date().optional(), - lastUpdated: core.serialization.date().optional(), - previewUrl: core.serialization.string().optional(), - timeZone: core.serialization.string().optional(), - parentFolderId: core.serialization.string().optional(), - customDomains: core.serialization.list(Domain).optional(), - locales: Locales.optional(), -}); - -export declare namespace Site { - interface Raw { - id: string; - workspaceId?: string | null; - createdOn?: string | null; - displayName?: string | null; - shortName?: string | null; - lastPublished?: string | null; - lastUpdated?: string | null; - previewUrl?: string | null; - timeZone?: string | null; - parentFolderId?: string | null; - customDomains?: Domain.Raw[] | null; - locales?: Locales.Raw | null; - } -} diff --git a/src/serialization/types/SiteActivityLogItem.ts b/src/serialization/types/SiteActivityLogItem.ts deleted file mode 100644 index 3ff16de4..00000000 --- a/src/serialization/types/SiteActivityLogItem.ts +++ /dev/null @@ -1,42 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { SiteActivityLogItemResourceOperation } from "./SiteActivityLogItemResourceOperation"; -import { SiteActivityLogItemUser } from "./SiteActivityLogItemUser"; - -export const SiteActivityLogItem: core.serialization.ObjectSchema< - serializers.SiteActivityLogItem.Raw, - Webflow.SiteActivityLogItem -> = core.serialization.object({ - id: core.serialization.string().optional(), - createdOn: core.serialization.date().optional(), - lastUpdated: core.serialization.date().optional(), - event: core.serialization.string().optional(), - resourceOperation: SiteActivityLogItemResourceOperation.optional(), - user: SiteActivityLogItemUser.optional(), - resourceId: core.serialization.string().optional(), - resourceName: core.serialization.string().optional(), - newValue: core.serialization.string().optional(), - previousValue: core.serialization.string().optional(), - payload: core.serialization.record(core.serialization.string(), core.serialization.unknown()).optional(), -}); - -export declare namespace SiteActivityLogItem { - interface Raw { - id?: string | null; - createdOn?: string | null; - lastUpdated?: string | null; - event?: string | null; - resourceOperation?: SiteActivityLogItemResourceOperation.Raw | null; - user?: SiteActivityLogItemUser.Raw | null; - resourceId?: string | null; - resourceName?: string | null; - newValue?: string | null; - previousValue?: string | null; - payload?: Record | null; - } -} diff --git a/src/serialization/types/SiteActivityLogItemResourceOperation.ts b/src/serialization/types/SiteActivityLogItemResourceOperation.ts deleted file mode 100644 index 3e1a946e..00000000 --- a/src/serialization/types/SiteActivityLogItemResourceOperation.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const SiteActivityLogItemResourceOperation: core.serialization.Schema< - serializers.SiteActivityLogItemResourceOperation.Raw, - Webflow.SiteActivityLogItemResourceOperation -> = core.serialization.enum_(["CREATED", "MODIFIED", "PUBLISHED", "UNPUBLISHED", "DELETED"]); - -export declare namespace SiteActivityLogItemResourceOperation { - type Raw = "CREATED" | "MODIFIED" | "PUBLISHED" | "UNPUBLISHED" | "DELETED"; -} diff --git a/src/serialization/types/SiteActivityLogItemUser.ts b/src/serialization/types/SiteActivityLogItemUser.ts deleted file mode 100644 index 01970e37..00000000 --- a/src/serialization/types/SiteActivityLogItemUser.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const SiteActivityLogItemUser: core.serialization.ObjectSchema< - serializers.SiteActivityLogItemUser.Raw, - Webflow.SiteActivityLogItemUser -> = core.serialization.object({ - id: core.serialization.string().optional(), - displayName: core.serialization.string().optional(), -}); - -export declare namespace SiteActivityLogItemUser { - interface Raw { - id?: string | null; - displayName?: string | null; - } -} diff --git a/src/serialization/types/SiteActivityLogResponse.ts b/src/serialization/types/SiteActivityLogResponse.ts deleted file mode 100644 index 86c7237a..00000000 --- a/src/serialization/types/SiteActivityLogResponse.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { SiteActivityLogItem } from "./SiteActivityLogItem"; -import { Pagination } from "./Pagination"; - -export const SiteActivityLogResponse: core.serialization.ObjectSchema< - serializers.SiteActivityLogResponse.Raw, - Webflow.SiteActivityLogResponse -> = core.serialization.object({ - items: core.serialization.list(SiteActivityLogItem).optional(), - pagination: Pagination.optional(), -}); - -export declare namespace SiteActivityLogResponse { - interface Raw { - items?: SiteActivityLogItem.Raw[] | null; - pagination?: Pagination.Raw | null; - } -} diff --git a/src/serialization/types/Sites.ts b/src/serialization/types/Sites.ts deleted file mode 100644 index 5c85449d..00000000 --- a/src/serialization/types/Sites.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { Site } from "./Site"; - -export const Sites: core.serialization.ObjectSchema = core.serialization.object({ - sites: core.serialization.list(Site).optional(), -}); - -export declare namespace Sites { - interface Raw { - sites?: Site.Raw[] | null; - } -} diff --git a/src/serialization/types/Sku.ts b/src/serialization/types/Sku.ts deleted file mode 100644 index 5758122a..00000000 --- a/src/serialization/types/Sku.ts +++ /dev/null @@ -1,28 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { SkuFieldData } from "./SkuFieldData"; - -export const Sku: core.serialization.ObjectSchema = core.serialization.object({ - id: core.serialization.string().optional(), - cmsLocaleId: core.serialization.string().optional(), - lastPublished: core.serialization.date().optional(), - lastUpdated: core.serialization.date().optional(), - createdOn: core.serialization.date().optional(), - fieldData: SkuFieldData.optional(), -}); - -export declare namespace Sku { - interface Raw { - id?: string | null; - cmsLocaleId?: string | null; - lastPublished?: string | null; - lastUpdated?: string | null; - createdOn?: string | null; - fieldData?: SkuFieldData.Raw | null; - } -} diff --git a/src/serialization/types/SkuFieldData.ts b/src/serialization/types/SkuFieldData.ts deleted file mode 100644 index 4bd54836..00000000 --- a/src/serialization/types/SkuFieldData.ts +++ /dev/null @@ -1,45 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { SkuValueList } from "./SkuValueList"; -import { SkuFieldDataPrice } from "./SkuFieldDataPrice"; -import { SkuFieldDataCompareAtPrice } from "./SkuFieldDataCompareAtPrice"; -import { SkuFieldDataEcSkuBillingMethod } from "./SkuFieldDataEcSkuBillingMethod"; -import { SkuFieldDataEcSkuSubscriptionPlan } from "./SkuFieldDataEcSkuSubscriptionPlan"; - -export const SkuFieldData: core.serialization.ObjectSchema = - core.serialization.object({ - skuValues: core.serialization.property("sku-values", SkuValueList.optional()), - name: core.serialization.string(), - slug: core.serialization.string(), - price: SkuFieldDataPrice, - compareAtPrice: core.serialization.property("compare-at-price", SkuFieldDataCompareAtPrice.optional()), - ecSkuBillingMethod: core.serialization.property( - "ec-sku-billing-method", - SkuFieldDataEcSkuBillingMethod.optional() - ), - ecSkuSubscriptionPlan: core.serialization.property( - "ec-sku-subscription-plan", - SkuFieldDataEcSkuSubscriptionPlan.optional() - ), - trackInventory: core.serialization.property("track-inventory", core.serialization.boolean().optional()), - quantity: core.serialization.number().optional(), - }); - -export declare namespace SkuFieldData { - interface Raw { - "sku-values"?: SkuValueList.Raw | null; - name: string; - slug: string; - price: SkuFieldDataPrice.Raw; - "compare-at-price"?: SkuFieldDataCompareAtPrice.Raw | null; - "ec-sku-billing-method"?: SkuFieldDataEcSkuBillingMethod.Raw | null; - "ec-sku-subscription-plan"?: SkuFieldDataEcSkuSubscriptionPlan.Raw | null; - "track-inventory"?: boolean | null; - quantity?: number | null; - } -} diff --git a/src/serialization/types/SkuFieldDataCompareAtPrice.ts b/src/serialization/types/SkuFieldDataCompareAtPrice.ts deleted file mode 100644 index 79d6e1a1..00000000 --- a/src/serialization/types/SkuFieldDataCompareAtPrice.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const SkuFieldDataCompareAtPrice: core.serialization.ObjectSchema< - serializers.SkuFieldDataCompareAtPrice.Raw, - Webflow.SkuFieldDataCompareAtPrice -> = core.serialization.object({ - value: core.serialization.number().optional(), - unit: core.serialization.string().optional(), -}); - -export declare namespace SkuFieldDataCompareAtPrice { - interface Raw { - value?: number | null; - unit?: string | null; - } -} diff --git a/src/serialization/types/SkuFieldDataEcSkuBillingMethod.ts b/src/serialization/types/SkuFieldDataEcSkuBillingMethod.ts deleted file mode 100644 index c0782137..00000000 --- a/src/serialization/types/SkuFieldDataEcSkuBillingMethod.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const SkuFieldDataEcSkuBillingMethod: core.serialization.Schema< - serializers.SkuFieldDataEcSkuBillingMethod.Raw, - Webflow.SkuFieldDataEcSkuBillingMethod -> = core.serialization.enum_(["one-time", "subscription"]); - -export declare namespace SkuFieldDataEcSkuBillingMethod { - type Raw = "one-time" | "subscription"; -} diff --git a/src/serialization/types/SkuFieldDataEcSkuSubscriptionPlan.ts b/src/serialization/types/SkuFieldDataEcSkuSubscriptionPlan.ts deleted file mode 100644 index 34e2614d..00000000 --- a/src/serialization/types/SkuFieldDataEcSkuSubscriptionPlan.ts +++ /dev/null @@ -1,28 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { SkuFieldDataEcSkuSubscriptionPlanInterval } from "./SkuFieldDataEcSkuSubscriptionPlanInterval"; -import { SkuFieldDataEcSkuSubscriptionPlanPlansItem } from "./SkuFieldDataEcSkuSubscriptionPlanPlansItem"; - -export const SkuFieldDataEcSkuSubscriptionPlan: core.serialization.ObjectSchema< - serializers.SkuFieldDataEcSkuSubscriptionPlan.Raw, - Webflow.SkuFieldDataEcSkuSubscriptionPlan -> = core.serialization.object({ - interval: SkuFieldDataEcSkuSubscriptionPlanInterval.optional(), - frequency: core.serialization.number().optional(), - trial: core.serialization.number().optional(), - plans: core.serialization.list(SkuFieldDataEcSkuSubscriptionPlanPlansItem).optional(), -}); - -export declare namespace SkuFieldDataEcSkuSubscriptionPlan { - interface Raw { - interval?: SkuFieldDataEcSkuSubscriptionPlanInterval.Raw | null; - frequency?: number | null; - trial?: number | null; - plans?: SkuFieldDataEcSkuSubscriptionPlanPlansItem.Raw[] | null; - } -} diff --git a/src/serialization/types/SkuFieldDataEcSkuSubscriptionPlanInterval.ts b/src/serialization/types/SkuFieldDataEcSkuSubscriptionPlanInterval.ts deleted file mode 100644 index 0505e729..00000000 --- a/src/serialization/types/SkuFieldDataEcSkuSubscriptionPlanInterval.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const SkuFieldDataEcSkuSubscriptionPlanInterval: core.serialization.Schema< - serializers.SkuFieldDataEcSkuSubscriptionPlanInterval.Raw, - Webflow.SkuFieldDataEcSkuSubscriptionPlanInterval -> = core.serialization.enum_(["day", "week", "month", "year"]); - -export declare namespace SkuFieldDataEcSkuSubscriptionPlanInterval { - type Raw = "day" | "week" | "month" | "year"; -} diff --git a/src/serialization/types/SkuFieldDataEcSkuSubscriptionPlanPlansItem.ts b/src/serialization/types/SkuFieldDataEcSkuSubscriptionPlanPlansItem.ts deleted file mode 100644 index 9e6ec045..00000000 --- a/src/serialization/types/SkuFieldDataEcSkuSubscriptionPlanPlansItem.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { SkuFieldDataEcSkuSubscriptionPlanPlansItemStatus } from "./SkuFieldDataEcSkuSubscriptionPlanPlansItemStatus"; - -export const SkuFieldDataEcSkuSubscriptionPlanPlansItem: core.serialization.ObjectSchema< - serializers.SkuFieldDataEcSkuSubscriptionPlanPlansItem.Raw, - Webflow.SkuFieldDataEcSkuSubscriptionPlanPlansItem -> = core.serialization.object({ - platform: core.serialization.stringLiteral("stripe").optional(), - id: core.serialization.string().optional(), - status: SkuFieldDataEcSkuSubscriptionPlanPlansItemStatus.optional(), -}); - -export declare namespace SkuFieldDataEcSkuSubscriptionPlanPlansItem { - interface Raw { - platform?: "stripe" | null; - id?: string | null; - status?: SkuFieldDataEcSkuSubscriptionPlanPlansItemStatus.Raw | null; - } -} diff --git a/src/serialization/types/SkuFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts b/src/serialization/types/SkuFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts deleted file mode 100644 index 4a557f31..00000000 --- a/src/serialization/types/SkuFieldDataEcSkuSubscriptionPlanPlansItemStatus.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const SkuFieldDataEcSkuSubscriptionPlanPlansItemStatus: core.serialization.Schema< - serializers.SkuFieldDataEcSkuSubscriptionPlanPlansItemStatus.Raw, - Webflow.SkuFieldDataEcSkuSubscriptionPlanPlansItemStatus -> = core.serialization.enum_(["active", "inactive", "canceled"]); - -export declare namespace SkuFieldDataEcSkuSubscriptionPlanPlansItemStatus { - type Raw = "active" | "inactive" | "canceled"; -} diff --git a/src/serialization/types/SkuFieldDataPrice.ts b/src/serialization/types/SkuFieldDataPrice.ts deleted file mode 100644 index 57575230..00000000 --- a/src/serialization/types/SkuFieldDataPrice.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const SkuFieldDataPrice: core.serialization.ObjectSchema< - serializers.SkuFieldDataPrice.Raw, - Webflow.SkuFieldDataPrice -> = core.serialization.object({ - value: core.serialization.number().optional(), - unit: core.serialization.string().optional(), -}); - -export declare namespace SkuFieldDataPrice { - interface Raw { - value?: number | null; - unit?: string | null; - } -} diff --git a/src/serialization/types/SkuPropertyList.ts b/src/serialization/types/SkuPropertyList.ts deleted file mode 100644 index 34014bc4..00000000 --- a/src/serialization/types/SkuPropertyList.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { SkuPropertyListEnumItem } from "./SkuPropertyListEnumItem"; - -export const SkuPropertyList: core.serialization.ObjectSchema< - serializers.SkuPropertyList.Raw, - Webflow.SkuPropertyList -> = core.serialization.object({ - id: core.serialization.string(), - name: core.serialization.string(), - enum: core.serialization.list(SkuPropertyListEnumItem), -}); - -export declare namespace SkuPropertyList { - interface Raw { - id: string; - name: string; - enum: SkuPropertyListEnumItem.Raw[]; - } -} diff --git a/src/serialization/types/SkuPropertyListEnumItem.ts b/src/serialization/types/SkuPropertyListEnumItem.ts deleted file mode 100644 index d997b0c3..00000000 --- a/src/serialization/types/SkuPropertyListEnumItem.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const SkuPropertyListEnumItem: core.serialization.ObjectSchema< - serializers.SkuPropertyListEnumItem.Raw, - Webflow.SkuPropertyListEnumItem -> = core.serialization.object({ - id: core.serialization.string(), - name: core.serialization.string(), - slug: core.serialization.string(), -}); - -export declare namespace SkuPropertyListEnumItem { - interface Raw { - id: string; - name: string; - slug: string; - } -} diff --git a/src/serialization/types/SkuValueList.ts b/src/serialization/types/SkuValueList.ts deleted file mode 100644 index 3350e638..00000000 --- a/src/serialization/types/SkuValueList.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const SkuValueList: core.serialization.Schema = - core.serialization.record(core.serialization.string(), core.serialization.string()); - -export declare namespace SkuValueList { - type Raw = Record; -} diff --git a/src/serialization/types/StripeCard.ts b/src/serialization/types/StripeCard.ts deleted file mode 100644 index 2ee72e91..00000000 --- a/src/serialization/types/StripeCard.ts +++ /dev/null @@ -1,26 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { StripeCardBrand } from "./StripeCardBrand"; -import { StripeCardExpires } from "./StripeCardExpires"; - -export const StripeCard: core.serialization.ObjectSchema = - core.serialization.object({ - last4: core.serialization.string().optional(), - brand: StripeCardBrand.optional(), - ownerName: core.serialization.string().optional(), - expires: StripeCardExpires.optional(), - }); - -export declare namespace StripeCard { - interface Raw { - last4?: string | null; - brand?: StripeCardBrand.Raw | null; - ownerName?: string | null; - expires?: StripeCardExpires.Raw | null; - } -} diff --git a/src/serialization/types/StripeCardBrand.ts b/src/serialization/types/StripeCardBrand.ts deleted file mode 100644 index eb1e7941..00000000 --- a/src/serialization/types/StripeCardBrand.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const StripeCardBrand: core.serialization.Schema = - core.serialization.enum_(["Visa", "American Express", "MasterCard", "Discover", "JCB", "Diners Club", "Unknown"]); - -export declare namespace StripeCardBrand { - type Raw = "Visa" | "American Express" | "MasterCard" | "Discover" | "JCB" | "Diners Club" | "Unknown"; -} diff --git a/src/serialization/types/StripeCardExpires.ts b/src/serialization/types/StripeCardExpires.ts deleted file mode 100644 index 9284b080..00000000 --- a/src/serialization/types/StripeCardExpires.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const StripeCardExpires: core.serialization.ObjectSchema< - serializers.StripeCardExpires.Raw, - Webflow.StripeCardExpires -> = core.serialization.object({ - year: core.serialization.number().optional(), - month: core.serialization.number().optional(), -}); - -export declare namespace StripeCardExpires { - interface Raw { - year?: number | null; - month?: number | null; - } -} diff --git a/src/serialization/types/StripeDetails.ts b/src/serialization/types/StripeDetails.ts deleted file mode 100644 index 1a190f7d..00000000 --- a/src/serialization/types/StripeDetails.ts +++ /dev/null @@ -1,32 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const StripeDetails: core.serialization.ObjectSchema = - core.serialization.object({ - subscriptionId: core.serialization.string().optional(), - paymentMethod: core.serialization.string().optional(), - paymentIntentId: core.serialization.string().optional(), - customerId: core.serialization.string().optional(), - chargeId: core.serialization.string().optional(), - disputeId: core.serialization.string().optional(), - refundId: core.serialization.string().optional(), - refundReason: core.serialization.string().optional(), - }); - -export declare namespace StripeDetails { - interface Raw { - subscriptionId?: string | null; - paymentMethod?: string | null; - paymentIntentId?: string | null; - customerId?: string | null; - chargeId?: string | null; - disputeId?: string | null; - refundId?: string | null; - refundReason?: string | null; - } -} diff --git a/src/serialization/types/TextNode.ts b/src/serialization/types/TextNode.ts deleted file mode 100644 index abf03e06..00000000 --- a/src/serialization/types/TextNode.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const TextNode: core.serialization.ObjectSchema = - core.serialization.object({ - html: core.serialization.string().optional(), - text: core.serialization.string().optional(), - }); - -export declare namespace TextNode { - interface Raw { - html?: string | null; - text?: string | null; - } -} diff --git a/src/serialization/types/TooManyRequestsErrorBody.ts b/src/serialization/types/TooManyRequestsErrorBody.ts index 71f75555..9c55a9db 100644 --- a/src/serialization/types/TooManyRequestsErrorBody.ts +++ b/src/serialization/types/TooManyRequestsErrorBody.ts @@ -5,22 +5,24 @@ import * as serializers from "../index"; import * as Webflow from "../../api/index"; import * as core from "../../core"; +import { TooManyRequestsErrorBodyCode } from "./TooManyRequestsErrorBodyCode"; +import { TooManyRequestsErrorBodyDetailsItem } from "./TooManyRequestsErrorBodyDetailsItem"; export const TooManyRequestsErrorBody: core.serialization.ObjectSchema< serializers.TooManyRequestsErrorBody.Raw, Webflow.TooManyRequestsErrorBody > = core.serialization.object({ + code: TooManyRequestsErrorBodyCode.optional(), message: core.serialization.string().optional(), - code: core.serialization.string().optional(), externalReference: core.serialization.string().optional(), - details: core.serialization.list(core.serialization.unknown()).optional(), + details: core.serialization.list(TooManyRequestsErrorBodyDetailsItem).optional(), }); export declare namespace TooManyRequestsErrorBody { interface Raw { + code?: TooManyRequestsErrorBodyCode.Raw | null; message?: string | null; - code?: string | null; externalReference?: string | null; - details?: unknown[] | null; + details?: TooManyRequestsErrorBodyDetailsItem.Raw[] | null; } } diff --git a/src/serialization/types/TooManyRequestsErrorBodyCode.ts b/src/serialization/types/TooManyRequestsErrorBodyCode.ts new file mode 100644 index 00000000..e743b829 --- /dev/null +++ b/src/serialization/types/TooManyRequestsErrorBodyCode.ts @@ -0,0 +1,75 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index"; +import * as Webflow from "../../api/index"; +import * as core from "../../core"; + +export const TooManyRequestsErrorBodyCode: core.serialization.Schema< + serializers.TooManyRequestsErrorBodyCode.Raw, + Webflow.TooManyRequestsErrorBodyCode +> = core.serialization.enum_([ + "bad_request", + "collection_not_found", + "conflict", + "duplicate_collection", + "duplicate_user_email", + "ecommerce_not_enabled", + "forbidden", + "forms_require_republish", + "incompatible_webhook_filter", + "internal_error", + "invalid_auth_version", + "invalid_credentials", + "invalid_domain", + "invalid_user_email", + "item_not_found", + "missing_scopes", + "no_domains", + "not_authorized", + "not_enterprise_plan_site", + "not_enterprise_plan_workspace", + "order_not_found", + "resource_not_found", + "too_many_requests", + "unsupported_version", + "unsupported_webhook_trigger_type", + "user_limit_reached", + "user_not_found", + "users_not_enabled", + "validation_error", +]); + +export declare namespace TooManyRequestsErrorBodyCode { + type Raw = + | "bad_request" + | "collection_not_found" + | "conflict" + | "duplicate_collection" + | "duplicate_user_email" + | "ecommerce_not_enabled" + | "forbidden" + | "forms_require_republish" + | "incompatible_webhook_filter" + | "internal_error" + | "invalid_auth_version" + | "invalid_credentials" + | "invalid_domain" + | "invalid_user_email" + | "item_not_found" + | "missing_scopes" + | "no_domains" + | "not_authorized" + | "not_enterprise_plan_site" + | "not_enterprise_plan_workspace" + | "order_not_found" + | "resource_not_found" + | "too_many_requests" + | "unsupported_version" + | "unsupported_webhook_trigger_type" + | "user_limit_reached" + | "user_not_found" + | "users_not_enabled" + | "validation_error"; +} diff --git a/src/serialization/types/TooManyRequestsErrorBodyDetailsItem.ts b/src/serialization/types/TooManyRequestsErrorBodyDetailsItem.ts new file mode 100644 index 00000000..ce191286 --- /dev/null +++ b/src/serialization/types/TooManyRequestsErrorBodyDetailsItem.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index"; +import * as Webflow from "../../api/index"; +import * as core from "../../core"; + +export const TooManyRequestsErrorBodyDetailsItem: core.serialization.Schema< + serializers.TooManyRequestsErrorBodyDetailsItem.Raw, + Webflow.TooManyRequestsErrorBodyDetailsItem +> = core.serialization.undiscriminatedUnion([ + core.serialization.string(), + core.serialization.record(core.serialization.string(), core.serialization.unknown()), +]); + +export declare namespace TooManyRequestsErrorBodyDetailsItem { + type Raw = string | Record; +} diff --git a/src/serialization/types/TriggerType.ts b/src/serialization/types/TriggerType.ts deleted file mode 100644 index b6411437..00000000 --- a/src/serialization/types/TriggerType.ts +++ /dev/null @@ -1,45 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const TriggerType: core.serialization.Schema = - core.serialization.enum_([ - "form_submission", - "site_publish", - "page_created", - "page_metadata_updated", - "page_deleted", - "ecomm_new_order", - "ecomm_order_changed", - "ecomm_inventory_changed", - "user_account_added", - "user_account_updated", - "user_account_deleted", - "collection_item_created", - "collection_item_changed", - "collection_item_deleted", - "collection_item_unpublished", - ]); - -export declare namespace TriggerType { - type Raw = - | "form_submission" - | "site_publish" - | "page_created" - | "page_metadata_updated" - | "page_deleted" - | "ecomm_new_order" - | "ecomm_order_changed" - | "ecomm_inventory_changed" - | "user_account_added" - | "user_account_updated" - | "user_account_deleted" - | "collection_item_created" - | "collection_item_changed" - | "collection_item_deleted" - | "collection_item_unpublished"; -} diff --git a/src/serialization/types/UnauthorizedErrorBody.ts b/src/serialization/types/UnauthorizedErrorBody.ts new file mode 100644 index 00000000..3c7947d8 --- /dev/null +++ b/src/serialization/types/UnauthorizedErrorBody.ts @@ -0,0 +1,28 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index"; +import * as Webflow from "../../api/index"; +import * as core from "../../core"; +import { UnauthorizedErrorBodyCode } from "./UnauthorizedErrorBodyCode"; +import { UnauthorizedErrorBodyDetailsItem } from "./UnauthorizedErrorBodyDetailsItem"; + +export const UnauthorizedErrorBody: core.serialization.ObjectSchema< + serializers.UnauthorizedErrorBody.Raw, + Webflow.UnauthorizedErrorBody +> = core.serialization.object({ + code: UnauthorizedErrorBodyCode.optional(), + message: core.serialization.string().optional(), + externalReference: core.serialization.string().optional(), + details: core.serialization.list(UnauthorizedErrorBodyDetailsItem).optional(), +}); + +export declare namespace UnauthorizedErrorBody { + interface Raw { + code?: UnauthorizedErrorBodyCode.Raw | null; + message?: string | null; + externalReference?: string | null; + details?: UnauthorizedErrorBodyDetailsItem.Raw[] | null; + } +} diff --git a/src/serialization/types/UnauthorizedErrorBodyCode.ts b/src/serialization/types/UnauthorizedErrorBodyCode.ts new file mode 100644 index 00000000..20c1701e --- /dev/null +++ b/src/serialization/types/UnauthorizedErrorBodyCode.ts @@ -0,0 +1,75 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index"; +import * as Webflow from "../../api/index"; +import * as core from "../../core"; + +export const UnauthorizedErrorBodyCode: core.serialization.Schema< + serializers.UnauthorizedErrorBodyCode.Raw, + Webflow.UnauthorizedErrorBodyCode +> = core.serialization.enum_([ + "bad_request", + "collection_not_found", + "conflict", + "duplicate_collection", + "duplicate_user_email", + "ecommerce_not_enabled", + "forbidden", + "forms_require_republish", + "incompatible_webhook_filter", + "internal_error", + "invalid_auth_version", + "invalid_credentials", + "invalid_domain", + "invalid_user_email", + "item_not_found", + "missing_scopes", + "no_domains", + "not_authorized", + "not_enterprise_plan_site", + "not_enterprise_plan_workspace", + "order_not_found", + "resource_not_found", + "too_many_requests", + "unsupported_version", + "unsupported_webhook_trigger_type", + "user_limit_reached", + "user_not_found", + "users_not_enabled", + "validation_error", +]); + +export declare namespace UnauthorizedErrorBodyCode { + type Raw = + | "bad_request" + | "collection_not_found" + | "conflict" + | "duplicate_collection" + | "duplicate_user_email" + | "ecommerce_not_enabled" + | "forbidden" + | "forms_require_republish" + | "incompatible_webhook_filter" + | "internal_error" + | "invalid_auth_version" + | "invalid_credentials" + | "invalid_domain" + | "invalid_user_email" + | "item_not_found" + | "missing_scopes" + | "no_domains" + | "not_authorized" + | "not_enterprise_plan_site" + | "not_enterprise_plan_workspace" + | "order_not_found" + | "resource_not_found" + | "too_many_requests" + | "unsupported_version" + | "unsupported_webhook_trigger_type" + | "user_limit_reached" + | "user_not_found" + | "users_not_enabled" + | "validation_error"; +} diff --git a/src/serialization/types/UnauthorizedErrorBodyDetailsItem.ts b/src/serialization/types/UnauthorizedErrorBodyDetailsItem.ts new file mode 100644 index 00000000..7807a921 --- /dev/null +++ b/src/serialization/types/UnauthorizedErrorBodyDetailsItem.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index"; +import * as Webflow from "../../api/index"; +import * as core from "../../core"; + +export const UnauthorizedErrorBodyDetailsItem: core.serialization.Schema< + serializers.UnauthorizedErrorBodyDetailsItem.Raw, + Webflow.UnauthorizedErrorBodyDetailsItem +> = core.serialization.undiscriminatedUnion([ + core.serialization.string(), + core.serialization.record(core.serialization.string(), core.serialization.unknown()), +]); + +export declare namespace UnauthorizedErrorBodyDetailsItem { + type Raw = string | Record; +} diff --git a/src/serialization/types/User.ts b/src/serialization/types/User.ts deleted file mode 100644 index 88dfbda9..00000000 --- a/src/serialization/types/User.ts +++ /dev/null @@ -1,36 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { UserStatus } from "./UserStatus"; -import { UserAccessGroupsItem } from "./UserAccessGroupsItem"; -import { UserData } from "./UserData"; - -export const User: core.serialization.ObjectSchema = core.serialization.object({ - id: core.serialization.string().optional(), - isEmailVerified: core.serialization.boolean().optional(), - lastUpdated: core.serialization.date().optional(), - invitedOn: core.serialization.date().optional(), - createdOn: core.serialization.date().optional(), - lastLogin: core.serialization.date().optional(), - status: UserStatus.optional(), - accessGroups: core.serialization.list(UserAccessGroupsItem).optional(), - data: UserData.optional(), -}); - -export declare namespace User { - interface Raw { - id?: string | null; - isEmailVerified?: boolean | null; - lastUpdated?: string | null; - invitedOn?: string | null; - createdOn?: string | null; - lastLogin?: string | null; - status?: UserStatus.Raw | null; - accessGroups?: UserAccessGroupsItem.Raw[] | null; - data?: UserData.Raw | null; - } -} diff --git a/src/serialization/types/UserAccessGroupsItem.ts b/src/serialization/types/UserAccessGroupsItem.ts deleted file mode 100644 index d8eb434c..00000000 --- a/src/serialization/types/UserAccessGroupsItem.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { UserAccessGroupsItemType } from "./UserAccessGroupsItemType"; - -export const UserAccessGroupsItem: core.serialization.ObjectSchema< - serializers.UserAccessGroupsItem.Raw, - Webflow.UserAccessGroupsItem -> = core.serialization.object({ - slug: core.serialization.string().optional(), - type: UserAccessGroupsItemType.optional(), -}); - -export declare namespace UserAccessGroupsItem { - interface Raw { - slug?: string | null; - type?: UserAccessGroupsItemType.Raw | null; - } -} diff --git a/src/serialization/types/UserAccessGroupsItemType.ts b/src/serialization/types/UserAccessGroupsItemType.ts deleted file mode 100644 index bc02739b..00000000 --- a/src/serialization/types/UserAccessGroupsItemType.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const UserAccessGroupsItemType: core.serialization.Schema< - serializers.UserAccessGroupsItemType.Raw, - Webflow.UserAccessGroupsItemType -> = core.serialization.enum_(["admin", "ecommerce"]); - -export declare namespace UserAccessGroupsItemType { - type Raw = "admin" | "ecommerce"; -} diff --git a/src/serialization/types/UserData.ts b/src/serialization/types/UserData.ts deleted file mode 100644 index 54b13771..00000000 --- a/src/serialization/types/UserData.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { UserDataData } from "./UserDataData"; - -export const UserData: core.serialization.ObjectSchema = - core.serialization.object({ - data: UserDataData.optional(), - }); - -export declare namespace UserData { - interface Raw { - data?: UserDataData.Raw | null; - } -} diff --git a/src/serialization/types/UserDataData.ts b/src/serialization/types/UserDataData.ts deleted file mode 100644 index 6b5e9e08..00000000 --- a/src/serialization/types/UserDataData.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const UserDataData: core.serialization.ObjectSchema = - core.serialization.object({ - name: core.serialization.string().optional(), - email: core.serialization.string().optional(), - acceptPrivacy: core.serialization.property("accept-privacy", core.serialization.boolean().optional()), - acceptCommunications: core.serialization.property( - "accept-communications", - core.serialization.boolean().optional() - ), - additionalProperties: core.serialization.string().optional(), - }); - -export declare namespace UserDataData { - interface Raw { - name?: string | null; - email?: string | null; - "accept-privacy"?: boolean | null; - "accept-communications"?: boolean | null; - additionalProperties?: string | null; - } -} diff --git a/src/serialization/types/UserLimitReached.ts b/src/serialization/types/UserLimitReached.ts deleted file mode 100644 index 300be22a..00000000 --- a/src/serialization/types/UserLimitReached.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { ErrorDetailsItem } from "./ErrorDetailsItem"; - -export const UserLimitReached: core.serialization.ObjectSchema< - serializers.UserLimitReached.Raw, - Webflow.UserLimitReached -> = core.serialization.object({ - code: core.serialization.string().optional(), - message: core.serialization.string().optional(), - externalReference: core.serialization.string().optional(), - details: core.serialization.list(ErrorDetailsItem).optional(), -}); - -export declare namespace UserLimitReached { - interface Raw { - code?: string | null; - message?: string | null; - externalReference?: string | null; - details?: ErrorDetailsItem.Raw[] | null; - } -} diff --git a/src/serialization/types/UserList.ts b/src/serialization/types/UserList.ts deleted file mode 100644 index 4b3a9911..00000000 --- a/src/serialization/types/UserList.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { User } from "./User"; - -export const UserList: core.serialization.ObjectSchema = - core.serialization.object({ - count: core.serialization.number().optional(), - limit: core.serialization.number().optional(), - offset: core.serialization.number().optional(), - total: core.serialization.number().optional(), - users: core.serialization.list(User).optional(), - }); - -export declare namespace UserList { - interface Raw { - count?: number | null; - limit?: number | null; - offset?: number | null; - total?: number | null; - users?: User.Raw[] | null; - } -} diff --git a/src/serialization/types/UserStatus.ts b/src/serialization/types/UserStatus.ts deleted file mode 100644 index 66bdbb47..00000000 --- a/src/serialization/types/UserStatus.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const UserStatus: core.serialization.Schema = - core.serialization.enum_(["invited", "verified", "unverified"]); - -export declare namespace UserStatus { - type Raw = "invited" | "verified" | "unverified"; -} diff --git a/src/serialization/types/UsersNotEnabled.ts b/src/serialization/types/UsersNotEnabled.ts deleted file mode 100644 index 3de96c22..00000000 --- a/src/serialization/types/UsersNotEnabled.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { ErrorDetailsItem } from "./ErrorDetailsItem"; - -export const UsersNotEnabled: core.serialization.ObjectSchema< - serializers.UsersNotEnabled.Raw, - Webflow.UsersNotEnabled -> = core.serialization.object({ - code: core.serialization.string().optional(), - message: core.serialization.string().optional(), - externalReference: core.serialization.string().optional(), - details: core.serialization.list(ErrorDetailsItem).optional(), -}); - -export declare namespace UsersNotEnabled { - interface Raw { - code?: string | null; - message?: string | null; - externalReference?: string | null; - details?: ErrorDetailsItem.Raw[] | null; - } -} diff --git a/src/serialization/types/Webhook.ts b/src/serialization/types/Webhook.ts deleted file mode 100644 index e2a2b227..00000000 --- a/src/serialization/types/Webhook.ts +++ /dev/null @@ -1,34 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { TriggerType } from "./TriggerType"; -import { WebhookFilter } from "./WebhookFilter"; - -export const Webhook: core.serialization.ObjectSchema = - core.serialization.object({ - id: core.serialization.string().optional(), - triggerType: TriggerType.optional(), - url: core.serialization.string().optional(), - workspaceId: core.serialization.string().optional(), - siteId: core.serialization.string().optional(), - filter: WebhookFilter.optional(), - lastTriggered: core.serialization.date().optional(), - createdOn: core.serialization.date().optional(), - }); - -export declare namespace Webhook { - interface Raw { - id?: string | null; - triggerType?: TriggerType.Raw | null; - url?: string | null; - workspaceId?: string | null; - siteId?: string | null; - filter?: WebhookFilter.Raw | null; - lastTriggered?: string | null; - createdOn?: string | null; - } -} diff --git a/src/serialization/types/WebhookFilter.ts b/src/serialization/types/WebhookFilter.ts deleted file mode 100644 index 6e0a51ad..00000000 --- a/src/serialization/types/WebhookFilter.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; - -export const WebhookFilter: core.serialization.ObjectSchema = - core.serialization.object({ - name: core.serialization.string().optional(), - }); - -export declare namespace WebhookFilter { - interface Raw { - name?: string | null; - } -} diff --git a/src/serialization/types/WebhookList.ts b/src/serialization/types/WebhookList.ts deleted file mode 100644 index 2d9268fe..00000000 --- a/src/serialization/types/WebhookList.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Webflow from "../../api/index"; -import * as core from "../../core"; -import { Pagination } from "./Pagination"; -import { Webhook } from "./Webhook"; - -export const WebhookList: core.serialization.ObjectSchema = - core.serialization.object({ - pagination: Pagination.optional(), - webhooks: core.serialization.list(Webhook).optional(), - }); - -export declare namespace WebhookList { - interface Raw { - pagination?: Pagination.Raw | null; - webhooks?: Webhook.Raw[] | null; - } -} diff --git a/src/serialization/types/index.ts b/src/serialization/types/index.ts index 26e7ca7e..0ef00d6f 100644 --- a/src/serialization/types/index.ts +++ b/src/serialization/types/index.ts @@ -1,132 +1,21 @@ +export * from "./UnauthorizedErrorBodyCode"; +export * from "./UnauthorizedErrorBodyDetailsItem"; +export * from "./UnauthorizedErrorBody"; +export * from "./ForbiddenErrorBodyCode"; +export * from "./ForbiddenErrorBodyDetailsItem"; export * from "./ForbiddenErrorBody"; +export * from "./NotFoundErrorBodyCode"; +export * from "./NotFoundErrorBodyDetailsItem"; +export * from "./NotFoundErrorBody"; +export * from "./TooManyRequestsErrorBodyCode"; +export * from "./TooManyRequestsErrorBodyDetailsItem"; export * from "./TooManyRequestsErrorBody"; +export * from "./BadRequestErrorBodyCode"; +export * from "./BadRequestErrorBodyDetailsItem"; export * from "./BadRequestErrorBody"; +export * from "./InternalServerErrorBodyCode"; +export * from "./InternalServerErrorBodyDetailsItem"; +export * from "./InternalServerErrorBody"; +export * from "./ConflictErrorBodyCode"; +export * from "./ConflictErrorBodyDetailsItem"; export * from "./ConflictErrorBody"; -export * from "./ErrorDetailsItem"; -export * from "./AuthorizedUser"; -export * from "./Application"; -export * from "./AuthorizationAuthorizationAuthorizedTo"; -export * from "./AuthorizationAuthorization"; -export * from "./Authorization"; -export * from "./Domain"; -export * from "./Locale"; -export * from "./Locales"; -export * from "./Site"; -export * from "./Sites"; -export * from "./Domains"; -export * from "./InvalidDomain"; -export * from "./NoDomains"; -export * from "./SiteActivityLogItemResourceOperation"; -export * from "./SiteActivityLogItemUser"; -export * from "./SiteActivityLogItem"; -export * from "./Pagination"; -export * from "./SiteActivityLogResponse"; -export * from "./Error_"; -export * from "./MissingScopes"; -export * from "./NotEnterprisePlanSite"; -export * from "./CollectionListArrayItem"; -export * from "./CollectionList"; -export * from "./FieldType"; -export * from "./Field"; -export * from "./Collection"; -export * from "./CollectionItemFieldData"; -export * from "./CollectionItem"; -export * from "./CollectionItemListPagination"; -export * from "./CollectionItemList"; -export * from "./BulkCollectionItemFieldData"; -export * from "./BulkCollectionItem"; -export * from "./PageSeo"; -export * from "./PageOpenGraph"; -export * from "./Page"; -export * from "./PageList"; -export * from "./TextNode"; -export * from "./ImageNode"; -export * from "./NodeType"; -export * from "./Node"; -export * from "./Dom"; -export * from "./ScriptApplyLocation"; -export * from "./ScriptApply"; -export * from "./ScriptApplyList"; -export * from "./CustomCodeHostedResponse"; -export * from "./RegisteredScriptList"; -export * from "./CustomCodeInlineResponse"; -export * from "./Scripts"; -export * from "./CustomCodeBlockType"; -export * from "./CustomCodeBlock"; -export * from "./ListCustomCodeBlocks"; -export * from "./AssetVariant"; -export * from "./Asset"; -export * from "./Assets"; -export * from "./AssetUploadUploadDetails"; -export * from "./AssetUpload"; -export * from "./AssetFolder"; -export * from "./AssetFolderList"; -export * from "./TriggerType"; -export * from "./WebhookFilter"; -export * from "./Webhook"; -export * from "./WebhookList"; -export * from "./FormFieldValueType"; -export * from "./FormFieldValue"; -export * from "./FormField"; -export * from "./FormResponseSettings"; -export * from "./Form"; -export * from "./FormList"; -export * from "./FormSubmission"; -export * from "./FormSubmissionList"; -export * from "./UserDataData"; -export * from "./UserData"; -export * from "./UserStatus"; -export * from "./UserAccessGroupsItemType"; -export * from "./UserAccessGroupsItem"; -export * from "./User"; -export * from "./UserList"; -export * from "./UsersNotEnabled"; -export * from "./DuplicateUserEmail"; -export * from "./UserLimitReached"; -export * from "./AccessGroup"; -export * from "./AccessGroupList"; -export * from "./SkuPropertyListEnumItem"; -export * from "./SkuPropertyList"; -export * from "./ProductFieldDataTaxCategory"; -export * from "./ProductFieldDataEcProductType"; -export * from "./ProductFieldData"; -export * from "./Product"; -export * from "./SkuValueList"; -export * from "./SkuFieldDataPrice"; -export * from "./SkuFieldDataCompareAtPrice"; -export * from "./SkuFieldDataEcSkuBillingMethod"; -export * from "./SkuFieldDataEcSkuSubscriptionPlanInterval"; -export * from "./SkuFieldDataEcSkuSubscriptionPlanPlansItemStatus"; -export * from "./SkuFieldDataEcSkuSubscriptionPlanPlansItem"; -export * from "./SkuFieldDataEcSkuSubscriptionPlan"; -export * from "./SkuFieldData"; -export * from "./Sku"; -export * from "./ProductAndSkUs"; -export * from "./ProductAndSkUsList"; -export * from "./PublishStatus"; -export * from "./OrderPrice"; -export * from "./OrderAddressType"; -export * from "./OrderAddressJapanType"; -export * from "./OrderAddress"; -export * from "./OrderPurchasedItemVariantImageFileVariantsItem"; -export * from "./OrderPurchasedItemVariantImageFile"; -export * from "./OrderPurchasedItemVariantImage"; -export * from "./OrderPurchasedItem"; -export * from "./StripeDetails"; -export * from "./StripeCardBrand"; -export * from "./StripeCardExpires"; -export * from "./StripeCard"; -export * from "./PaypalDetails"; -export * from "./OrderStatus"; -export * from "./OrderDisputeLastStatus"; -export * from "./OrderCustomerInfo"; -export * from "./OrderMetadata"; -export * from "./OrderTotalsExtrasItemType"; -export * from "./OrderTotalsExtrasItem"; -export * from "./OrderTotals"; -export * from "./OrderDownloadFilesItem"; -export * from "./Order"; -export * from "./OrderList"; -export * from "./InventoryItemInventoryType"; -export * from "./InventoryItem"; -export * from "./EcommerceSettings"; diff --git a/src/version.ts b/src/version.ts index fd6beecb..b54c0dbf 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const SDK_VERSION = "2.4.2"; +export const SDK_VERSION = "2.5.0"; diff --git a/tests/unit/fetcher/Fetcher.test.ts b/tests/unit/fetcher/Fetcher.test.ts index 0e14a8c7..ff804217 100644 --- a/tests/unit/fetcher/Fetcher.test.ts +++ b/tests/unit/fetcher/Fetcher.test.ts @@ -1,5 +1,6 @@ -import fetchMock from "fetch-mock-jest"; +import fs from "fs"; import { Fetcher, fetcherImpl } from "../../../src/core/fetcher/Fetcher"; +import { join } from "path"; describe("Test fetcherImpl", () => { it("should handle successful request", async () => { @@ -12,8 +13,11 @@ describe("Test fetcherImpl", () => { requestType: "json", }; - fetchMock.mock("https://httpbin.org/post", 200, { - response: JSON.stringify({ data: "test" }), + global.fetch = jest.fn().mockResolvedValue({ + ok: true, + status: 200, + text: () => Promise.resolve(JSON.stringify({ data: "test" })), + json: () => ({ data: "test" }), }); const result = await fetcherImpl(mockArgs); @@ -21,5 +25,49 @@ describe("Test fetcherImpl", () => { if (result.ok) { expect(result.body).toEqual({ data: "test" }); } + + expect(global.fetch).toHaveBeenCalledWith( + "https://httpbin.org/post", + expect.objectContaining({ + method: "POST", + headers: expect.objectContaining({ "X-Test": "x-test-header" }), + body: JSON.stringify({ data: "test" }), + }) + ); + }); + + it("should send octet stream", async () => { + const url = "https://httpbin.org/post/file"; + const mockArgs: Fetcher.Args = { + url, + method: "POST", + headers: { "X-Test": "x-test-header" }, + contentType: "application/octet-stream", + requestType: "bytes", + duplex: "half", + body: fs.createReadStream(join(__dirname, "test-file.txt")), + }; + + global.fetch = jest.fn().mockResolvedValue({ + ok: true, + status: 200, + text: () => Promise.resolve(JSON.stringify({ data: "test" })), + json: () => Promise.resolve({ data: "test" }), + }); + + const result = await fetcherImpl(mockArgs); + + expect(global.fetch).toHaveBeenCalledWith( + url, + expect.objectContaining({ + method: "POST", + headers: expect.objectContaining({ "X-Test": "x-test-header" }), + body: expect.any(fs.ReadStream), + }) + ); + expect(result.ok).toBe(true); + if (result.ok) { + expect(result.body).toEqual({ data: "test" }); + } }); }); diff --git a/tests/unit/fetcher/getRequestBody.test.ts b/tests/unit/fetcher/getRequestBody.test.ts index 1b1462c5..919604c2 100644 --- a/tests/unit/fetcher/getRequestBody.test.ts +++ b/tests/unit/fetcher/getRequestBody.test.ts @@ -1,10 +1,6 @@ import { RUNTIME } from "../../../src/core/runtime"; import { getRequestBody } from "../../../src/core/fetcher/getRequestBody"; -if (RUNTIME.type === "browser") { - require("jest-fetch-mock").enableMocks(); -} - describe("Test getRequestBody", () => { it("should return FormData as is in Node environment", async () => { if (RUNTIME.type === "node") { diff --git a/tests/unit/fetcher/getResponseBody.test.ts b/tests/unit/fetcher/getResponseBody.test.ts index 3510779e..1030c517 100644 --- a/tests/unit/fetcher/getResponseBody.test.ts +++ b/tests/unit/fetcher/getResponseBody.test.ts @@ -2,10 +2,6 @@ import { RUNTIME } from "../../../src/core/runtime"; import { getResponseBody } from "../../../src/core/fetcher/getResponseBody"; import { chooseStreamWrapper } from "../../../src/core/fetcher/stream-wrappers/chooseStreamWrapper"; -if (RUNTIME.type === "browser") { - require("jest-fetch-mock").enableMocks(); -} - describe("Test getResponseBody", () => { it("should handle blob response type", async () => { const mockBlob = new Blob(["test"], { type: "text/plain" }); diff --git a/tests/unit/fetcher/makeRequest.test.ts b/tests/unit/fetcher/makeRequest.test.ts index 5969d515..be94ab45 100644 --- a/tests/unit/fetcher/makeRequest.test.ts +++ b/tests/unit/fetcher/makeRequest.test.ts @@ -1,10 +1,6 @@ import { RUNTIME } from "../../../src/core/runtime"; import { makeRequest } from "../../../src/core/fetcher/makeRequest"; -if (RUNTIME.type === "browser") { - require("jest-fetch-mock").enableMocks(); -} - describe("Test makeRequest", () => { const mockPostUrl = "https://httpbin.org/post"; const mockGetUrl = "https://httpbin.org/get"; diff --git a/tests/unit/fetcher/requestWithRetries.test.ts b/tests/unit/fetcher/requestWithRetries.test.ts index b53e0436..6f77f093 100644 --- a/tests/unit/fetcher/requestWithRetries.test.ts +++ b/tests/unit/fetcher/requestWithRetries.test.ts @@ -1,85 +1,133 @@ import { RUNTIME } from "../../../src/core/runtime"; import { requestWithRetries } from "../../../src/core/fetcher/requestWithRetries"; -if (RUNTIME.type === "browser") { - require("jest-fetch-mock").enableMocks(); -} - -describe("Test exponential backoff", () => { +describe("requestWithRetries", () => { let mockFetch: jest.Mock; - let originalSetTimeout: typeof setTimeout; + let originalMathRandom: typeof Math.random; + let setTimeoutSpy: jest.SpyInstance; beforeEach(() => { mockFetch = jest.fn(); - originalSetTimeout = global.setTimeout; - jest.useFakeTimers(); + originalMathRandom = Math.random; + + // Mock Math.random for consistent jitter + Math.random = jest.fn(() => 0.5); + + jest.useFakeTimers({ doNotFake: ["nextTick"] }); }); afterEach(() => { - jest.useRealTimers(); - global.setTimeout = originalSetTimeout; + Math.random = originalMathRandom; + jest.clearAllMocks(); + jest.clearAllTimers(); }); - it("should retry on 408, 409, 429, 500+", async () => { - mockFetch - .mockResolvedValueOnce(new Response("", { status: 408 })) - .mockResolvedValueOnce(new Response("", { status: 409 })) - .mockResolvedValueOnce(new Response("", { status: 429 })) - .mockResolvedValueOnce(new Response("", { status: 500 })) - .mockResolvedValueOnce(new Response("", { status: 502 })) - .mockResolvedValueOnce(new Response("", { status: 200 })) - .mockResolvedValueOnce(new Response("", { status: 408 })); + it("should retry on retryable status codes", async () => { + setTimeoutSpy = jest.spyOn(global, "setTimeout").mockImplementation((callback) => { + process.nextTick(callback); + return null as any; + }); + + const retryableStatuses = [408, 409, 429, 500, 502]; + let callCount = 0; - const responsePromise = requestWithRetries(() => mockFetch(), 10); + mockFetch.mockImplementation(async () => { + if (callCount < retryableStatuses.length) { + return new Response("", { status: retryableStatuses[callCount++] }); + } + return new Response("", { status: 200 }); + }); - await jest.advanceTimersByTimeAsync(10000); + const responsePromise = requestWithRetries(() => mockFetch(), retryableStatuses.length); + await jest.runAllTimersAsync(); const response = await responsePromise; - expect(mockFetch).toHaveBeenCalledTimes(6); + expect(mockFetch).toHaveBeenCalledTimes(retryableStatuses.length + 1); expect(response.status).toBe(200); }); - it("should retry max 3 times", async () => { - mockFetch - .mockResolvedValueOnce(new Response("", { status: 408 })) - .mockResolvedValueOnce(new Response("", { status: 409 })) - .mockResolvedValueOnce(new Response("", { status: 429 })) - .mockResolvedValueOnce(new Response("", { status: 429 })); + it("should respect maxRetries limit", async () => { + setTimeoutSpy = jest.spyOn(global, "setTimeout").mockImplementation((callback) => { + process.nextTick(callback); + return null as any; + }); - const responsePromise = requestWithRetries(() => mockFetch(), 3); + const maxRetries = 2; + mockFetch.mockResolvedValue(new Response("", { status: 500 })); - await jest.advanceTimersByTimeAsync(10000); + const responsePromise = requestWithRetries(() => mockFetch(), maxRetries); + await jest.runAllTimersAsync(); const response = await responsePromise; - expect(mockFetch).toHaveBeenCalledTimes(4); - expect(response.status).toBe(429); + expect(mockFetch).toHaveBeenCalledTimes(maxRetries + 1); + expect(response.status).toBe(500); }); - it("should not retry on 200", async () => { - mockFetch - .mockResolvedValueOnce(new Response("", { status: 200 })) - .mockResolvedValueOnce(new Response("", { status: 409 })); - const responsePromise = requestWithRetries(() => mockFetch(), 3); + it("should not retry on success status codes", async () => { + setTimeoutSpy = jest.spyOn(global, "setTimeout").mockImplementation((callback) => { + process.nextTick(callback); + return null as any; + }); - await jest.advanceTimersByTimeAsync(10000); - const response = await responsePromise; + const successStatuses = [200, 201, 202]; - expect(mockFetch).toHaveBeenCalledTimes(1); - expect(response.status).toBe(200); + for (const status of successStatuses) { + mockFetch.mockReset(); + setTimeoutSpy.mockClear(); + mockFetch.mockResolvedValueOnce(new Response("", { status })); + + const responsePromise = requestWithRetries(() => mockFetch(), 3); + await jest.runAllTimersAsync(); + await responsePromise; + + expect(mockFetch).toHaveBeenCalledTimes(1); + expect(setTimeoutSpy).not.toHaveBeenCalled(); + } }); - it("should retry with exponential backoff timing", async () => { + it("should apply correct exponential backoff with jitter", async () => { + setTimeoutSpy = jest.spyOn(global, "setTimeout").mockImplementation((callback) => { + process.nextTick(callback); + return null as any; + }); + mockFetch.mockResolvedValue(new Response("", { status: 500 })); - const maxRetries = 7; + const maxRetries = 3; + const expectedDelays = [1000, 2000, 4000]; + const responsePromise = requestWithRetries(() => mockFetch(), maxRetries); - expect(mockFetch).toHaveBeenCalledTimes(1); + await jest.runAllTimersAsync(); + await responsePromise; - const delays = [1, 2, 4, 8, 16, 32, 64]; - for (let i = 0; i < delays.length; i++) { - await jest.advanceTimersByTimeAsync(delays[i] as number); - expect(mockFetch).toHaveBeenCalledTimes(Math.min(i + 2, maxRetries + 1)); - } - const response = await responsePromise; - expect(response.status).toBe(500); + // Verify setTimeout calls + expect(setTimeoutSpy).toHaveBeenCalledTimes(expectedDelays.length); + + expectedDelays.forEach((delay, index) => { + expect(setTimeoutSpy).toHaveBeenNthCalledWith(index + 1, expect.any(Function), delay); + }); + + expect(mockFetch).toHaveBeenCalledTimes(maxRetries + 1); + }); + + it("should handle concurrent retries independently", async () => { + setTimeoutSpy = jest.spyOn(global, "setTimeout").mockImplementation((callback) => { + process.nextTick(callback); + return null as any; + }); + + mockFetch + .mockResolvedValueOnce(new Response("", { status: 500 })) + .mockResolvedValueOnce(new Response("", { status: 500 })) + .mockResolvedValueOnce(new Response("", { status: 200 })) + .mockResolvedValueOnce(new Response("", { status: 200 })); + + const promise1 = requestWithRetries(() => mockFetch(), 1); + const promise2 = requestWithRetries(() => mockFetch(), 1); + + await jest.runAllTimersAsync(); + const [response1, response2] = await Promise.all([promise1, promise2]); + + expect(response1.status).toBe(200); + expect(response2.status).toBe(200); }); }); diff --git a/tests/unit/fetcher/stream-wrappers/webpack.test.ts b/tests/unit/fetcher/stream-wrappers/webpack.test.ts index 2e827291..557db6dc 100644 --- a/tests/unit/fetcher/stream-wrappers/webpack.test.ts +++ b/tests/unit/fetcher/stream-wrappers/webpack.test.ts @@ -23,6 +23,9 @@ describe("test env compatibility", () => { (err, stats) => { try { expect(err).toBe(null); + if (stats?.hasErrors()) { + console.log(stats?.toString()); + } expect(stats?.hasErrors()).toBe(false); resolve(); } catch (error) { diff --git a/tests/unit/fetcher/test-file.txt b/tests/unit/fetcher/test-file.txt new file mode 100644 index 00000000..c66d471e --- /dev/null +++ b/tests/unit/fetcher/test-file.txt @@ -0,0 +1 @@ +This is a test file! diff --git a/yarn.lock b/yarn.lock index 592319de..d0bd43a0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,131 +10,114 @@ "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.24" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.7.tgz#882fd9e09e8ee324e496bd040401c6f046ef4465" - integrity sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.0": + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" + integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== dependencies: - "@babel/highlight" "^7.24.7" + "@babel/helper-validator-identifier" "^7.25.9" + js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/compat-data@^7.25.2": - version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.4.tgz#7d2a80ce229890edcf4cc259d4d696cb4dae2fcb" - integrity sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ== +"@babel/compat-data@^7.25.9": + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.2.tgz#278b6b13664557de95b8f35b90d96785850bb56e" + integrity sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg== "@babel/core@^7.0.0", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.9": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.25.2.tgz#ed8eec275118d7613e77a352894cd12ded8eba77" - integrity sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA== + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.26.0.tgz#d78b6023cc8f3114ccf049eb219613f74a747b40" + integrity sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.25.0" - "@babel/helper-compilation-targets" "^7.25.2" - "@babel/helper-module-transforms" "^7.25.2" - "@babel/helpers" "^7.25.0" - "@babel/parser" "^7.25.0" - "@babel/template" "^7.25.0" - "@babel/traverse" "^7.25.2" - "@babel/types" "^7.25.2" + "@babel/code-frame" "^7.26.0" + "@babel/generator" "^7.26.0" + "@babel/helper-compilation-targets" "^7.25.9" + "@babel/helper-module-transforms" "^7.26.0" + "@babel/helpers" "^7.26.0" + "@babel/parser" "^7.26.0" + "@babel/template" "^7.25.9" + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.26.0" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.25.0", "@babel/generator@^7.25.6", "@babel/generator@^7.7.2": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.6.tgz#0df1ad8cb32fe4d2b01d8bf437f153d19342a87c" - integrity sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw== +"@babel/generator@^7.25.9", "@babel/generator@^7.26.0", "@babel/generator@^7.7.2": + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.2.tgz#87b75813bec87916210e5e01939a4c823d6bb74f" + integrity sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw== dependencies: - "@babel/types" "^7.25.6" + "@babel/parser" "^7.26.2" + "@babel/types" "^7.26.0" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^2.5.1" + jsesc "^3.0.2" -"@babel/helper-compilation-targets@^7.25.2": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz#e1d9410a90974a3a5a66e84ff55ef62e3c02d06c" - integrity sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw== +"@babel/helper-compilation-targets@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz#55af025ce365be3cdc0c1c1e56c6af617ce88875" + integrity sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ== dependencies: - "@babel/compat-data" "^7.25.2" - "@babel/helper-validator-option" "^7.24.8" - browserslist "^4.23.1" + "@babel/compat-data" "^7.25.9" + "@babel/helper-validator-option" "^7.25.9" + browserslist "^4.24.0" lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-module-imports@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz#f2f980392de5b84c3328fc71d38bd81bbb83042b" - integrity sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA== - dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-module-transforms@^7.25.2": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz#ee713c29768100f2776edf04d4eb23b8d27a66e6" - integrity sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ== - dependencies: - "@babel/helper-module-imports" "^7.24.7" - "@babel/helper-simple-access" "^7.24.7" - "@babel/helper-validator-identifier" "^7.24.7" - "@babel/traverse" "^7.25.2" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.24.7", "@babel/helper-plugin-utils@^7.24.8", "@babel/helper-plugin-utils@^7.8.0": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz#94ee67e8ec0e5d44ea7baeb51e571bd26af07878" - integrity sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg== - -"@babel/helper-simple-access@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz#bcade8da3aec8ed16b9c4953b74e506b51b5edb3" - integrity sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg== - dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-string-parser@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz#5b3329c9a58803d5df425e5785865881a81ca48d" - integrity sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ== - -"@babel/helper-validator-identifier@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" - integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== - -"@babel/helper-validator-option@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz#3725cdeea8b480e86d34df15304806a06975e33d" - integrity sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q== - -"@babel/helpers@^7.25.0": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.6.tgz#57ee60141829ba2e102f30711ffe3afab357cc60" - integrity sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q== - dependencies: - "@babel/template" "^7.25.0" - "@babel/types" "^7.25.6" - -"@babel/highlight@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.7.tgz#a05ab1df134b286558aae0ed41e6c5f731bf409d" - integrity sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw== - dependencies: - "@babel/helper-validator-identifier" "^7.24.7" - chalk "^2.4.2" - js-tokens "^4.0.0" - picocolors "^1.0.0" +"@babel/helper-module-imports@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz#e7f8d20602ebdbf9ebbea0a0751fb0f2a4141715" + integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw== + dependencies: + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.25.9" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.25.0", "@babel/parser@^7.25.6": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.6.tgz#85660c5ef388cbbf6e3d2a694ee97a38f18afe2f" - integrity sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q== +"@babel/helper-module-transforms@^7.26.0": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz#8ce54ec9d592695e58d84cd884b7b5c6a2fdeeae" + integrity sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw== dependencies: - "@babel/types" "^7.25.6" + "@babel/helper-module-imports" "^7.25.9" + "@babel/helper-validator-identifier" "^7.25.9" + "@babel/traverse" "^7.25.9" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.25.9", "@babel/helper-plugin-utils@^7.8.0": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz#9cbdd63a9443a2c92a725cca7ebca12cc8dd9f46" + integrity sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw== + +"@babel/helper-string-parser@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c" + integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== + +"@babel/helper-validator-identifier@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7" + integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== + +"@babel/helper-validator-option@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz#86e45bd8a49ab7e03f276577f96179653d41da72" + integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw== + +"@babel/helpers@^7.26.0": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.26.0.tgz#30e621f1eba5aa45fe6f4868d2e9154d884119a4" + integrity sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw== + dependencies: + "@babel/template" "^7.25.9" + "@babel/types" "^7.26.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.25.9", "@babel/parser@^7.26.0", "@babel/parser@^7.26.2": + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.2.tgz#fd7b6f487cfea09889557ef5d4eeb9ff9a5abd11" + integrity sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ== + dependencies: + "@babel/types" "^7.26.0" "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -165,11 +148,11 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-import-attributes@^7.24.7": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz#6d4c78f042db0e82fd6436cd65fec5dc78ad2bde" - integrity sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ== + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz#3b1412847699eea739b4f2602c74ce36f6b0b0f7" + integrity sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-plugin-utils" "^7.25.9" "@babel/plugin-syntax-import-meta@^7.10.4": version "7.10.4" @@ -186,11 +169,11 @@ "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-jsx@^7.7.2": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz#39a1fa4a7e3d3d7f34e2acc6be585b718d30e02d" - integrity sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ== + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz#a34313a178ea56f1951599b929c1ceacee719290" + integrity sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" @@ -249,49 +232,48 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-typescript@^7.7.2": - version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.4.tgz#04db9ce5a9043d9c635e75ae7969a2cd50ca97ff" - integrity sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg== + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz#67dda2b74da43727cf21d46cf9afef23f4365399" + integrity sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-plugin-utils" "^7.25.9" "@babel/runtime@^7.0.0": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.6.tgz#9afc3289f7184d8d7f98b099884c26317b9264d2" - integrity sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ== + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.0.tgz#8600c2f595f277c60815256418b85356a65173c1" + integrity sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw== dependencies: regenerator-runtime "^0.14.0" -"@babel/template@^7.25.0", "@babel/template@^7.3.3": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.0.tgz#e733dc3134b4fede528c15bc95e89cb98c52592a" - integrity sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q== - dependencies: - "@babel/code-frame" "^7.24.7" - "@babel/parser" "^7.25.0" - "@babel/types" "^7.25.0" - -"@babel/traverse@^7.24.7", "@babel/traverse@^7.25.2": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.6.tgz#04fad980e444f182ecf1520504941940a90fea41" - integrity sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ== - dependencies: - "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.25.6" - "@babel/parser" "^7.25.6" - "@babel/template" "^7.25.0" - "@babel/types" "^7.25.6" +"@babel/template@^7.25.9", "@babel/template@^7.3.3": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.9.tgz#ecb62d81a8a6f5dc5fe8abfc3901fc52ddf15016" + integrity sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg== + dependencies: + "@babel/code-frame" "^7.25.9" + "@babel/parser" "^7.25.9" + "@babel/types" "^7.25.9" + +"@babel/traverse@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.9.tgz#a50f8fe49e7f69f53de5bea7e413cd35c5e13c84" + integrity sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw== + dependencies: + "@babel/code-frame" "^7.25.9" + "@babel/generator" "^7.25.9" + "@babel/parser" "^7.25.9" + "@babel/template" "^7.25.9" + "@babel/types" "^7.25.9" debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.24.7", "@babel/types@^7.25.0", "@babel/types@^7.25.2", "@babel/types@^7.25.6", "@babel/types@^7.3.3": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.6.tgz#893942ddb858f32ae7a004ec9d3a76b3463ef8e6" - integrity sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw== +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.25.9", "@babel/types@^7.26.0", "@babel/types@^7.3.3": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.0.tgz#deabd08d6b753bc8e0f198f8709fb575e31774ff" + integrity sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA== dependencies: - "@babel/helper-string-parser" "^7.24.8" - "@babel/helper-validator-identifier" "^7.24.7" - to-fast-properties "^2.0.0" + "@babel/helper-string-parser" "^7.25.9" + "@babel/helper-validator-identifier" "^7.25.9" "@bcoe/v8-coverage@^0.2.3": version "0.2.3" @@ -603,10 +585,26 @@ dependencies: "@babel/types" "^7.20.7" -"@types/estree@^1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" - integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== +"@types/eslint-scope@^3.7.7": + version "3.7.7" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" + integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*": + version "9.6.1" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-9.6.1.tgz#d5795ad732ce81715f27f75da913004a56751584" + integrity sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@^1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" + integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== "@types/graceful-fs@^4.1.3": version "4.1.9" @@ -651,7 +649,7 @@ "@types/tough-cookie" "*" parse5 "^7.0.0" -"@types/json-schema@^7.0.8": +"@types/json-schema@*", "@types/json-schema@^7.0.8": version "7.0.15" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== @@ -665,11 +663,11 @@ form-data "^4.0.0" "@types/node@*": - version "22.5.5" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.5.5.tgz#52f939dd0f65fc552a4ad0b392f3c466cc5d7a44" - integrity sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA== + version "22.9.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.9.0.tgz#b7f16e5c3384788542c72dc3d561a7ceae2c0365" + integrity sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ== dependencies: - undici-types "~6.19.2" + undici-types "~6.19.8" "@types/node@17.0.33": version "17.0.33" @@ -682,9 +680,9 @@ integrity sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg== "@types/readable-stream@^4.0.15": - version "4.0.15" - resolved "https://registry.yarnpkg.com/@types/readable-stream/-/readable-stream-4.0.15.tgz#e6ec26fe5b02f578c60baf1fa9452e90957d2bfb" - integrity sha512-oAZ3kw+kJFkEqyh7xORZOku1YAKvsFTogRY8kVl4vHpEKiDkfnSA/My8haRE7fvmix5Zyy+1pwzOi7yycGLBJw== + version "4.0.18" + resolved "https://registry.yarnpkg.com/@types/readable-stream/-/readable-stream-4.0.18.tgz#5d8d15d26c776500ce573cae580787d149823bfc" + integrity sha512-21jK/1j+Wg+7jVw1xnSwy/2Q1VgVjWuFssbYGTREPUBeZ+rqVFl2udq0IkxzPC0ZhOzVceUbyIACFZKLqKEBlA== dependencies: "@types/node" "*" safe-buffer "~5.1.1" @@ -716,125 +714,125 @@ dependencies: "@types/yargs-parser" "*" -"@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.12.1.tgz#bb16a0e8b1914f979f45864c23819cc3e3f0d4bb" - integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg== +"@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.12.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.14.1.tgz#a9f6a07f2b03c95c8d38c4536a1fdfb521ff55b6" + integrity sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ== dependencies: - "@webassemblyjs/helper-numbers" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/helper-numbers" "1.13.2" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" -"@webassemblyjs/floating-point-hex-parser@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" - integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== +"@webassemblyjs/floating-point-hex-parser@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz#fcca1eeddb1cc4e7b6eed4fc7956d6813b21b9fb" + integrity sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA== -"@webassemblyjs/helper-api-error@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" - integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== +"@webassemblyjs/helper-api-error@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz#e0a16152248bc38daee76dd7e21f15c5ef3ab1e7" + integrity sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ== -"@webassemblyjs/helper-buffer@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz#6df20d272ea5439bf20ab3492b7fb70e9bfcb3f6" - integrity sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw== +"@webassemblyjs/helper-buffer@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz#822a9bc603166531f7d5df84e67b5bf99b72b96b" + integrity sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA== -"@webassemblyjs/helper-numbers@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" - integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== +"@webassemblyjs/helper-numbers@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz#dbd932548e7119f4b8a7877fd5a8d20e63490b2d" + integrity sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA== dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" + "@webassemblyjs/floating-point-hex-parser" "1.13.2" + "@webassemblyjs/helper-api-error" "1.13.2" "@xtuc/long" "4.2.2" -"@webassemblyjs/helper-wasm-bytecode@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" - integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== +"@webassemblyjs/helper-wasm-bytecode@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz#e556108758f448aae84c850e593ce18a0eb31e0b" + integrity sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA== -"@webassemblyjs/helper-wasm-section@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz#3da623233ae1a60409b509a52ade9bc22a37f7bf" - integrity sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g== +"@webassemblyjs/helper-wasm-section@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz#9629dda9c4430eab54b591053d6dc6f3ba050348" + integrity sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw== dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/wasm-gen" "1.12.1" + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/wasm-gen" "1.14.1" -"@webassemblyjs/ieee754@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" - integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== +"@webassemblyjs/ieee754@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz#1c5eaace1d606ada2c7fd7045ea9356c59ee0dba" + integrity sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw== dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/leb128@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" - integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== +"@webassemblyjs/leb128@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz#57c5c3deb0105d02ce25fa3fd74f4ebc9fd0bbb0" + integrity sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw== dependencies: "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" - integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== +"@webassemblyjs/utf8@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz#917a20e93f71ad5602966c2d685ae0c6c21f60f1" + integrity sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ== "@webassemblyjs/wasm-edit@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz#9f9f3ff52a14c980939be0ef9d5df9ebc678ae3b" - integrity sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/helper-wasm-section" "1.12.1" - "@webassemblyjs/wasm-gen" "1.12.1" - "@webassemblyjs/wasm-opt" "1.12.1" - "@webassemblyjs/wasm-parser" "1.12.1" - "@webassemblyjs/wast-printer" "1.12.1" - -"@webassemblyjs/wasm-gen@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz#a6520601da1b5700448273666a71ad0a45d78547" - integrity sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wasm-opt@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz#9e6e81475dfcfb62dab574ac2dda38226c232bc5" - integrity sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/wasm-gen" "1.12.1" - "@webassemblyjs/wasm-parser" "1.12.1" - -"@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz#c47acb90e6f083391e3fa61d113650eea1e95937" - integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-api-error" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wast-printer@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz#bcecf661d7d1abdaf989d8341a4833e33e2b31ac" - integrity sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA== - dependencies: - "@webassemblyjs/ast" "1.12.1" + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz#ac6689f502219b59198ddec42dcd496b1004d597" + integrity sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/helper-wasm-section" "1.14.1" + "@webassemblyjs/wasm-gen" "1.14.1" + "@webassemblyjs/wasm-opt" "1.14.1" + "@webassemblyjs/wasm-parser" "1.14.1" + "@webassemblyjs/wast-printer" "1.14.1" + +"@webassemblyjs/wasm-gen@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz#991e7f0c090cb0bb62bbac882076e3d219da9570" + integrity sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/ieee754" "1.13.2" + "@webassemblyjs/leb128" "1.13.2" + "@webassemblyjs/utf8" "1.13.2" + +"@webassemblyjs/wasm-opt@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz#e6f71ed7ccae46781c206017d3c14c50efa8106b" + integrity sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/wasm-gen" "1.14.1" + "@webassemblyjs/wasm-parser" "1.14.1" + +"@webassemblyjs/wasm-parser@1.14.1", "@webassemblyjs/wasm-parser@^1.12.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz#b3e13f1893605ca78b52c68e54cf6a865f90b9fb" + integrity sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-api-error" "1.13.2" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/ieee754" "1.13.2" + "@webassemblyjs/leb128" "1.13.2" + "@webassemblyjs/utf8" "1.13.2" + +"@webassemblyjs/wast-printer@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz#3bb3e9638a8ae5fdaf9610e7a06b4d9f9aa6fe07" + integrity sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw== + dependencies: + "@webassemblyjs/ast" "1.14.1" "@xtuc/long" "4.2.2" "@xtuc/ieee754@^1.2.0": @@ -867,11 +865,6 @@ acorn-globals@^7.0.0: acorn "^8.1.0" acorn-walk "^8.0.2" -acorn-import-attributes@^1.9.5: - version "1.9.5" - resolved "https://registry.yarnpkg.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz#7eb1557b1ba05ef18b5ed0ec67591bfab04688ef" - integrity sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ== - acorn-walk@^8.0.2: version "8.3.4" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7" @@ -879,10 +872,10 @@ acorn-walk@^8.0.2: dependencies: acorn "^8.11.0" -acorn@^8.1.0, acorn@^8.11.0, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2: - version "8.12.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" - integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== +acorn@^8.1.0, acorn@^8.11.0, acorn@^8.14.0, acorn@^8.8.1, acorn@^8.8.2: + version "8.14.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0" + integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== agent-base@6: version "6.0.2" @@ -918,13 +911,6 @@ ansi-regex@^5.0.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" @@ -1045,15 +1031,15 @@ braces@^3.0.3: dependencies: fill-range "^7.1.1" -browserslist@^4.21.10, browserslist@^4.23.1: - version "4.23.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.3.tgz#debb029d3c93ebc97ffbc8d9cbb03403e227c800" - integrity sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA== +browserslist@^4.24.0: + version "4.24.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.2.tgz#f5845bc91069dbd55ee89faf9822e1d885d16580" + integrity sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg== dependencies: - caniuse-lite "^1.0.30001646" - electron-to-chromium "^1.5.4" + caniuse-lite "^1.0.30001669" + electron-to-chromium "^1.5.41" node-releases "^2.0.18" - update-browserslist-db "^1.1.0" + update-browserslist-db "^1.1.1" bs-logger@0.x: version "0.2.6" @@ -1108,19 +1094,10 @@ camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001646: - version "1.0.30001660" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001660.tgz#31218de3463fabb44d0b7607b652e56edf2e2355" - integrity sha512-GacvNTTuATm26qC74pt+ad1fW15mlQ/zuTzzY1ZoIzECTP8HURDfF43kNxPgf7H1jmelCBQTTbBNxdSXOA7Bqg== - -chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" +caniuse-lite@^1.0.30001669: + version "1.0.30001680" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001680.tgz#5380ede637a33b9f9f1fc6045ea99bd142f3da5e" + integrity sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA== chalk@^4.0.0, chalk@^4.1.0: version "4.1.2" @@ -1169,13 +1146,6 @@ collect-v8-coverage@^1.0.0: resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - color-convert@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" @@ -1183,11 +1153,6 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" @@ -1216,9 +1181,9 @@ convert-source-map@^2.0.0: integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== core-js@^3.0.0: - version "3.38.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.38.1.tgz#aa375b79a286a670388a1a363363d53677c0383e" - integrity sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw== + version "3.39.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.39.0.tgz#57f7647f4d2d030c32a72ea23a0555b2eaa30f83" + integrity sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g== create-jest@^29.7.0: version "29.7.0" @@ -1234,9 +1199,9 @@ create-jest@^29.7.0: prompts "^2.0.1" cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + version "7.0.6" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== dependencies: path-key "^3.1.0" shebang-command "^2.0.0" @@ -1321,10 +1286,10 @@ domexception@^4.0.0: dependencies: webidl-conversions "^7.0.0" -electron-to-chromium@^1.5.4: - version "1.5.23" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.23.tgz#6dabd8f7fec5cbf618b732ff4c42950dcc7a3be5" - integrity sha512-mBhODedOXg4v5QWwl21DjM5amzjmI1zw9EPrPK/5Wx7C8jt33bpZNrC7OhHUG3pxRtbLpr3W2dXT+Ph1SsfRZA== +electron-to-chromium@^1.5.41: + version "1.5.63" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.63.tgz#69444d592fbbe628d129866c2355691ea93eda3e" + integrity sha512-ddeXKuY9BHo/mw145axlyWjlJ1UBt4WK3AlvkT7W2AbqfRQoacVoRUCF6wL3uIx/8wT9oLKXzI+rFqHHscByaA== emittery@^0.13.1: version "0.13.1" @@ -1344,7 +1309,7 @@ enhanced-resolve@^5.0.0, enhanced-resolve@^5.17.1: graceful-fs "^4.2.4" tapable "^2.2.0" -entities@^4.4.0: +entities@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== @@ -1373,16 +1338,11 @@ es-module-lexer@^1.2.1: resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.5.4.tgz#a8efec3a3da991e60efa6b633a7cad6ab8d26b78" integrity sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw== -escalade@^3.1.1, escalade@^3.1.2: +escalade@^3.1.1, escalade@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - escape-string-regexp@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" @@ -1531,9 +1491,9 @@ find-up@^4.0.0, find-up@^4.1.0: path-exists "^4.0.0" form-data@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + version "4.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.1.tgz#ba1076daaaa5bfd7e99c1a6cb02aa0a5cff90d48" + integrity sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw== dependencies: asynckit "^0.4.0" combined-stream "^1.0.8" @@ -1624,11 +1584,6 @@ graceful-fs@^4.1.2, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.9: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - has-flag@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" @@ -2261,10 +2216,10 @@ jsdom@^20.0.0: ws "^8.11.0" xml-name-validator "^4.0.0" -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== +jsesc@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" + integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: version "2.3.1" @@ -2431,14 +2386,14 @@ npm-run-path@^4.0.1: path-key "^3.0.0" nwsapi@^2.2.2: - version "2.2.12" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.12.tgz#fb6af5c0ec35b27b4581eb3bbad34ec9e5c696f8" - integrity sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w== + version "2.2.13" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.13.tgz#e56b4e98960e7a040e5474536587e599c4ff4655" + integrity sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ== object-inspect@^1.13.1: - version "1.13.2" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff" - integrity sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g== + version "1.13.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.3.tgz#f14c183de51130243d6d18ae149375ff50ea488a" + integrity sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA== once@^1.3.0: version "1.4.0" @@ -2491,11 +2446,11 @@ parse-json@^5.2.0: lines-and-columns "^1.1.6" parse5@^7.0.0, parse5@^7.1.1: - version "7.1.2" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" - integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== + version "7.2.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.2.1.tgz#8928f55915e6125f430cc44309765bf17556a33a" + integrity sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ== dependencies: - entities "^4.4.0" + entities "^4.5.0" path-exists@^4.0.0: version "4.0.0" @@ -2522,10 +2477,10 @@ path-to-regexp@^2.2.1: resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-2.4.0.tgz#35ce7f333d5616f1c1e1bfe266c3aba2e5b2e704" integrity sha512-G6zHoVqC6GGTQkZwF4lkuEyMbVOjoBKAEybQUypI1WTkqinCOrq2x6U2+phkJ1XsEMTy4LjtwPI7HW+NVrRR2w== -picocolors@^1.0.0, picocolors@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59" - integrity sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw== +picocolors@^1.0.0, picocolors@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" @@ -2572,11 +2527,13 @@ prompts@^2.0.1: sisteransi "^1.0.5" psl@^1.1.33: - version "1.9.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== + version "1.10.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.10.0.tgz#1450f7e16f922c3beeb7bd9db3f312635018fa15" + integrity sha512-KSKHEbjAnpUuAUserOq0FxGXCUrzC3WniuSJhvdbs102rL55266ZcHBqLWOsG30spQMlPdpy7icATiAQehg/iA== + dependencies: + punycode "^2.3.1" -punycode@^2.1.0, punycode@^2.1.1: +punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== @@ -2848,13 +2805,6 @@ strip-json-comments@^3.1.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" @@ -2896,9 +2846,9 @@ terser-webpack-plugin@^5.3.10: terser "^5.26.0" terser@^5.26.0: - version "5.32.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.32.0.tgz#ee811c0d2d6b741c1cc34a2bc5bcbfc1b5b1f96c" - integrity sha512-v3Gtw3IzpBJ0ugkxEX8U0W6+TnPKRRCWGh1jC/iM/e3Ki5+qvO1L1EAZ56bZasc64aXHwRHNIQEzm6//i5cemQ== + version "5.36.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.36.0.tgz#8b0dbed459ac40ff7b4c9fd5a3a2029de105180e" + integrity sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -2919,11 +2869,6 @@ tmpl@1.0.5: resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -3000,7 +2945,7 @@ typescript@4.6.4: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.4.tgz#caa78bbc3a59e6a5c510d35703f6a09877ce45e9" integrity sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg== -undici-types@~6.19.2: +undici-types@~6.19.8: version "6.19.8" resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== @@ -3010,13 +2955,13 @@ universalify@^0.2.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== -update-browserslist-db@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz#7ca61c0d8650766090728046e416a8cde682859e" - integrity sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ== +update-browserslist-db@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz#80846fba1d79e82547fb661f8d141e0945755fe5" + integrity sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A== dependencies: - escalade "^3.1.2" - picocolors "^1.0.1" + escalade "^3.2.0" + picocolors "^1.1.0" uri-js@^4.2.2: version "4.4.1" @@ -3090,17 +3035,17 @@ webpack-sources@^3.2.3: integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== webpack@^5.94.0: - version "5.94.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.94.0.tgz#77a6089c716e7ab90c1c67574a28da518a20970f" - integrity sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg== + version "5.96.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.96.1.tgz#3676d1626d8312b6b10d0c18cc049fba7ac01f0c" + integrity sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA== dependencies: - "@types/estree" "^1.0.5" + "@types/eslint-scope" "^3.7.7" + "@types/estree" "^1.0.6" "@webassemblyjs/ast" "^1.12.1" "@webassemblyjs/wasm-edit" "^1.12.1" "@webassemblyjs/wasm-parser" "^1.12.1" - acorn "^8.7.1" - acorn-import-attributes "^1.9.5" - browserslist "^4.21.10" + acorn "^8.14.0" + browserslist "^4.24.0" chrome-trace-event "^1.0.2" enhanced-resolve "^5.17.1" es-module-lexer "^1.2.1"