openapi: "3.0.0" info: title: commercetools Composable Commerce API version: "v1" servers: - url: https://api.{region}.commercetools.com variables: region: default: us-central1.gcp enum: - us-central1.gcp - us-east-2.aws - europe-west1.gcp - eu-central-1.aws - australia-southeast1.gcp description: | [Region](/api/general-concepts#hosts) in which the Project is hosted. paths: /{projectKey}: description: |- The Project endpoint is used to retrieve certain information from a project. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-methodName: "withProjectKey" x-annotation-updateable: "Project" get: security: - oauth_2_0: - "view_project_settings:{projectKey}" operationId: ByProjectKeyGet responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Project' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_project_settings:{projectKey}" operationId: ByProjectKeyHead description: |- Checks if a Project exists for a given `projectKey`. Returns a `200` status if the Project exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} post: security: - oauth_2_0: - "manage_project_settings:{projectKey}" operationId: ByProjectKeyPost requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Project' "409": $ref: '#/components/responses/conflicting_409' /{projectKey}/agents/intake/v1/responses: parameters: - name: projectKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_intake_agent:{projectKey}" operationId: ByProjectKeyAgentsIntakeV1ResponsesPost description: |- Turns a natural-language prompt, optionally with supporting files, into a created [Cart](ctp:api:type:Cart) or [QuoteRequest](ctp:api:type:QuoteRequest), returned in commercetools REST representation. Non-fatal issues, such as requested Products that could not be matched to the catalog or a file that failed to parse, are reported as `warnings` alongside a successful `201` response rather than failing the request. Accepts either an `application/json` body or a `multipart/form-data` request. An `application/json` body requires `prompt`. A `multipart/form-data` request requires `prompt`, an uploaded file, or both. See [Multipart form data](/api/agents/intake-agent#multipart-form-data) for the file upload format. If the Intake Agent is not enabled for the Project, a [FeatureDisabled](ctp:api:type:AgentFeatureDisabledError) error is returned. requestBody: content: application/json: schema: $ref: '#/components/schemas/AgentResponsesRequest' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/AgentResponsesSuccess' "400": description: |- 400 content: application/json: schema: $ref: '#/components/schemas/AgentResponsesErrorResponse' "401": description: |- Missing, malformed, or invalid bearer token. Returned as an [AuthErrorResponse](ctp:api:type:AuthErrorResponse) rather than the [AgentResponsesErrorResponse](ctp:api:type:AgentResponsesErrorResponse) envelope. content: application/json: schema: $ref: '#/components/schemas/AgentResponsesAuthError' "403": description: |- The access token is missing one or more of the required OAuth scopes. Returned as an [AuthErrorResponse](ctp:api:type:AuthErrorResponse) rather than the [AgentResponsesErrorResponse](ctp:api:type:AgentResponsesErrorResponse) envelope. content: application/json: schema: $ref: '#/components/schemas/AgentResponsesAuthError' "409": description: |- 409 content: application/json: schema: $ref: '#/components/schemas/AgentResponsesErrorResponse' "413": description: |- An uploaded file exceeds the maximum size of 20 MB. content: application/json: schema: $ref: '#/components/schemas/AgentResponsesErrorResponse' "500": description: |- 500 content: application/json: schema: $ref: '#/components/schemas/AgentResponsesErrorResponse' "502": description: |- 502 content: application/json: schema: $ref: '#/components/schemas/AgentResponsesErrorResponse' "503": description: |- 503 content: application/json: schema: $ref: '#/components/schemas/AgentResponsesErrorResponse' /{projectKey}/api-clients: description: |- Manage your API Clients via an API. Useful for Infrastructure-as-Code tooling, and regularly rotating API secrets. parameters: - name: projectKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_api_clients:{projectKey}" operationId: ByProjectKeyApiClientsGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ApiClientPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_api_clients:{projectKey}" operationId: ByProjectKeyApiClientsHead description: |- Checks if an API Client exists for the provided query predicate. Returns a `200` status if any API Clients match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_api_clients:{projectKey}" operationId: ByProjectKeyApiClientsPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ApiClientDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ApiClient' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/api-clients/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_api_clients:{projectKey}" operationId: ByProjectKeyApiClientsByIDGet responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ApiClient' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_api_clients:{projectKey}" operationId: ByProjectKeyApiClientsByIDHead description: |- Checks if an API Client exists with the provided `id`. Returns a `200` status if the API Client exists, or a `404` status otherwise. responses: "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' "200": description: |- 200 content: {} delete: security: - oauth_2_0: - "manage_api_clients:{projectKey}" operationId: ByProjectKeyApiClientsByIDDelete responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ApiClient' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/as-associate/{associateId}/business-units: description: |- A Business Unit can represent a Company or a Division. parameters: - name: projectKey in: path required: true schema: type: "string" - name: associateId in: path required: true schema: type: "string" x-annotation-updateable: "BusinessUnit" x-annotation-deleteable: "BusinessUnit" x-annotation-createable: "BusinessUnitDraft" get: security: - oauth_2_0: - "view_business_units:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdBusinessUnitsGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/BusinessUnitPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_business_units:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdBusinessUnitsHead description: |- Checks if one or more BusinessUnits exist for the provided query predicate. Returns a `200` status if any BusinessUnits match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_business_units:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdBusinessUnitsPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/BusinessUnitDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/BusinessUnit' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/as-associate/{associateId}/business-units/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: associateId in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_business_units:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdBusinessUnitsKeyByKeyGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/BusinessUnit' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_business_units:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdBusinessUnitsKeyByKeyHead description: |- Checks if a BusinessUnit exists with the provided `key`. Returns a `200` status if the BusinessUnit exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_business_units:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdBusinessUnitsKeyByKeyPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/BusinessUnitUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/BusinessUnit' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/as-associate/{associateId}/business-units/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: associateId in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_business_units:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdBusinessUnitsByIDGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/BusinessUnit' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_business_units:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdBusinessUnitsByIDHead description: |- Checks if a BusinessUnit exists with the provided `id`. Returns a `200` status if the BusinessUnit exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_business_units:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdBusinessUnitsByIDPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/BusinessUnitUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/BusinessUnit' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/as-associate/{associateId}/in-business-unit/key={businessUnitKey}/approval-flows: description: |- Approval Flows connect Orders that require approval with the Approval Rules that initiate the approval requirement. They represent the approval process by including information about approvals, rejections, and all involved parties. parameters: - name: projectKey in: path required: true schema: type: "string" - name: associateId in: path required: true schema: type: "string" - name: businessUnitKey in: path required: true schema: type: "string" x-annotation-updateable: "ApprovalFlow" get: security: - oauth_2_0: - "view_approval_flows:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyApprovalFlowsGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ApprovalFlowPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/as-associate/{associateId}/in-business-unit/key={businessUnitKey}/approval-flows/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: associateId in: path required: true schema: type: "string" - name: businessUnitKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_approval_flows:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyApprovalFlowsByIDGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ApprovalFlow' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_approval_flows:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyApprovalFlowsByIDPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ApprovalFlowUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ApprovalFlow' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/as-associate/{associateId}/in-business-unit/key={businessUnitKey}/approval-rules: description: |- An Approval Rule describes the conditions determining whether an Order that matches the predicate needs approval by an approver before it can be ordered by an requester within a Business Unit. parameters: - name: projectKey in: path required: true schema: type: "string" - name: associateId in: path required: true schema: type: "string" - name: businessUnitKey in: path required: true schema: type: "string" x-annotation-createable: "ApprovalRuleDraft" x-annotation-updateable: "ApprovalRule" get: security: - oauth_2_0: - "view_approval_rules:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyApprovalRulesGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ApprovalRulePagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_approval_rules:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyApprovalRulesPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ApprovalRuleDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ApprovalRule' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/as-associate/{associateId}/in-business-unit/key={businessUnitKey}/approval-rules/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: associateId in: path required: true schema: type: "string" - name: businessUnitKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_approval_rules:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyApprovalRulesKeyByKeyGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ApprovalRule' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_approval_rules:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyApprovalRulesKeyByKeyPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ApprovalRuleUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ApprovalRule' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/as-associate/{associateId}/in-business-unit/key={businessUnitKey}/approval-rules/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: associateId in: path required: true schema: type: "string" - name: businessUnitKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_approval_rules:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyApprovalRulesByIDGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ApprovalRule' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_approval_rules:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyApprovalRulesByIDPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ApprovalRuleUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ApprovalRule' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/as-associate/{associateId}/in-business-unit/key={businessUnitKey}/carts: description: |- A shopping cart holds product variants and can be ordered. parameters: - name: projectKey in: path required: true schema: type: "string" - name: associateId in: path required: true schema: type: "string" - name: businessUnitKey in: path required: true schema: type: "string" x-annotation-updateable: "Cart" x-annotation-deleteable: "Cart" x-annotation-createable: "CartDraft" get: security: - oauth_2_0: - "view_orders:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyCartsGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CartPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyCartsHead description: |- Checks if one or more Carts exist for the provided query predicate. Returns a `200` status if any Carts match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_orders:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyCartsPost description: |- Creates a Cart in the [BusinessUnit](ctp:api:type:BusinessUnit) referenced by `businessUnitKey`. As such, the `businessUnit` field on [CartDraft](ctp:api:type:CartDraft) is ignored for this request. Specific Error Codes: - [DiscountCodeNonApplicable](ctp:api:type:DiscountCodeNonApplicableError) - [InvalidItemShippingDetails](ctp:api:type:InvalidItemShippingDetailsError) - [MatchingPriceNotFound](ctp:api:type:MatchingPriceNotFoundError) - [MissingTaxRateForCountry](ctp:api:type:MissingTaxRateForCountryError) - [InvalidOperation](ctp:api:type:InvalidOperationError) is returned in several cases, including the following: - The referenced Shipping Method has a predicate that does not match the Cart. - The referenced Shipping Method is not active. - The referenced Shipping Method is scoped to a Store that differs from the Cart's Store. - The referenced Shipping Method is scoped to a Store, but the Cart does not belong to a Store. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CartDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Cart' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/as-associate/{associateId}/in-business-unit/key={businessUnitKey}/carts/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: associateId in: path required: true schema: type: "string" - name: businessUnitKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_orders:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyCartsKeyByKeyGet description: |- If the Cart exists in the [Project](ctp:api:type:Project) but does not reference the requested [BusinessUnit](ctp:api:type:BusinessUnit), this method returns an [InvalidOperation](ctp:api:type:InvalidOperationError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Cart' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyCartsKeyByKeyHead description: |- Checks if a Cart exists with the provided `key`. Returns a `200` status if the Cart exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_orders:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyCartsKeyByKeyPost description: |- If the Cart exists in the [Project](ctp:api:type:Project) but does not reference the requested [BusinessUnit](ctp:api:type:BusinessUnit), this method returns an [InvalidOperation](ctp:api:type:InvalidOperationError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CartUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Cart' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_orders:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyCartsKeyByKeyDelete description: |- If the Cart exists in the [Project](ctp:api:type:Project) but does not reference the requested [BusinessUnit](ctp:api:type:BusinessUnit), this method returns an [InvalidOperation](ctp:api:type:InvalidOperationError) error. parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Cart' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/as-associate/{associateId}/in-business-unit/key={businessUnitKey}/carts/replicate: parameters: - name: projectKey in: path required: true schema: type: "string" - name: associateId in: path required: true schema: type: "string" - name: businessUnitKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_orders:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyCartsReplicatePost description: |- Creates a new Cart by replicating an existing Cart or Order. Can be useful in cases where a customer wants to cancel a recent order to make some changes or reorder a previous order. The replicated Cart preserves Customer information, Line Items and Custom Line Items, Custom Fields, Discount Codes, and other settings of the Cart or Order. If the Line Items become invalid, for example, due to removed Products or Prices, they are removed from the new Cart. If the Customer switches to another Customer Group, the new Cart is updated with the new value. It has up-to-date Tax Rates, Prices, and Line Item product data and is in `Active` [CartState](ctp:api:type:CartState). The new Cart does not contain Payments or Deliveries. The [State](ctp:api:type:ItemState) of Line Items and Custom Line Items is reset to `initial`. If the Cart exists in the [Project](ctp:api:type:Project) but does not reference the requested [BusinessUnit](ctp:api:type:BusinessUnit), this method returns an [InvalidOperation](ctp:api:type:InvalidOperationError) error. Specific Error Codes: - [MatchingPriceNotFound](ctp:api:type:MatchingPriceNotFoundError) - [MissingTaxRateForCountry](ctp:api:type:MissingTaxRateForCountryError) requestBody: content: application/json: schema: $ref: '#/components/schemas/ReplicaCartDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Cart' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/as-associate/{associateId}/in-business-unit/key={businessUnitKey}/carts/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: associateId in: path required: true schema: type: "string" - name: businessUnitKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_orders:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyCartsByIDGet description: |- If the Cart exists in the [Project](ctp:api:type:Project) but does not reference the requested [BusinessUnit](ctp:api:type:BusinessUnit), this method returns an [InvalidOperation](ctp:api:type:InvalidOperationError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Cart' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyCartsByIDHead description: |- Checks if a Cart exists with the provided `id`. Returns a `200` status if the Cart exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_orders:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyCartsByIDPost description: |- If the Cart exists in the [Project](ctp:api:type:Project) but does not reference the requested [BusinessUnit](ctp:api:type:BusinessUnit), this method returns an [InvalidOperation](ctp:api:type:InvalidOperationError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CartUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Cart' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_orders:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyCartsByIDDelete description: |- If the Cart exists in the [Project](ctp:api:type:Project) but does not reference the requested [BusinessUnit](ctp:api:type:BusinessUnit), this method returns an [InvalidOperation](ctp:api:type:InvalidOperationError) error. parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Cart' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/as-associate/{associateId}/in-business-unit/key={businessUnitKey}/orders: parameters: - name: projectKey in: path required: true schema: type: "string" - name: associateId in: path required: true schema: type: "string" - name: businessUnitKey in: path required: true schema: type: "string" x-annotation-updateable: "Order" x-annotation-deleteable: "Order" x-annotation-createable: "OrderFromCartDraft" get: security: - oauth_2_0: - "view_orders:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyOrdersGet description: |- Retrieves Orders in a [BusinessUnit](ctp:api:type:BusinessUnit). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/OrderPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyOrdersHead description: |- Checks if one or more Orders exist with provided query predicate in a [BusinessUnit](ctp:api:type:BusinessUnit). Returns a `200` status if any Orders match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_orders:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyOrdersPost description: |- Creates an Order from a [Cart](ctp:api:type:Cart) in a [BusinessUnit](ctp:api:type:BusinessUnit). The Cart must have a shipping address set, regardless of the [TaxMode](ctp:api:type:TaxMode). For a Cart with `Platform` [TaxMode](ctp:api:type:TaxMode), the shipping address is used for tax calculation. If the Cart does not reference the same BusinessUnit as the `businessUnitKey` path parameter, an [InvalidOperation](ctp:api:type:InvalidOperationError) is returned. Specific Error Codes: - [DiscountCodeNonApplicable](ctp:api:type:DiscountCodeNonApplicableError) - [InvalidItemShippingDetails](ctp:api:type:InvalidItemShippingDetailsError) - [OutOfStock](ctp:api:type:OutOfStockError) - [PriceChanged](ctp:api:type:PriceChangedError) - [ShippingMethodDoesNotMatchCart](ctp:api:type:ShippingMethodDoesNotMatchCartError) - [MatchingPriceNotFound](ctp:api:type:MatchingPriceNotFoundError) - [MissingTaxRateForCountry](ctp:api:type:MissingTaxRateForCountryError) parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/OrderFromCartDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Order' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/as-associate/{associateId}/in-business-unit/key={businessUnitKey}/orders/order-number={orderNumber}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: associateId in: path required: true schema: type: "string" - name: businessUnitKey in: path required: true schema: type: "string" - name: orderNumber in: path required: true schema: type: "string" x-annotation-methodName: "withOrderNumber" get: security: - oauth_2_0: - "view_orders:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyOrdersOrderNumberByOrderNumberGet description: |- Retrieves an Order with the provided `orderNumber` in a [BusinessUnit](ctp:api:type:BusinessUnit). If the Order exists in the [Project](ctp:api:type:Project) but does not reference the requested [BusinessUnit](ctp:api:type:BusinessUnit), this method returns an [InvalidOperation](ctp:api:type:InvalidOperationError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Order' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyOrdersOrderNumberByOrderNumberHead description: |- Checks if an Order exists with the provided `orderNumber` in a [BusinessUnit](ctp:api:type:BusinessUnit). Returns a `200` status if the Order exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_orders:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyOrdersOrderNumberByOrderNumberPost description: |- Updates an Order in a [BusinessUnit](ctp:api:type:BusinessUnit) using one or more [update actions](/api/projects/orders#update-actions). If the Order exists in the [Project](ctp:api:type:Project) but does not reference the requested Business Unit, this method returns an [InvalidOperation](ctp:api:type:InvalidOperationError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/OrderUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Order' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/as-associate/{associateId}/in-business-unit/key={businessUnitKey}/orders/quotes: parameters: - name: projectKey in: path required: true schema: type: "string" - name: associateId in: path required: true schema: type: "string" - name: businessUnitKey in: path required: true schema: type: "string" x-annotation-methodName: "orderQuote" post: security: - oauth_2_0: - "manage_quotes:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyOrdersQuotesPost description: |- Creates an Order from a [Quote](ctp:api:type:Quote) in a [BusinessUnit](ctp:api:type:BusinessUnit). The Quote must reference the same Business Unit as the `businessUnitKey` path parameter, must have the `Pending` [state](ctp:api:type:QuoteState), and must be valid (not past the `validTo` date). If these criteria are not met, an [InvalidOperation](ctp:api:type:InvalidOperationError) error is returned. Specific Error Codes: - [InvalidItemShippingDetails](ctp:api:type:InvalidItemShippingDetailsError) - [OutOfStock](ctp:api:type:OutOfStockError) requestBody: content: application/json: schema: $ref: '#/components/schemas/OrderFromQuoteDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Order' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/as-associate/{associateId}/in-business-unit/key={businessUnitKey}/orders/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: associateId in: path required: true schema: type: "string" - name: businessUnitKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_orders:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyOrdersByIDGet description: |- Retrieves an Order with the provided `id` in a [BusinessUnit](ctp:api:type:BusinessUnit). If the Order exists in the [Project](ctp:api:type:Project) but does not reference the requested Business Unit, this method returns an [InvalidOperation](ctp:api:type:InvalidOperationError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Order' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyOrdersByIDHead description: |- Checks if an Order exists with the provided `id` in a [BusinessUnit](ctp:api:type:BusinessUnit). Returns a `200` status if the Order exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_orders:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyOrdersByIDPost description: |- Updates an Order in a [BusinessUnit](ctp:api:type:BusinessUnit) using one or more [update actions](/api/projects/orders#update-actions). If the Order exists in the [Project](ctp:api:type:Project) but does not reference the requested Business Unit, this method returns an [InvalidOperation](ctp:api:type:InvalidOperationError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/OrderUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Order' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/as-associate/{associateId}/in-business-unit/key={businessUnitKey}/quote-requests: parameters: - name: projectKey in: path required: true schema: type: "string" - name: associateId in: path required: true schema: type: "string" - name: businessUnitKey in: path required: true schema: type: "string" x-annotation-updateable: "QuoteRequest" x-annotation-deleteable: "QuoteRequest" x-annotation-createable: "QuoteRequestDraft" get: security: - oauth_2_0: - "view_quote_requests:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyQuoteRequestsGet description: |- Retrieves all QuoteRequests in a BusinessUnit. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/QuoteRequestPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_quote_requests:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyQuoteRequestsHead description: |- Checks if one or more QuoteRequests exist for the provided query predicate in a BusinessUnit. Returns a `200 OK` status if any QuoteRequests match the query predicate, or a [Not Found](/api/errors#404-not-found) error otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_quote_requests:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyQuoteRequestsPost description: |- Creates a QuoteRequest in a BusinessUnit. Creating QuoteRequest fails with an [InvalidOperation](ctp:api:type:InvalidOperationError) if the Cart does not reference the same BusinessUnit as the `businessUnitKey` path parameter. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/QuoteRequestDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/QuoteRequest' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/as-associate/{associateId}/in-business-unit/key={businessUnitKey}/quote-requests/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: associateId in: path required: true schema: type: "string" - name: businessUnitKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_quote_requests:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyQuoteRequestsKeyByKeyGet description: |- Retrieves a QuoteRequest with the provided `key` in a BusinessUnit. If the QuoteRequest exists in the [Project](ctp:api:type:Project) but does not reference the requested [BusinessUnit](ctp:api:type:BusinessUnit), this method returns an [InvalidOperation](ctp:api:type:InvalidOperationError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/QuoteRequest' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_quote_requests:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyQuoteRequestsKeyByKeyHead description: |- Checks if a QuoteRequest exists with the provided `key` in a BusinessUnit. Returns a `200 OK` status if the QuoteRequest exists or a [Not Found](/api/errors#404-not-found) error otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_quote_requests:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyQuoteRequestsKeyByKeyPost description: |- Updates a QuoteRequest in a BusinessUnit using one or more [update actions](/api/projects/quote-requests#update-actions). If the QuoteRequest exists in the [Project](ctp:api:type:Project) but does not reference the requested [BusinessUnit](ctp:api:type:BusinessUnit), this method returns an [InvalidOperation](ctp:api:type:InvalidOperationError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/QuoteRequestUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/QuoteRequest' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/as-associate/{associateId}/in-business-unit/key={businessUnitKey}/quote-requests/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: associateId in: path required: true schema: type: "string" - name: businessUnitKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_quote_requests:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyQuoteRequestsByIDGet description: |- Retrieves a QuoteRequest with the provided `id` in a BusinessUnit. If the QuoteRequest exists in the [Project](ctp:api:type:Project) but does not reference the requested [BusinessUnit](ctp:api:type:BusinessUnit), this method returns an [InvalidOperation](ctp:api:type:InvalidOperationError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/QuoteRequest' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_quote_requests:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyQuoteRequestsByIDHead description: |- Checks if a QuoteRequest exists with the provided `id` in a BusinessUnit. Returns a `200 OK` status if the QuoteRequest exists or a [Not Found](/api/errors#404-not-found) error otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_quote_requests:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyQuoteRequestsByIDPost description: |- Updates a QuoteRequest in a BusinessUnit using one or more [update actions](/api/projects/quote-requests#update-actions). If the QuoteRequest exists in the [Project](ctp:api:type:Project) but does not reference the requested [BusinessUnit](ctp:api:type:BusinessUnit), this method returns an [InvalidOperation](ctp:api:type:InvalidOperationError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/QuoteRequestUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/QuoteRequest' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/as-associate/{associateId}/in-business-unit/key={businessUnitKey}/quotes: description: |- A quote holds the negotiated offer. parameters: - name: projectKey in: path required: true schema: type: "string" - name: associateId in: path required: true schema: type: "string" - name: businessUnitKey in: path required: true schema: type: "string" x-annotation-updateable: "Quote" x-annotation-deleteable: "Quote" x-annotation-createable: "QuoteDraft" get: security: - oauth_2_0: - "view_quotes:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyQuotesGet description: |- Retrieves all Quotes in a BusinessUnit. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/QuotePagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_quotes:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyQuotesHead description: |- Checks if one or more Quotes exist for the provided query predicate in a BusinessUnit. Returns a `200 OK` status if any Quotes match the query predicate, or a [Not Found](/api/errors#404-not-found) error otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/as-associate/{associateId}/in-business-unit/key={businessUnitKey}/quotes/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: associateId in: path required: true schema: type: "string" - name: businessUnitKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_quotes:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyQuotesKeyByKeyGet description: |- Retrieves a Quote with the provided `key` in a BusinessUnit. If the Quote exists in the [Project](ctp:api:type:Project) but does not reference the requested [BusinessUnit](ctp:api:type:BusinessUnit), this method returns an [InvalidOperation](ctp:api:type:InvalidOperationError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Quote' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_quotes:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyQuotesKeyByKeyHead description: |- Checks if a Quote exists with the provided `key` in a BusinessUnit. Returns a `200 OK` status if the Quote exists, or a [Not Found](/api/errors#404-not-found) error otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_quotes:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyQuotesKeyByKeyPost description: |- Updates a Quote in a BusinessUnit using one or more [update actions](/api/projects/quotes#update-actions). If the Quote exists in the [Project](ctp:api:type:Project) but does not reference the requested [BusinessUnit](ctp:api:type:BusinessUnit), this method returns an [InvalidOperation](ctp:api:type:InvalidOperationError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/QuoteUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Quote' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/as-associate/{associateId}/in-business-unit/key={businessUnitKey}/quotes/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: associateId in: path required: true schema: type: "string" - name: businessUnitKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_quotes:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyQuotesByIDGet description: |- Retrieves a Quote with the provided `id` in a BusinessUnit. If the Quote exists in the [Project](ctp:api:type:Project) but does not reference the requested [BusinessUnit](ctp:api:type:BusinessUnit), this method returns an [InvalidOperation](ctp:api:type:InvalidOperationError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Quote' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_quotes:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyQuotesByIDHead description: |- Checks if a Quote exists with the provided `id` in a BusinessUnit. Returns a `200 OK` status if the Quote exists or a [Not Found](/api/errors#404-not-found) error otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_quotes:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyQuotesByIDPost description: |- Updates a Quote in a BusinessUnit using one or more [update actions](/api/projects/quotes#update-actions). If the Quote exists in the [Project](ctp:api:type:Project) but does not reference the requested [BusinessUnit](ctp:api:type:BusinessUnit), this method returns an [InvalidOperation](ctp:api:type:InvalidOperationError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/QuoteUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Quote' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/as-associate/{associateId}/in-business-unit/key={businessUnitKey}/shopping-lists: description: |- shopping-lists e.g. for wishlist support parameters: - name: projectKey in: path required: true schema: type: "string" - name: associateId in: path required: true schema: type: "string" - name: businessUnitKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_shopping_lists:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyShoppingListsGet description: |- Retrieves ShoppingLists in a [BusinessUnit](ctp:api:type:BusinessUnit). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingListPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_shopping_lists:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyShoppingListsHead description: |- Checks if one or more ShoppingLists exist for the provided query predicate in a [BusinessUnit](ctp:api:type:BusinessUnit). Returns a `200` status if any ShoppingLists match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_shopping_lists:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyShoppingListsPost description: |- Creates a ShoppingList in the [BusinessUnit](ctp:api:type:BusinessUnit) referenced by `businessUnitKey`. As such, the `businessUnit` field on [ShoppingListDraft](ctp:api:type:ShoppingListDraft) is ignored for this request. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ShoppingListDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/as-associate/{associateId}/in-business-unit/key={businessUnitKey}/shopping-lists/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: associateId in: path required: true schema: type: "string" - name: businessUnitKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_shopping_lists:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyShoppingListsKeyByKeyGet description: |- Retrieves a ShoppingList with the provided `key` in a [BusinessUnit](ctp:api:type:BusinessUnit). If the ShoppingList exists in the Project but does not reference the requested [BusinessUnit](ctp:api:type:BusinessUnit), this method returns an [InvalidOperation](ctp:api:type:InvalidOperationError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_shopping_lists:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyShoppingListsKeyByKeyHead description: |- Checks if a ShoppingList exists with the provided `key` in a [BusinessUnit](ctp:api:type:BusinessUnit). Returns a `200` status if the ShoppingList exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_shopping_lists:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyShoppingListsKeyByKeyPost description: |- Updates a ShoppingList in a [BusinessUnit](ctp:api:type:BusinessUnit) using one or more [update actions](/api/projects/shoppingLists#update-actions). If the ShoppingList exists in the [Project](ctp:api:type:Project) but does not reference the requested [BusinessUnit](ctp:api:type:BusinessUnit), this method returns an [InvalidOperation](ctp:api:type:InvalidOperationError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ShoppingListUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_shopping_lists:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyShoppingListsKeyByKeyDelete description: |- Deletes a ShoppingList in a [BusinessUnit](ctp:api:type:BusinessUnit). If the ShoppingList exists in the Project but does not reference the requested [BusinessUnit](ctp:api:type:BusinessUnit), this method returns an [InvalidOperation](ctp:api:type:InvalidOperationError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/as-associate/{associateId}/in-business-unit/key={businessUnitKey}/shopping-lists/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: associateId in: path required: true schema: type: "string" - name: businessUnitKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_shopping_lists:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyShoppingListsByIDGet description: |- Retrieves a ShoppingList with the provided `key` in a [BusinessUnit](ctp:api:type:BusinessUnit). If the ShoppingList exists in the Project but does not reference the requested [BusinessUnit](ctp:api:type:BusinessUnit), this method returns an [InvalidOperation](ctp:api:type:InvalidOperationError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_shopping_lists:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyShoppingListsByIDHead description: |- Checks if a ShoppingList exists with the provided `id` in a [BusinessUnit](ctp:api:type:BusinessUnit). Returns a `200` status if the ShoppingList exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_shopping_lists:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyShoppingListsByIDPost description: |- Updates a ShoppingList in a [BusinessUnit](ctp:api:type:BusinessUnit) using one or more [update actions](/api/projects/shoppingLists#update-actions). If the ShoppingList exists in the Project but does not reference the requested [BusinessUnit](ctp:api:type:BusinessUnit), this method returns an [InvalidOperation](ctp:api:type:InvalidOperationError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ShoppingListUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_shopping_lists:{projectKey}" operationId: ByProjectKeyAsAssociateByAssociateIdInBusinessUnitKeyByBusinessUnitKeyShoppingListsByIDDelete description: |- Deletes a ShoppingList in a [BusinessUnit](ctp:api:type:BusinessUnit). If the ShoppingList exists in the Project but does not reference the requested [BusinessUnit](ctp:api:type:BusinessUnit), this method returns an [InvalidOperation](ctp:api:type:InvalidOperationError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/associate-roles: description: |- An Associate Role enables permissions over a Business Unit to an Associate. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "AssociateRole" x-annotation-deleteable: "AssociateRole" x-annotation-createable: "AssociateRoleDraft" get: security: - oauth_2_0: - "view_associate_roles:{projectKey}" operationId: ByProjectKeyAssociateRolesGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/AssociateRolePagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_associate_roles:{projectKey}" operationId: ByProjectKeyAssociateRolesHead description: |- Checks if one or more AssociateRoles exist for the provided query predicate. Returns a `200` status if any AssociateRole match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_associate_roles:{projectKey}" operationId: ByProjectKeyAssociateRolesPost description: |- Creating a Associate Role generates the [AssociateRoleCreated](ctp:api:type:AssociateRoleCreatedMessage) Message. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/AssociateRoleDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/AssociateRole' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/associate-roles/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_associate_roles:{projectKey}" operationId: ByProjectKeyAssociateRolesKeyByKeyGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/AssociateRole' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_associate_roles:{projectKey}" operationId: ByProjectKeyAssociateRolesKeyByKeyHead description: |- Checks if an AssociateRole exists with the provided `key`. Returns a `200` status if the AssociateRole exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_associate_roles:{projectKey}" operationId: ByProjectKeyAssociateRolesKeyByKeyPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/AssociateRoleUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/AssociateRole' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_associate_roles:{projectKey}" operationId: ByProjectKeyAssociateRolesKeyByKeyDelete description: |- Deleting an AssociateRole generates the [AssociateRoleDeleted](ctp:api:type:AssociateRoleDeletedMessage) Message. An AssociateRole can only be deleted if it is not assigned to any [Associates](ctp:api:type:Associate). parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/AssociateRole' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/associate-roles/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_associate_roles:{projectKey}" operationId: ByProjectKeyAssociateRolesByIDGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/AssociateRole' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_associate_roles:{projectKey}" operationId: ByProjectKeyAssociateRolesByIDHead description: |- Checks if an AssociateRole exists with the provided `id`. Returns a `200` status if the AssociateRole exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_associate_roles:{projectKey}" operationId: ByProjectKeyAssociateRolesByIDPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/AssociateRoleUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/AssociateRole' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_associate_roles:{projectKey}" operationId: ByProjectKeyAssociateRolesByIDDelete parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/AssociateRole' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/attribute-groups: description: |- Attribute groups ... TODO parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "AttributeGroup" x-annotation-deleteable: "AttributeGroup" x-annotation-createable: "AttributeGroupDraft" get: security: - oauth_2_0: - "view_attribute_groups:{projectKey}" operationId: ByProjectKeyAttributeGroupsGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/AttributeGroupPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_attribute_groups:{projectKey}" operationId: ByProjectKeyAttributeGroupsHead description: |- Checks if one or more AttributeGroups exist for the provided query predicate. Returns `200` status if any AttributeGroups match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_attribute_groups:{projectKey}" operationId: ByProjectKeyAttributeGroupsPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/AttributeGroupDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/AttributeGroup' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/attribute-groups/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_attribute_groups:{projectKey}" operationId: ByProjectKeyAttributeGroupsKeyByKeyGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/AttributeGroup' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_attribute_groups:{projectKey}" operationId: ByProjectKeyAttributeGroupsKeyByKeyHead description: |- Checks if an AttributeGroup exists with the provided `key`. Returns `200` status if the AttributeGroup exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_attribute_groups:{projectKey}" operationId: ByProjectKeyAttributeGroupsKeyByKeyPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/AttributeGroupUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/AttributeGroup' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_attribute_groups:{projectKey}" operationId: ByProjectKeyAttributeGroupsKeyByKeyDelete parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/AttributeGroup' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/attribute-groups/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_attribute_groups:{projectKey}" operationId: ByProjectKeyAttributeGroupsByIDGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/AttributeGroup' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_attribute_groups:{projectKey}" operationId: ByProjectKeyAttributeGroupsByIDHead description: |- Checks if an AttributeGroup exists with the provided `id`. Returns a `200` status if the AttributeGroup exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_attribute_groups:{projectKey}" operationId: ByProjectKeyAttributeGroupsByIDPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/AttributeGroupUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/AttributeGroup' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_attribute_groups:{projectKey}" operationId: ByProjectKeyAttributeGroupsByIDDelete parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/AttributeGroup' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/business-units: description: |- A Business Unit can represent a Company or a Division. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "BusinessUnit" x-annotation-deleteable: "BusinessUnit" x-annotation-createable: "BusinessUnitDraft" get: security: - oauth_2_0: - "view_business_units:{projectKey}" operationId: ByProjectKeyBusinessUnitsGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/BusinessUnitPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_business_units:{projectKey}" operationId: ByProjectKeyBusinessUnitsHead description: |- Checks if one or more BusinessUnits exist for the provided query predicate. Returns a `200` status if any BusinessUnits match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_business_units:{projectKey}" operationId: ByProjectKeyBusinessUnitsPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/BusinessUnitDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/BusinessUnit' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/business-units/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_business_units:{projectKey}" operationId: ByProjectKeyBusinessUnitsKeyByKeyGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/BusinessUnit' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_business_units:{projectKey}" operationId: ByProjectKeyBusinessUnitsKeyByKeyHead description: |- Checks if a BusinessUnit exists with the provided `key`. Returns a `200` status if the BusinessUnit exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_business_units:{projectKey}" operationId: ByProjectKeyBusinessUnitsKeyByKeyPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/BusinessUnitUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/BusinessUnit' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_business_units:{projectKey}" operationId: ByProjectKeyBusinessUnitsKeyByKeyDelete parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/BusinessUnit' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/business-units/key={key}/associates/{associateId}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" - name: associateId in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_business_units:{projectKey}" operationId: ByProjectKeyBusinessUnitsKeyByKeyAssociatesByAssociateIdGet description: |- Retrieves roles and permissions of an Associate in a Business Unit. responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/BusinessUnitAssociateResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/business-units/search: description: |- This endpoint provides high-performance search queries over Business Units. parameters: - name: projectKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "view_business_units:{projectKey}" operationId: ByProjectKeyBusinessUnitsSearchPost description: |- If the initial indexing is in progress or the feature is inactive, A [SearchNotReady](ctp:api:type:SearchNotReadyError) error is returned. If inactive, you can [reactivate](/api/projects/business-unit-search#reactivate) it. requestBody: content: application/json: schema: $ref: '#/components/schemas/BusinessUnitSearchRequest' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/BusinessUnitPagedSearchResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_business_units:{projectKey}" operationId: ByProjectKeyBusinessUnitsSearchHead description: |- Checks whether a search index of Business Units exists for a Project. Returns a `200 OK` if an index exists; otherwise, returns a `409 Conflict`. responses: "200": description: |- A search index exists and the [Search Business Units](ctp:api:endpoint:/{projectKey}/business-units/search:POST) endpoint is fully operational. content: {} "409": description: |- A search index does not exist and the [Search Business Units](ctp:api:endpoint:/{projectKey}/business-units/search:POST) endpoint returns a 409 error. content: {} "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/business-units/search/indexing-status: parameters: - name: projectKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_project_settings:{projectKey}" operationId: ByProjectKeyBusinessUnitsSearchIndexingStatusGet description: |- Returns the indexing status of the Business Unit Search for a Project. responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/BusinessUnitSearchIndexingStatusResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/business-units/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_business_units:{projectKey}" operationId: ByProjectKeyBusinessUnitsByIDGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/BusinessUnit' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_business_units:{projectKey}" operationId: ByProjectKeyBusinessUnitsByIDHead description: |- Checks if a BusinessUnit exists with the provided `id`. Returns a `200` status if the BusinessUnit exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_business_units:{projectKey}" operationId: ByProjectKeyBusinessUnitsByIDPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/BusinessUnitUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/BusinessUnit' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_business_units:{projectKey}" operationId: ByProjectKeyBusinessUnitsByIDDelete parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/BusinessUnit' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/business-units/{businessUnitId}/associates/{associateId}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: businessUnitId in: path required: true schema: type: "string" - name: associateId in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_business_units:{projectKey}" operationId: ByProjectKeyBusinessUnitsByBusinessUnitIdAssociatesByAssociateIdGet description: |- Retrieves roles and permissions of an Associate in a Business Unit. responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/BusinessUnitAssociateResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/cart-discounts: description: |- Cart discounts are used to change the prices of different elements within a cart. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "CartDiscount" x-annotation-deleteable: "CartDiscount" x-annotation-createable: "CartDiscountDraft" get: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_cart_discounts:{projectKey}" operationId: ByProjectKeyCartDiscountsGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CartDiscountPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_cart_discounts:{projectKey}" operationId: ByProjectKeyCartDiscountsHead description: |- Checks if one or more CartDiscounts exist for the provided query predicate. Returns a `200` status if any CartDiscounts match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_orders:{projectKey}" - "manage_cart_discounts:{projectKey}" operationId: ByProjectKeyCartDiscountsPost description: |- Creating a Cart Discount produces the [CartDiscountCreated](ctp:api:type:CartDiscountCreatedMessage) Message. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CartDiscountDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/CartDiscount' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/cart-discounts/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_cart_discounts:{projectKey}" operationId: ByProjectKeyCartDiscountsKeyByKeyGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CartDiscount' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_cart_discounts:{projectKey}" operationId: ByProjectKeyCartDiscountsKeyByKeyHead description: |- Checks if a CartDiscount exists with the provided `key`. Returns a `200` status if the CartDiscount exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_orders:{projectKey}" - "manage_cart_discounts:{projectKey}" operationId: ByProjectKeyCartDiscountsKeyByKeyPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CartDiscountUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CartDiscount' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_orders:{projectKey}" - "manage_cart_discounts:{projectKey}" operationId: ByProjectKeyCartDiscountsKeyByKeyDelete description: |- Deleting a Cart Discount produces the [CartDiscountDeleted](ctp:api:type:CartDiscountDeletedMessage) Message. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CartDiscount' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/cart-discounts/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_cart_discounts:{projectKey}" operationId: ByProjectKeyCartDiscountsByIDGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CartDiscount' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_cart_discounts:{projectKey}" operationId: ByProjectKeyCartDiscountsByIDHead description: |- Checks if a CartDiscount exists with the provided `id`. Returns a `200` status if the CartDiscount exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_orders:{projectKey}" - "manage_cart_discounts:{projectKey}" operationId: ByProjectKeyCartDiscountsByIDPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CartDiscountUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CartDiscount' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_orders:{projectKey}" - "manage_cart_discounts:{projectKey}" operationId: ByProjectKeyCartDiscountsByIDDelete description: |- Deleting a Cart Discount produces the [CartDiscountDeleted](ctp:api:type:CartDiscountDeletedMessage) Message. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CartDiscount' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/carts: description: |- A shopping cart holds product variants and can be ordered. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "Cart" x-annotation-deleteable: "Cart" x-annotation-createable: "CartDraft" get: security: - oauth_2_0: - "view_orders:{projectKey}" operationId: ByProjectKeyCartsGet description: |- Retrieves Carts in the Project. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CartPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" operationId: ByProjectKeyCartsHead description: |- Checks if one or more Carts exist for the provided query predicate. Returns a `200` status if any Carts match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_orders:{projectKey}" operationId: ByProjectKeyCartsPost description: |- Creates a Cart in the Project. When using [InventoryMode](ctp:api:type:InventoryMode) `ReserveOnCart`: - If only some Line Items can be reserved, the Cart creation succeeds, however, the items that could not be reserved are removed and reservation warnings are returned in the response. - If none of the Line Items can be reserved, the Cart creation fails with an [InvalidOperation](ctp:api:type:InvalidOperationError) error. Specific Error Codes: - [DiscountCodeNonApplicable](ctp:api:type:DiscountCodeNonApplicableError) - [InvalidItemShippingDetails](ctp:api:type:InvalidItemShippingDetailsError) - [MatchingPriceNotFound](ctp:api:type:MatchingPriceNotFoundError) - [MissingTaxRateForCountry](ctp:api:type:MissingTaxRateForCountryError) - [InvalidOperation](ctp:api:type:InvalidOperationError) is returned in several cases, including the following: - The referenced Shipping Method has a predicate that does not match the Cart. - The referenced Shipping Method is not active. - The referenced Shipping Method is scoped to a Store that differs from the Cart's Store. - The referenced Shipping Method is scoped to a Store, but the Cart does not belong to a Store. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CartDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Cart' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/carts/customer-id={customerId}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: customerId in: path required: true schema: type: "string" x-annotation-methodName: "withCustomerId" get: security: - oauth_2_0: - "view_orders:{projectKey}" operationId: ByProjectKeyCartsCustomerIdByCustomerIdGet description: |- Retrieves the most recently modified active Cart of a Customer with [CartOrigin](ctp:api:type:CartOrigin) `Customer`. If no active Cart exists, this method returns a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error. To ensure the Cart is up-to-date with current values (such as Prices and Discounts), use the [Recalculate](ctp:api:type:CartRecalculateAction) update action. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Cart' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" operationId: ByProjectKeyCartsCustomerIdByCustomerIdHead description: |- Checks if a Cart exists for a Customer. Returns a `200` status if the Cart exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/carts/customer-id={customerId}/merge: parameters: - name: projectKey in: path required: true schema: type: "string" - name: customerId in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_orders:{projectKey}" operationId: ByProjectKeyCartsCustomerIdByCustomerIdMergePost description: |- Merges items from an anonymous Cart into the most recently modified active Cart of a Customer. If no active Cart exists, the anonymous Cart becomes the Customer's active Cart. For more information about merge mode behaviors, merge rules, and tax recalculation, see [Merge a Cart](/api/carts-orders-overview#merge-a-cart). - [InvalidOperation](ctp:api:type:InvalidOperationError) is returned in several cases, including the following: - The referenced Shipping Method is not active. - The referenced Shipping Method is scoped to a Store that differs from the Cart's Store. - The referenced Shipping Method is scoped to a Store, but the Cart does not belong to a Store. requestBody: content: application/json: schema: $ref: '#/components/schemas/MergeCartDraft' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Cart' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/carts/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_orders:{projectKey}" operationId: ByProjectKeyCartsKeyByKeyGet description: |- Retrieves a Cart with the provided `key`. To ensure the Cart is up-to-date with current values (such as Prices and Discounts), use the [Recalculate](ctp:api:type:CartRecalculateAction) update action. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Cart' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" operationId: ByProjectKeyCartsKeyByKeyHead description: |- Checks if a Cart exists with the provided `key`. Returns a `200` status if the Cart exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_orders:{projectKey}" operationId: ByProjectKeyCartsKeyByKeyPost description: |- Updates a Cart in the Project using one or more [update actions](/api/projects/carts#update-actions). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CartUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Cart' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_orders:{projectKey}" operationId: ByProjectKeyCartsKeyByKeyDelete description: |- Deletes a Cart in the Project. parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Cart' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/carts/replicate: parameters: - name: projectKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_orders:{projectKey}" operationId: ByProjectKeyCartsReplicatePost description: |- Creates a new Cart by replicating an existing Cart or Order. The following applies to the new Cart: - It contains the same Customer information, Line Items and Custom Line Items, Custom Fields, Discount Codes, and other settings of the originating Cart or Order. - If a Line Item becomes invalid, it is removed from the new Cart. A common reason for this is removed Products or Prices. - Line items and Custom Line Items are reset to their initial [state](/projects/carts#itemstate). - It contains no payments or delivery information. - It contains up-to-date Tax Rates, Prices, and Line Item product data. - The [CartState](ctp:api:type:CartState) is `Active`. - If using the `customerGroup` field (for a single Customer Group) and the referenced Customer switched to another Customer Group, the new Cart is automatically updated to reflect the new group and corresponding prices. - If using the `customerGroupAssignments` field (for multiple Customer Groups), the Cart no longer keeps a direct reference to a Customer Group. If a Customer’s group assignments change, the Cart and its Line Item prices are not updated automatically. Prices are only updated when the Cart is changed via a [direct update action](/projects/carts#update-actions). Specific Error Codes: - [MatchingPriceNotFound](ctp:api:type:MatchingPriceNotFoundError) - [MissingTaxRateForCountry](ctp:api:type:MissingTaxRateForCountryError) requestBody: content: application/json: schema: $ref: '#/components/schemas/ReplicaCartDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Cart' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/carts/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_orders:{projectKey}" operationId: ByProjectKeyCartsByIDGet description: |- Retrieves a Cart with the provided `id`. To ensure the Cart is up-to-date with current values (such as Prices and Discounts), use the [Recalculate](ctp:api:type:CartRecalculateAction) update action. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Cart' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" operationId: ByProjectKeyCartsByIDHead description: |- Checks if a Cart exists for the provided `id`. Returns a `200` status if the Cart exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_orders:{projectKey}" operationId: ByProjectKeyCartsByIDPost description: |- Updates a Cart in the Project using one or more [update actions](/api/projects/carts#update-actions). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CartUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Cart' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_orders:{projectKey}" operationId: ByProjectKeyCartsByIDDelete description: |- Deletes a Cart in the Project. parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Cart' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/categories: description: |- Categories are used to organize products in a hierarchical structure. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "Category" x-annotation-deleteable: "Category" x-annotation-createable: "CategoryDraft" get: security: - oauth_2_0: - "view_products:{projectKey}" - "view_categories:{projectKey}" operationId: ByProjectKeyCategoriesGet description: |- Either the [scope](/api/scopes) `view_products:{projectKey}` or `view_categories:{projectKey}` is required. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CategoryPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" - "view_categories:{projectKey}" operationId: ByProjectKeyCategoriesHead description: |- Checks if one or more Categories exist for the provided query predicate. Returns a `200` status if any Categories match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_products:{projectKey}" - "manage_categories:{projectKey}" operationId: ByProjectKeyCategoriesPost description: |- Either the [scope](/api/scopes) `manage_products:{projectKey}` or `manage_categories:{projectKey}` is required. Creating a Category produces the [CategoryCreated](ctp:api:type:CategoryCreatedMessage) Message. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CategoryDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Category' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/categories/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_products:{projectKey}" - "view_categories:{projectKey}" operationId: ByProjectKeyCategoriesKeyByKeyGet description: |- Either the [scope](/api/scopes) `view_products:{projectKey}` or `view_categories:{projectKey}` is required. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Category' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" - "view_categories:{projectKey}" operationId: ByProjectKeyCategoriesKeyByKeyHead description: |- Checks if a Category exists with the provided `key`. Returns a `200` status if the Category exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_products:{projectKey}" - "manage_categories:{projectKey}" operationId: ByProjectKeyCategoriesKeyByKeyPost description: |- Either the [scope](/api/scopes) `manage_products:{projectKey}` or `manage_categories:{projectKey}` is required. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CategoryUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Category' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_products:{projectKey}" - "manage_categories:{projectKey}" operationId: ByProjectKeyCategoriesKeyByKeyDelete description: |- Either the [scope](/api/scopes) `manage_products:{projectKey}` or `manage_categories:{projectKey}` is required. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Category' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/categories/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_products:{projectKey}" - "view_categories:{projectKey}" operationId: ByProjectKeyCategoriesByIDGet description: |- Either the [scope](/api/scopes) `view_products:{projectKey}` or `view_categories:{projectKey}` is required. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Category' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" - "view_categories:{projectKey}" operationId: ByProjectKeyCategoriesByIDHead description: |- Checks if a Category exists with the provided `id`. Returns a `200` status if the Category exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_products:{projectKey}" - "manage_categories:{projectKey}" operationId: ByProjectKeyCategoriesByIDPost description: |- Either the [scope](/api/scopes) `manage_products:{projectKey}` or `manage_categories:{projectKey}` is required. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CategoryUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Category' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_products:{projectKey}" - "manage_categories:{projectKey}" operationId: ByProjectKeyCategoriesByIDDelete description: |- Either the [scope](/api/scopes) `manage_products:{projectKey}` or `manage_categories:{projectKey}` is required. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Category' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/channels: description: |- Channels represent a source or destination of different entities. They can be used to model warehouses or stores. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "Channel" x-annotation-deleteable: "Channel" x-annotation-createable: "ChannelDraft" get: security: - oauth_2_0: - "view_channels:{projectKey}" - "view_products:{projectKey}" operationId: ByProjectKeyChannelsGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ChannelPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_channels:{projectKey}" - "view_products:{projectKey}" operationId: ByProjectKeyChannelsHead description: |- Checks if one or more Channels exist for the provided query predicate. Returns a `200` status if any Channels match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_channels:{projectKey}" - "manage_products:{projectKey}" operationId: ByProjectKeyChannelsPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ChannelDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Channel' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/channels/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_channels:{projectKey}" - "view_products:{projectKey}" operationId: ByProjectKeyChannelsKeyByKeyGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Channel' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_channels:{projectKey}" - "view_products:{projectKey}" operationId: ByProjectKeyChannelsKeyByKeyHead description: |- Checks if a Channel exists with the provided `key`. Returns a `200` status if the Channel exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_channels:{projectKey}" - "manage_products:{projectKey}" operationId: ByProjectKeyChannelsKeyByKeyPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ChannelUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Channel' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_channels:{projectKey}" - "manage_products:{projectKey}" operationId: ByProjectKeyChannelsKeyByKeyDelete description: |- If the Channel is referenced by a resource, a [ReferenceExists](ctp:api:type:ReferenceExistsError) error is returned. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Channel' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/channels/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_channels:{projectKey}" - "view_products:{projectKey}" operationId: ByProjectKeyChannelsByIDGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Channel' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_channels:{projectKey}" - "view_products:{projectKey}" operationId: ByProjectKeyChannelsByIDHead description: |- Checks if a Channel exists with the provided `id`. Returns a `200` status if the Channel exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_channels:{projectKey}" - "manage_products:{projectKey}" operationId: ByProjectKeyChannelsByIDPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ChannelUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Channel' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_channels:{projectKey}" - "manage_products:{projectKey}" operationId: ByProjectKeyChannelsByIDDelete description: |- If the Channel is referenced by a resource, a [ReferenceExists](ctp:api:type:ReferenceExistsError) error is returned. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Channel' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/custom-objects: description: |- Store custom JSON values. parameters: - name: projectKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_products:{projectKey}" - "view_orders:{projectKey}" - "view_customers:{projectKey}" - "view_key_value_documents:{projectKey}" operationId: ByProjectKeyCustomObjectsGet description: |- For performance reasons, it is highly advisable to query for Custom Objects in a container by using the `container` field in the `where` predicate. This endpoint is deprecated and replaced by the [Query CustomObjects in Container](ctp:api:endpoint:/{projectKey}/custom-objects/{container}:GET) endpoint. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true x-markDeprecated: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CustomObjectPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" - "view_orders:{projectKey}" - "view_customers:{projectKey}" - "view_key_value_documents:{projectKey}" operationId: ByProjectKeyCustomObjectsHead description: |- Checks if one or more CustomObjects exist for the provided query predicate. Returns a `200` status if any CustomObjects match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_products:{projectKey}" - "manage_orders:{projectKey}" - "manage_customers:{projectKey}" - "manage_key_value_documents:{projectKey}" operationId: ByProjectKeyCustomObjectsPost description: |- If an object with the given container/key exists, the object will be replaced with the new value and the version is incremented. If the request contains a version and an object with the given container/key, then the version must match the version of the existing object. Concurrent updates to the same Custom Object returns a [ConcurrentModification](ctp:api:type:ConcurrentModificationError) error even if the version is not provided. Fields within `value` that have `null` values **are not saved**. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomObjectDraft' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CustomObject' "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/CustomObject' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/custom-objects/{container}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: container in: path required: true schema: type: "string" x-annotation-methodName: "withContainer" get: security: - oauth_2_0: - "view_products:{projectKey}" - "view_orders:{projectKey}" - "view_customers:{projectKey}" - "view_key_value_documents:{projectKey}" operationId: ByProjectKeyCustomObjectsByContainerGet parameters: - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CustomObjectPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/custom-objects/{container}/{key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: container in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withContainerAndKey" get: security: - oauth_2_0: - "view_products:{projectKey}" - "view_orders:{projectKey}" - "view_customers:{projectKey}" - "view_key_value_documents:{projectKey}" operationId: ByProjectKeyCustomObjectsByContainerByKeyGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CustomObject' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_products:{projectKey}" - "manage_orders:{projectKey}" - "manage_customers:{projectKey}" - "manage_key_value_documents:{projectKey}" operationId: ByProjectKeyCustomObjectsByContainerByKeyDelete parameters: - name: version in: query required: false style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CustomObject' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/customer-groups: description: |- customer-groups are used to evaluate products and channels. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "CustomerGroup" x-annotation-deleteable: "CustomerGroup" x-annotation-createable: "CustomerGroupDraft" get: security: - oauth_2_0: - "view_customers:{projectKey}" - "view_customer_groups:{projectKey}" operationId: ByProjectKeyCustomerGroupsGet parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CustomerGroupPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_customers:{projectKey}" - "view_customer_groups:{projectKey}" operationId: ByProjectKeyCustomerGroupsHead description: |- Checks if one or more CustomerGroups exist for the provided query predicate. Returns a `200` status if any CustomerGroup match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_customers:{projectKey}" - "manage_customer_groups:{projectKey}" operationId: ByProjectKeyCustomerGroupsPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerGroupDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/CustomerGroup' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/customer-groups/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_customers:{projectKey}" - "view_customer_groups:{projectKey}" operationId: ByProjectKeyCustomerGroupsKeyByKeyGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CustomerGroup' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_customers:{projectKey}" - "view_customer_groups:{projectKey}" operationId: ByProjectKeyCustomerGroupsKeyByKeyHead description: |- Checks if a CustomerGroup exists with the provided `key`. Returns a `200` status if the CustomerGroup exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_customers:{projectKey}" - "manage_customer_groups:{projectKey}" operationId: ByProjectKeyCustomerGroupsKeyByKeyPost description: |- parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerGroupUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CustomerGroup' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_customers:{projectKey}" - "manage_customer_groups:{projectKey}" operationId: ByProjectKeyCustomerGroupsKeyByKeyDelete parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CustomerGroup' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/customer-groups/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_customers:{projectKey}" - "view_customer_groups:{projectKey}" operationId: ByProjectKeyCustomerGroupsByIDGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CustomerGroup' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_customers:{projectKey}" - "view_customer_groups:{projectKey}" operationId: ByProjectKeyCustomerGroupsByIDHead description: |- Checks if a CustomerGroup exists with the provided `id`. Returns a `200` status if the CustomerGroup exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_customers:{projectKey}" - "manage_customer_groups:{projectKey}" operationId: ByProjectKeyCustomerGroupsByIDPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerGroupUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CustomerGroup' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_customers:{projectKey}" - "manage_customer_groups:{projectKey}" operationId: ByProjectKeyCustomerGroupsByIDDelete parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CustomerGroup' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/customers: description: |- A Customer is a person purchasing products. Carts, Orders, Quotes, Reviews and Payments can be associated to a Customer. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "Customer" x-annotation-deleteable: "Customer" x-annotation-createable: "CustomerDraft" get: security: - oauth_2_0: - "view_customers:{projectKey}" operationId: ByProjectKeyCustomersGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CustomerPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_customers:{projectKey}" operationId: ByProjectKeyCustomersHead description: |- Checks if one or more Customers exist for the provided query predicate. Returns a `200` status if any Customers match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_customers:{projectKey}" operationId: ByProjectKeyCustomersPost description: |- Allows converting an anonymous Cart to the active Cart of a Customer with [cart merge](/api/customers-overview#cart-merge-during-sign-in-and-sign-up). Creating a Customer produces the [CustomerCreated](ctp:api:type:CustomerCreatedMessage) Message. Simultaneously creating two Customers with the same email address can return a [LockedField](ctp:api:type:LockedFieldError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/CustomerSignInResult' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/customers/email-token: parameters: - name: projectKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_customers:{projectKey}" operationId: ByProjectKeyCustomersEmailTokenPost description: |- Use this method to create an email token for a global Customer during their [email verification process](/api/customers-overview#customer-email-verification). Creating an email token for the Customer produces the [CustomerEmailTokenCreated](ctp:api:type:CustomerEmailTokenCreatedMessage) Message. The Message will include the token's value, if the token's validity is 60 minutes or less. requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerCreateEmailToken' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CustomerToken' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/customers/email-token={emailToken}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: emailToken in: path required: true schema: type: "string" x-annotation-methodName: "withEmailToken" get: security: - oauth_2_0: - "view_customers:{projectKey}" operationId: ByProjectKeyCustomersEmailTokenByEmailTokenGet description: |- Use this method to retrieve a global Customer's details by using the email token during their [email verification process](/api/customers-overview#customer-email-verification). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Customer' "400": $ref: '#/components/responses/errorable_400' "404": $ref: '#/components/responses/errorable_404' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/customers/email/confirm: parameters: - name: projectKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_customers:{projectKey}" operationId: ByProjectKeyCustomersEmailConfirmPost description: |- Use this method to verify a global Customer's email during their [email verification process](/api/customers-overview#customer-email-verification). Verifying the email of the Customer produces the [CustomerEmailVerified](ctp:api:type:CustomerEmailVerifiedMessage) Message. After the email is verified, all email tokens issued previously through the [email verification flow](/api/projects/customers#email-verification-of-customer) are invalidated. This invalidation of tokens is [eventually consistent](/api/general-concepts#eventual-consistency). requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerEmailVerify' responses: "200": description: |- The email was verified. content: application/json: schema: $ref: '#/components/schemas/Customer' "400": $ref: '#/components/responses/errorable_400' "404": $ref: '#/components/responses/errorable_404' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/customers/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_customers:{projectKey}" operationId: ByProjectKeyCustomersKeyByKeyGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Customer' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_customers:{projectKey}" operationId: ByProjectKeyCustomersKeyByKeyHead description: |- Checks if a Customer exists with the provided `key`. Returns a `200` status if the Customer exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_customers:{projectKey}" operationId: ByProjectKeyCustomersKeyByKeyPost description: |- Simultaneously updating two Customers with the same email address can return a [LockedField](ctp:api:type:LockedFieldError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Customer' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_customers:{projectKey}" operationId: ByProjectKeyCustomersKeyByKeyDelete description: |- Deleting a Customer produces the [CustomerDeleted](ctp:api:type:CustomerDeletedMessage) Message. parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Customer' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/customers/password: parameters: - name: projectKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_customers:{projectKey}" operationId: ByProjectKeyCustomersPasswordPost description: |- Changing the password produces the [CustomerPasswordUpdated](ctp:api:type:CustomerPasswordUpdatedMessage) Message with `reset=false`. requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerChangePassword' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Customer' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/customers/password-token: description: |- Produces the [CustomerPasswordTokenCreated](ctp:api:type:CustomerPasswordTokenCreatedMessage) Message. parameters: - name: projectKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_customers:{projectKey}" operationId: ByProjectKeyCustomersPasswordTokenPost description: |- Use this method to create a password reset token for a global Customer during their [password reset process](/api/customers-overview#customer-password-reset). Creating a password reset token for the Customer produces the [CustomerPasswordTokenCreated](ctp:api:type:CustomerPasswordTokenCreatedMessage) Message. The Message will include the token's value, if the token's validity is 60 minutes or less. requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerCreatePasswordResetToken' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CustomerToken' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/customers/password-token={passwordToken}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: passwordToken in: path required: true schema: type: "string" x-annotation-methodName: "withPasswordToken" get: security: - oauth_2_0: - "view_customers:{projectKey}" operationId: ByProjectKeyCustomersPasswordTokenByPasswordTokenGet description: |- Use this method to retrieve the details of a global Customer by using the password token during their [password reset process](/api/customers-overview#customer-password-reset). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Customer' "400": $ref: '#/components/responses/errorable_400' "404": $ref: '#/components/responses/errorable_404' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/customers/password/reset: parameters: - name: projectKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_customers:{projectKey}" operationId: ByProjectKeyCustomersPasswordResetPost description: |- Use this method to reset a global Customer's password during their [password reset process](/api/customers-overview#customer-password-reset). Resetting the password of the Customer produces the [CustomerPasswordUpdated](ctp:api:type:CustomerPasswordUpdatedMessage) Message with `reset=true`. After the password is reset, all password tokens issued previously through the [password reset flow](/api/projects/customers#password-reset-of-customer) are invalidated. In addition, any access and refresh tokens issued previously through the [password flow](/api/authorization#password-flow) and [refresh token flow](/api/authorization#refresh-token-flow) are invalidated. This invalidation of tokens is [eventually consistent](/api/general-concepts#eventual-consistency). requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerResetPassword' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Customer' "400": $ref: '#/components/responses/errorable_400' "404": $ref: '#/components/responses/errorable_404' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/customers/search: description: |- This endpoint provides high-performance search queries over Customers. parameters: - name: projectKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "view_customers:{projectKey}" operationId: ByProjectKeyCustomersSearchPost description: |- If the initial indexing is in progress or the feature is inactive, a [SearchNotReady](ctp:api:type:SearchNotReadyError) error is returned. If inactive, you can [reactivate](/api/projects/customer-search#reactivate) it. requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerSearchRequest' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CustomerPagedSearchResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_customers:{projectKey}" operationId: ByProjectKeyCustomersSearchHead description: |- Checks whether a search index of Customers exists for a Project. Returns a `200 OK` if an index exists; otherwise, returns a `409 Conflict`. responses: "200": description: |- A search index exists and the [Search Customers](ctp:api:endpoint:/{projectKey}/customers/search:POST) endpoint is fully operational. content: {} "409": description: |- A search index does not exist and the [Search Customers](ctp:api:endpoint:/{projectKey}/customers/search:POST) endpoint returns a 409 error. content: {} "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/customers/search/indexing-status: parameters: - name: projectKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_project_settings:{projectKey}" operationId: ByProjectKeyCustomersSearchIndexingStatusGet description: |- Returns the indexing status of the Customer Search for a Project. responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CustomerSearchIndexingStatusResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/customers/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_customers:{projectKey}" operationId: ByProjectKeyCustomersByIDGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Customer' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_customers:{projectKey}" operationId: ByProjectKeyCustomersByIDHead description: |- Checks if a Customer exists with the provided `id`. Returns a `200` status if the Customer exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_customers:{projectKey}" operationId: ByProjectKeyCustomersByIDPost description: |- Simultaneously updating two Customers with the same email address can return a [LockedField](ctp:api:type:LockedFieldError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Customer' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_customers:{projectKey}" operationId: ByProjectKeyCustomersByIDDelete description: |- Deleting a Customer produces the [CustomerDeleted](ctp:api:type:CustomerDeletedMessage) Message. parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Customer' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/discount-codes: description: |- Discount Codes can be added to a discount-code to enable certain discount-code discounts. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "DiscountCode" x-annotation-deleteable: "DiscountCode" x-annotation-createable: "DiscountCodeDraft" get: security: - oauth_2_0: - "view_discount_codes:{projectKey}" operationId: ByProjectKeyDiscountCodesGet description: |- Deprecated OAuth 2.0 Scope: `view_orders:{projectKey}` parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/DiscountCodePagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_discount_codes:{projectKey}" operationId: ByProjectKeyDiscountCodesHead description: |- Checks if one or more DiscountCodes exist for the provided query predicate. Returns a `200` status if any DiscountCodes match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_discount_codes:{projectKey}" operationId: ByProjectKeyDiscountCodesPost description: |- Creating a Discount Code produces the [DiscountCodeCreated](ctp:api:type:DiscountCodeCreatedMessage) Message. Deprecated OAuth 2.0 Scope: `manage_orders:{projectKey}` parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/DiscountCodeDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/DiscountCode' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/discount-codes/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - " view_discount_codes:{projectKey}" operationId: ByProjectKeyDiscountCodesKeyByKeyGet description: |- Deprecated OAuth 2.0 Scope: `view_orders:{projectKey}` parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/DiscountCode' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_discount_codes:{projectKey}" operationId: ByProjectKeyDiscountCodesKeyByKeyHead description: |- Checks if a DiscountCode exists with the provided `key`. Returns a `200` status if the DiscountCode exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_discount_codes:{projectKey}" operationId: ByProjectKeyDiscountCodesKeyByKeyPost description: |- Deprecated OAuth 2.0 Scope: `manage_orders:{projectKey}` parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/DiscountCodeUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/DiscountCode' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_discount_codes:{projectKey}" operationId: ByProjectKeyDiscountCodesKeyByKeyDelete description: |- Deleting a Discount Code produces the [DiscountCodeDeleted](ctp:api:type:DiscountCodeDeletedMessage) Message. Deprecated OAuth 2.0 Scope: `manage_orders:{projectKey}` parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/DiscountCode' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/discount-codes/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - " view_discount_codes:{projectKey}" operationId: ByProjectKeyDiscountCodesByIDGet description: |- Deprecated OAuth 2.0 Scope: `view_orders:{projectKey}` parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/DiscountCode' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_discount_codes:{projectKey}" operationId: ByProjectKeyDiscountCodesByIDHead description: |- Checks if a DiscountCode exists with the provided `id`. Returns a `200` status if the DiscountCode exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_discount_codes:{projectKey}" operationId: ByProjectKeyDiscountCodesByIDPost description: |- Deprecated OAuth 2.0 Scope: `manage_orders:{projectKey}` parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/DiscountCodeUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/DiscountCode' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_discount_codes:{projectKey}" operationId: ByProjectKeyDiscountCodesByIDDelete description: |- Deleting a Discount Code produces the [DiscountCodeDeleted](ctp:api:type:DiscountCodeDeletedMessage) Message. Deprecated OAuth 2.0 Scope: `manage_orders:{projectKey}` parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/DiscountCode' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/discount-groups: description: |- Discount groups are used to group the discounts that are applied to a cart or an order. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "DiscountGroup" x-annotation-deleteable: "DiscountGroup" x-annotation-createable: "DiscountGroupDraft" get: security: - oauth_2_0: - "view_cart_discounts:{projectKey}" operationId: ByProjectKeyDiscountGroupsGet description: |- Retrieves all DiscountGroups in the Project. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/DiscountGroupPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_cart_discounts:{projectKey}" operationId: ByProjectKeyDiscountGroupsHead description: |- Checks if one or more DiscountGroups exist for the provided query predicate. Returns a `200` status if any DiscountGroups match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_cart_discounts:{projectKey}" operationId: ByProjectKeyDiscountGroupsPost description: |- Creates a DiscountGroup in the Project. This request generates the [DiscountGroupCreated](ctp:api:type:DiscountGroupCreatedMessage) Message. If the [limit](/api/limits#discount-groups) for active Discount Groups has been reached, a [MaxDiscountGroupsReached](ctp:api:type:MaxDiscountGroupsReachedError) error is returned. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/DiscountGroupDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/DiscountGroup' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/discount-groups/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_cart_discounts:{projectKey}" operationId: ByProjectKeyDiscountGroupsKeyByKeyGet description: |- Retrieves a DiscountGroup with the provided `key`. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/DiscountGroup' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_cart_discounts:{projectKey}" operationId: ByProjectKeyDiscountGroupsKeyByKeyHead description: |- Checks if a DiscountGroup exists with the provided `key`. Returns a `200` status if a DiscountGroup exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_cart_discounts:{projectKey}" operationId: ByProjectKeyDiscountGroupsKeyByKeyPost description: |- Updates a DiscountGroup in the Project using one or more [update actions](/api/projects/discount-groups#update-actions). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/DiscountGroupUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/DiscountGroup' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_cart_discounts:{projectKey}" operationId: ByProjectKeyDiscountGroupsKeyByKeyDelete description: |- Deletes a DiscountGroup in the Project. This request generates the [DiscountGroupDeleted](ctp:api:type:DiscountGroupDeletedMessage) Message. If the DiscountGroup is referenced by a CartDiscount, a [ReferenceExists](ctp:api:type:ReferenceExistsError) error is returned. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/DiscountGroup' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/discount-groups/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_cart_discounts:{projectKey}" operationId: ByProjectKeyDiscountGroupsByIDGet description: |- Retrieves a DiscountGroup with the provided `id`. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/DiscountGroup' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_cart_discounts:{projectKey}" operationId: ByProjectKeyDiscountGroupsByIDHead description: |- Checks if a DiscountGroup exists with the provided `id`. Returns a `200` status if a DiscountGroup exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_cart_discounts:{projectKey}" operationId: ByProjectKeyDiscountGroupsByIDPost description: |- Updates a DiscountGroup in the Project using one or more [update actions](/api/projects/discount-groups#update-actions). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/DiscountGroupUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/DiscountGroup' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_cart_discounts:{projectKey}" operationId: ByProjectKeyDiscountGroupsByIDDelete description: |- Deletes a DiscountGroup in the Project. This request generates the [DiscountGroupDeleted](ctp:api:type:DiscountGroupDeletedMessage) Message. If the DiscountGroup is referenced by a CartDiscount, a [ReferenceExists](ctp:api:type:ReferenceExistsError) error is returned. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/DiscountGroup' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/extensions: description: |- Extend the behavior of an API with your business logic parameters: - name: projectKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "manage_extensions:{projectKey}" operationId: ByProjectKeyExtensionsGet parameters: - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ExtensionPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_extensions:{projectKey}" operationId: ByProjectKeyExtensionsHead description: |- Checks if one or more Extensions exist for the provided query predicate. Returns a `200` status if any Extensions match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' "200": description: |- 200 content: {} post: security: - oauth_2_0: - "manage_extensions:{projectKey}" operationId: ByProjectKeyExtensionsPost requestBody: content: application/json: schema: $ref: '#/components/schemas/ExtensionDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Extension' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/extensions/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "manage_extensions:{projectKey}" operationId: ByProjectKeyExtensionsKeyByKeyGet responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Extension' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_extensions:{projectKey}" operationId: ByProjectKeyExtensionsKeyByKeyHead description: |- Checks if an Extension exists with the provided `key`. Returns a `200` status if the Extension exists, or a `404` status otherwise. responses: "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' "200": description: |- 200 content: {} post: security: - oauth_2_0: - "manage_extensions:{projectKey}" operationId: ByProjectKeyExtensionsKeyByKeyPost requestBody: content: application/json: schema: $ref: '#/components/schemas/ExtensionUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Extension' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_extensions:{projectKey}" operationId: ByProjectKeyExtensionsKeyByKeyDelete parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Extension' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/extensions/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "manage_extensions:{projectKey}" operationId: ByProjectKeyExtensionsByIDGet responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Extension' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_extensions:{projectKey}" operationId: ByProjectKeyExtensionsByIDHead description: |- Checks if an Extension exists with the provided `id`. Returns a `200` status if the Extension exists, or a `404` status otherwise. responses: "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' "200": description: |- 200 content: {} post: security: - oauth_2_0: - "manage_extensions:{projectKey}" operationId: ByProjectKeyExtensionsByIDPost requestBody: content: application/json: schema: $ref: '#/components/schemas/ExtensionUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Extension' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_extensions:{projectKey}" operationId: ByProjectKeyExtensionsByIDDelete parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Extension' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/graphql: description: |- commercetools Composable Commerce provides a GraphQL API parameters: - name: projectKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "view_products:{projectKey}" operationId: ByProjectKeyGraphqlPost description: |- Execute a GraphQL request. requestBody: content: application/json: schema: $ref: '#/components/schemas/GraphQLRequest' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/GraphQLResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-business-unit/key={businessUnitKey}/me/customers: parameters: - name: projectKey in: path required: true schema: type: "string" - name: businessUnitKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_my_business_units:{projectKey}" operationId: ByProjectKeyInBusinessUnitKeyByBusinessUnitKeyMeCustomersPost description: |- The My Business Unit endpoint does not support assigning existing Customers to a Business Unit. Associates with the `UpdateAssociates` [Permission](ctp:api:type:Permission) can use this endpoint to create a new Customer and associate it with the Business Unit. If the required [Permission](ctp:api:type:Permission) is missing, an [AssociateMissingPermission](ctp:api:type:AssociateMissingPermissionError) error is returned. requestBody: content: application/json: schema: $ref: '#/components/schemas/MyBusinessUnitAssociateDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/CustomerSignInResult' /{projectKey}/in-store/key={storeKey}/business-units: description: |- A Business Unit can represent a Company or a Division. parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" x-annotation-updateable: "BusinessUnit" x-annotation-deleteable: "BusinessUnit" x-annotation-createable: "BusinessUnitDraft" get: security: - oauth_2_0: - "view_business_units:{projectKey}" - "view_business_units:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/BusinessUnitPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_business_units:{projectKey}" - "view_business_units:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsHead description: |- Checks if one or more BusinessUnits exist for the provided query predicate. Returns a `200` status if any BusinessUnits match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_business_units:{projectKey}" - "manage_business_units:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/BusinessUnitDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/BusinessUnit' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/business-units/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_business_units:{projectKey}" - "view_business_units:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsKeyByKeyGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/BusinessUnit' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_business_units:{projectKey}" - "view_business_units:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsKeyByKeyHead description: |- Checks if a BusinessUnit exists with the provided `key`. Returns a `200` status if the BusinessUnit exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_business_units:{projectKey}" - "manage_business_units:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsKeyByKeyPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/BusinessUnitUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/BusinessUnit' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_business_units:{projectKey}" - "manage_business_units:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsKeyByKeyDelete parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/BusinessUnit' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/business-units/key={key}/associates/{associateId}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" - name: associateId in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_business_units:{projectKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsKeyByKeyAssociatesByAssociateIdGet description: |- Retrieves roles and permissions of an Associate in a Business Unit in a Store. responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/BusinessUnitAssociateResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/business-units/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_business_units:{projectKey}" - "view_business_units:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsByIDGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/BusinessUnit' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_business_units:{projectKey}" - "view_business_units:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsByIDHead description: |- Checks if a BusinessUnit exists with the provided `id`. Returns a `200` status if the BusinessUnit exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_business_units:{projectKey}" - "manage_business_units:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsByIDPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/BusinessUnitUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/BusinessUnit' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_business_units:{projectKey}" - "manage_business_units:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsByIDDelete parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/BusinessUnit' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/business-units/{businessUnitId}/associates/{associateId}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: businessUnitId in: path required: true schema: type: "string" - name: associateId in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_business_units:{projectKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyBusinessUnitsByBusinessUnitIdAssociatesByAssociateIdGet description: |- Retrieves roles and permissions of an Associate in a Business Unit in a Store. responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/BusinessUnitAssociateResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/cart-discounts: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_orders:{projectKey}:{storeKey}" - "view_cart_discounts:{projectKey}" - "view_cart_discounts:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCartDiscountsGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CartDiscountPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_orders:{projectKey}:{storeKey}" - "view_cart_discounts:{projectKey}" - "view_cart_discounts:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCartDiscountsHead description: |- Checks if one or more CartDiscounts exist for the provided query predicate. Returns a `200` status if any CartDiscounts match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_orders:{projectKey}" - "manage_orders:{projectKey}:{storeKey}" - "manage_cart_discounts:{projectKey}" - "manage_cart_discounts:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCartDiscountsPost description: |- When using the endpoint, the Store specified in the path and the Stores specified in the payload's `stores` field are added to the CartDiscount. Creating a Cart Discount produces the [CartDiscountCreated](ctp:api:type:CartDiscountCreatedMessage) Message. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CartDiscountDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/CartDiscount' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/cart-discounts/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_orders:{projectKey}:{storeKey}" - "view_cart_discounts:{projectKey}" - "view_cart_discounts:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCartDiscountsKeyByKeyGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CartDiscount' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_orders:{projectKey}:{storeKey}" - "view_cart_discounts:{projectKey}" - "view_cart_discounts:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCartDiscountsKeyByKeyHead description: |- Checks if a CartDiscount exists with the provided `key`. Returns a `200` status if the CartDiscount exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_orders:{projectKey}" - "manage_orders:{projectKey}:{storeKey}" - "manage_cart_discounts:{projectKey}" - "manage_cart_discounts:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCartDiscountsKeyByKeyPost description: |- To update a CartDiscount, you must have permissions for all Stores the CartDiscount is associated with, except when [removing a Store](ctp:api:type:CartDiscountRemoveStoreAction). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CartDiscountUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CartDiscount' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_orders:{projectKey}" - "manage_orders:{projectKey}:{storeKey}" - "manage_cart_discounts:{projectKey}" - "manage_cart_discounts:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCartDiscountsKeyByKeyDelete description: |- To delete a CartDiscount, specify the `manage_cart_discounts:{projectKey}:{storeKey}` scope for all Stores associated with the CartDiscount. Deleting a Cart Discount produces the [CartDiscountDeleted](ctp:api:type:CartDiscountDeletedMessage) Message. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CartDiscount' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/cart-discounts/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_orders:{projectKey}:{storeKey}" - "view_cart_discounts:{projectKey}" - "view_cart_discounts:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCartDiscountsByIDGet description: |- parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CartDiscount' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_orders:{projectKey}:{storeKey}" - "view_cart_discounts:{projectKey}" - "view_cart_discounts:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCartDiscountsByIDHead description: |- Checks if a CartDiscount exists with the provided `id`. Returns a `200` status if the CartDiscount exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_orders:{projectKey}" - "manage_orders:{projectKey}:{storeKey}" - "manage_cart_discounts:{projectKey}" - "manage_cart_discounts:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCartDiscountsByIDPost description: |- To update a CartDiscount, you must have permissions for all Stores the CartDiscount is associated with, except when [removing a Store](ctp:api:type:CartDiscountRemoveStoreAction). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CartDiscountUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CartDiscount' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_orders:{projectKey}" - "manage_orders:{projectKey}:{storeKey}" - "manage_cart_discounts:{projectKey}" - "manage_cart_discounts:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCartDiscountsByIDDelete description: |- To delete a CartDiscount, specify the `manage_cart_discounts:{projectKey}:{storeKey}` scope for all Stores associated with the CartDiscount. Deleting a Cart Discount produces the [CartDiscountDeleted](ctp:api:type:CartDiscountDeletedMessage) Message. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CartDiscount' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/carts: description: |- A shopping cart holds product variants and can be ordered. parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" x-annotation-updateable: "Cart" x-annotation-deleteable: "Cart" x-annotation-createable: "CartDraft" get: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_orders:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCartsGet description: |- Retrieves Carts in a [Store](ctp:api:type:Store). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CartPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_orders:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCartsHead description: |- Checks if one or more Carts exist for the provided query predicate in a [Store](ctp:api:type:Store). Returns a `200` status if any Carts match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_orders:{projectKey}" - "manage_orders:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCartsPost description: |- Creates a Cart in a [Store](ctp:api:type:Store). Specific Error Codes: - [DiscountCodeNonApplicable](ctp:api:type:DiscountCodeNonApplicableError) - [InvalidItemShippingDetails](ctp:api:type:InvalidItemShippingDetailsError) - [MatchingPriceNotFound](ctp:api:type:MatchingPriceNotFoundError) - [MissingTaxRateForCountry](ctp:api:type:MissingTaxRateForCountryError) - [CountryNotConfiguredInStore](ctp:api:type:CountryNotConfiguredInStoreError) - [InvalidOperation](ctp:api:type:InvalidOperationError) is returned in several cases, including the following: - The referenced Shipping Method has a predicate that does not match the Cart. - The referenced Shipping Method is not active. - The referenced Shipping Method is scoped to a Store that differs from the Cart's Store. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CartDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Cart' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/carts/customer-id={customerId}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: customerId in: path required: true schema: type: "string" x-annotation-methodName: "withCustomerId" get: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_orders:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCartsCustomerIdByCustomerIdGet description: |- Retrieves the most recently modified [active Cart](ctp:api:type:CartState) of a Customer with [CartOrigin](ctp:api:type:CartOrigin) `Customer`. If no active Cart exists, this method returns a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error. If the Cart exists in the Project but does not have a `store` specified, or the `store` field references a different Store, this method returns a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error. To ensure the Cart is up-to-date with current values (such as Prices and Discounts), use the [Recalculate](ctp:api:type:CartRecalculateAction) update action. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Cart' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_orders:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCartsCustomerIdByCustomerIdHead description: |- Checks if one or more Carts exist for a Customer in a [Store](ctp:api:type:Store). Returns a `200` status if the Cart exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/carts/customer-id={customerId}/merge: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: customerId in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_orders:{projectKey}" - "manage_orders:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCartsCustomerIdByCustomerIdMergePost description: |- Merges items from an anonymous Cart into the most recently modified active Cart of a Customer. If no active Cart exists, the anonymous Cart becomes the Customer's active Cart. If the Cart exists in the Project but does not have a `store` specified, or the `store` field references a different Store, a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned. - [InvalidOperation](ctp:api:type:InvalidOperationError) is returned in several cases, including the following: - The referenced Shipping Method is not active. - The referenced Shipping Method is scoped to a Store that differs from the Cart's Store. - The referenced Shipping Method is scoped to a Store, but the Cart does not belong to a Store. For more information about merge mode behaviors, merge rules, and tax recalculation, see [Merge a Cart](/api/carts-orders-overview#merge-a-cart). requestBody: content: application/json: schema: $ref: '#/components/schemas/MergeCartDraft' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Cart' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/carts/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_orders:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCartsKeyByKeyGet description: |- Retrieves a Cart with the provided `key` in a [Store](ctp:api:type:Store). If the Cart exists in the Project but does not have a `store` specified, or the `store` field references a different Store, this method returns a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error. To ensure the Cart is up-to-date with current values (such as Prices and Discounts), use the [Recalculate](ctp:api:type:CartRecalculateAction) update action. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Cart' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_orders:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCartsKeyByKeyHead description: |- Checks if a Cart exists with the provided `key` in a [Store](ctp:api:type:Store). Returns a `200` status if the Cart exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_orders:{projectKey}" - "manage_orders:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCartsKeyByKeyPost description: |- Updates a Cart in a [Store](ctp:api:type:Store) using one or more [update actions](/api/projects/carts#update-actions). If the Cart exists in the Project but does not have a `store` specified, or the `store` field references a different Store, this method returns a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CartUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Cart' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_orders:{projectKey}" - "manage_orders:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCartsKeyByKeyDelete description: |- Deletes a Cart in a [Store](ctp:api:type:Store). If the Cart exists in the Project but does not have a `store` specified, or the `store` field references a different Store, this method returns a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error. parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Cart' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/carts/replicate: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_orders:{projectKey}:{storeKey}" - "manage_orders:{projectKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCartsReplicatePost description: |- Creates a new Cart in a [Store](ctp:api:type:Store) by replicating an existing Cart or Order. The following applies to the new Cart: - It contains the same Customer information, Line Items and Custom Line Items, Custom Fields, Discount Codes, and other settings of the originating Cart or Order. - If a Line Item becomes invalid, it is removed from the new Cart. A common reason for this is removed Products or Prices. - Line items and Custom Line Items are reset to their initial [state](/projects/carts#itemstate). - It contains no payments or delivery information. - It contains up-to-date Tax Rates, Prices, and Line Item product data. - The [CartState](ctp:api:type:CartState) is `Active`. - If using the `customerGroup` field (for a single Customer Group) and the referenced Customer switched to another Customer Group, the new Cart is automatically updated to reflect the new group and corresponding prices. - If using the `customerGroupAssignments` field (for multiple Customer Groups), the Cart no longer keeps a direct reference to a Customer Group. If a Customer’s group assignments change, the Cart and its Line Item prices are not updated automatically. Prices are only updated when the Cart is changed via a [direct update action](/projects/carts#update-actions). Specific Error Codes: - [MatchingPriceNotFound](ctp:api:type:MatchingPriceNotFoundError) - [MissingTaxRateForCountry](ctp:api:type:MissingTaxRateForCountryError) requestBody: content: application/json: schema: $ref: '#/components/schemas/ReplicaCartDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Cart' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/carts/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_orders:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCartsByIDGet description: |- Retrieves a Cart with the provided `id` in a [Store](ctp:api:type:Store). If the Cart exists in the Project but does not have a `store` specified, or the `store` field references a different Store, this method returns a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error. To ensure the Cart is up-to-date with current values (such as Prices and Discounts), use the [Recalculate](ctp:api:type:CartRecalculateAction) update action. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Cart' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_orders:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCartsByIDHead description: |- Checks if a Cart exists with the provided `id` in a Store. Returns a `200` status if the Cart exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_orders:{projectKey}" - "manage_orders:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCartsByIDPost description: |- Updates a Cart in a [Store](ctp:api:type:Store) using one or more [update actions](/api/projects/carts#update-actions). If the Cart exists in the Project but does not have a `store` specified, or the `store` field references a different Store, this method returns a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CartUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Cart' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_orders:{projectKey}" - "manage_orders:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCartsByIDDelete description: |- Deletes a Cart in a [Store](ctp:api:type:Store). If the Cart exists in the Project but does not have a `store` specified, or the `store` field references a different Store, this method returns a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error. parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Cart' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/customers: description: |- A Customer is a person purchasing products. Carts, Orders, Comments and Reviews can be associated to a Customer. parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" x-annotation-updateable: "Customer" x-annotation-deleteable: "Customer" x-annotation-createable: "CustomerDraft" get: security: - oauth_2_0: - "view_customers:{projectKey}" - "view_customers:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCustomersGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CustomerPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_customers:{projectKey}" - "view_customers:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCustomersHead description: |- Checks if one or more Customers exist for the provided query predicate. Returns a `200` status if any Customers match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_customers:{projectKey}" - "manage_customers:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCustomersPost description: |- When using this endpoint, if omitted, the Customer `stores` field is set to the [Store](ctp:api:type:Store) specified in the path parameter. If a Cart with a `store` field specified, the `store` field must reference the same [Store](ctp:api:type:Store) specified in the `{storeKey}` path parameter. Allows converting an anonymous Cart to the active Cart of a Customer with [cart merge](/api/customers-overview#cart-merge-during-sign-in-and-sign-up). If the Customer has multiple active Carts, the anonymous Cart is merged into the most recently modified active Cart. Creating a Customer produces the [CustomerCreated](ctp:api:type:CustomerCreatedMessage) Message. Simultaneously creating two Customers with the same email address can return a [LockedField](ctp:api:type:LockedFieldError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/CustomerSignInResult' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/customers/email-token: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_customers:{projectKey}" - "manage_customers:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCustomersEmailTokenPost description: |- Use this method to create an email token for a Store-specific Customer during their [email verification process](/api/customers-overview#customer-email-verification). If the Customer exists in the Project but the `stores` field references a different Store, this method returns a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error. Creating an email token for the Customer produces the [CustomerEmailTokenCreated](ctp:api:type:CustomerEmailTokenCreatedMessage) Message. The Message will include the token's value, if the token's validity is 60 minutes or less. requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerCreateEmailToken' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CustomerToken' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/customers/email-token={emailToken}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: emailToken in: path required: true schema: type: "string" x-annotation-methodName: "withEmailToken" get: security: - oauth_2_0: - "view_customers:{projectKey}" - "view_customers:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCustomersEmailTokenByEmailTokenGet description: |- Use this method to retrieve a Store-specific Customer's details by using the email token during their [email verification process](/api/customers-overview#customer-email-verification). If the Customer exists in the Project but the `stores` field references a different [Store](ctp:api:type:Store), this method returns a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Customer' "400": $ref: '#/components/responses/errorable_400' "404": $ref: '#/components/responses/errorable_404' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/customers/email/confirm: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_customers:{projectKey}" - "manage_customers:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCustomersEmailConfirmPost description: |- Use this method to verify a Store-specific Customer's email during their [email verification process](/api/customers-overview#customer-email-verification). Verifying the email of the Customer produces the [CustomerEmailVerified](ctp:api:type:CustomerEmailVerifiedMessage) Message. If the Customer exists in the Project but the `stores` field references a different [Store](ctp:api:type:Store), this method returns a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error. After the email is verified, all email tokens issued previously through the [email verification flow](/api/projects/customers#email-verification-of-customer) are invalidated. This invalidation of tokens is [eventually consistent](/api/general-concepts#eventual-consistency). requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerEmailVerify' responses: "200": description: |- The email was verified. content: application/json: schema: $ref: '#/components/schemas/Customer' "400": $ref: '#/components/responses/errorable_400' "404": $ref: '#/components/responses/errorable_404' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/customers/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_customers:{projectKey}" - "view_customers:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCustomersKeyByKeyGet description: |- If the Customer exists in the Project but the `stores` field references a different [Store](ctp:api:type:Store), this method returns a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Customer' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_customers:{projectKey}" - "view_customers:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCustomersKeyByKeyHead description: |- Checks if a Customer exists with the provided `key`. Returns a `200` status if the Customer exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_customers:{projectKey}" - "manage_customers:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCustomersKeyByKeyPost description: |- If the Customer exists in the Project but the `stores` field references a different Store, this method returns a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error. Simultaneously updating two Customers with the same email address can return a [LockedField](ctp:api:type:LockedFieldError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Customer' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_customers:{projectKey}" - "manage_customers:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCustomersKeyByKeyDelete description: |- Deleting a Customer produces the [CustomerDeleted](ctp:api:type:CustomerDeletedMessage) Message. If the Customer exists in the Project but the `stores` field references a different [Store](ctp:api:type:Store), this method returns a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error. parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Customer' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/customers/password: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_customers:{projectKey}" - "manage_customers:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCustomersPasswordPost description: |- Changing the password of the Customer produces the [CustomerPasswordUpdated](ctp:api:type:CustomerPasswordUpdatedMessage) Message with `reset=false`. requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerChangePassword' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Customer' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/customers/password-token: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_customers:{projectKey}" - "manage_customers:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCustomersPasswordTokenPost description: |- Use this method to create a password reset token for a Store-specific Customer during their [password reset process](/api/customers-overview#customer-password-reset). If the Customer exists in the Project but the `stores` field references a different Store, this method returns a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error. Creating a password reset token for the Customer produces the [CustomerPasswordTokenCreated](ctp:api:type:CustomerPasswordTokenCreatedMessage) Message. The Message will include the token's value, if the token's validity is 60 minutes or less. requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerCreatePasswordResetToken' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CustomerToken' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/customers/password-token={passwordToken}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: passwordToken in: path required: true schema: type: "string" x-annotation-methodName: "withPasswordToken" get: security: - oauth_2_0: - "view_customers:{projectKey}" - "view_customers:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCustomersPasswordTokenByPasswordTokenGet description: |- Use this method to retrieve a Store-specific Customer's details by using the password reset token during their [password reset process](/api/customers-overview#customer-password-reset). If the Customer exists in the Project but the `stores` field references a different Store, this method returns a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Customer' "400": $ref: '#/components/responses/errorable_400' "404": $ref: '#/components/responses/errorable_404' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/customers/password/reset: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_customers:{projectKey}" - "manage_customers:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCustomersPasswordResetPost description: |- Use this method to reset a Store-specific Customer's password during their [password reset process](/api/customers-overview#customer-password-reset). Resetting the password of the Customer produces the [CustomerPasswordUpdated](ctp:api:type:CustomerPasswordUpdatedMessage) Message with `reset=true`. After the password is reset, all password tokens issued previously through the [password reset flow](/api/projects/customers#password-reset-of-customer) are invalidated. In addition, any access and refresh tokens issued previously through the [password flow](/api/authorization#password-flow) and [refresh token flow](/api/authorization#refresh-token-flow) are invalidated. This invalidation of tokens is [eventually consistent](/api/general-concepts#eventual-consistency). If the Customer exists in the Project but the `stores` field references a different [Store](ctp:api:type:Store), then this method returns a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error. requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerResetPassword' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Customer' "400": $ref: '#/components/responses/errorable_400' "404": $ref: '#/components/responses/errorable_404' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/customers/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_customers:{projectKey}" - "view_customers:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCustomersByIDGet description: |- If the Customer exists in the Project but the `stores` field references a different Store, this method returns a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Customer' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_customers:{projectKey}" - "view_customers:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCustomersByIDHead description: |- Checks if a Customer exists with the provided `id`. Returns a `200` status if the Customer exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_customers:{projectKey}" - "manage_customers:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCustomersByIDPost description: |- If the Customer exists in the Project but the `stores` field references a different [Store](ctp:api:type:Store), this method returns a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error. Simultaneously updating two Customers with the same email address can return a [LockedField](ctp:api:type:LockedFieldError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Customer' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_customers:{projectKey}" - "manage_customers:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyCustomersByIDDelete description: |- Deleting a Customer produces the [CustomerDeleted](ctp:api:type:CustomerDeletedMessage) Message. If the Customer exists in the Project but the `stores` field references a different Store, this method returns a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error. parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Customer' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/discount-codes: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_discount_codes:{projectKey}" - "view_discount_codes:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyDiscountCodesGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/DiscountCodePagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_discount_codes:{projectKey}" - "view_discount_codes:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyDiscountCodesHead description: |- Checks if one or more DiscountCodes exist for the provided query predicate in a Store. Returns a `200` status if any DiscountCodes match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/discount-codes/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_discount_codes:{projectKey}" - "view_discount_codes:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyDiscountCodesKeyByKeyGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/DiscountCode' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_discount_codes:{projectKey}" - "view_discount_codes:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyDiscountCodesKeyByKeyHead description: |- Checks if a DiscountCode exists with the provided `key`. Returns a `200` status if the DiscountCode exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/discount-codes/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_discount_codes:{projectKey}" - "view_discount_codes:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyDiscountCodesByIDGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/DiscountCode' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_discount_codes:{projectKey}" - "view_discount_codes:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyDiscountCodesByIDHead description: |- Checks if a DiscountCode exists with the provided `id`. Returns a `200` status if the DiscountCode exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/login: description: |- Retrieves the authenticated customer. parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_customers:{projectKey}" - "manage_customers:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyLoginPost description: |- Authenticates a Customer associated with a [Store](ctp:api:type:Store). Allows [merging](/api/customers-overview#cart-merge-during-sign-in-and-sign-up) items from an anonymous Cart into the most recently modified active Cart of a Customer. If no active Cart exists, the anonymous Cart becomes the Customer's active Cart. If the Customer has multiple active Carts, the anonymous Cart is merged into the most recently modified active Cart. The anonymous Cart is not merged in any of the following cases: - The referenced Shipping Method is not active. - The referenced Shipping Method is scoped to a Store that differs from the Cart's Store. - The referenced Shipping Method is scoped to a Store, but the Cart does not belong to a Store. If the Customer exists in the Project but the `stores` field references a different [Store](ctp:api:type:Store), this method returns an [InvalidCredentials](ctp:api:type:InvalidCredentialsError) error. requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerSignin' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CustomerSignInResult' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/me: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "manage_my_profile:{projectKey}" - "manage_my_profile:{projectKey}:{storeKey}" - "customer_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMeGet description: |- Returns a Customer for a given Query Predicate in a [Store](ctp:api:type:Store). Returns a `200` status if successful. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no Customer exists in the Store for the given Query Predicate. - If a Customer exists in the Store for the given Query Predicate, but does not have an `id` value that matches the [customer:{id}](/scopes#internal-oauth) scope. - If a Customer exists for the given Query Predicate but is associated with a different Store than what is specified in the `manage_my_profile:{projectKey}:{storeKey}` scope. parameters: - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Customer' post: security: - oauth_2_0: - "manage_my_profile:{projectKey}" - "manage_my_profile:{projectKey}:{storeKey}" - "customer_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMePost description: |- Updates the Customer in a [Store](ctp:api:type:Store). Returns a `200` status if successful. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no Customer exists with the `id` specified in the [customer:{id}](/scopes#internal-oauth) scope. - If the Customer exists but is associated with a different Store than what is specified in the `manage_my_profile:{projectKey}:{storeKey}` scope. requestBody: content: application/json: schema: $ref: '#/components/schemas/MyCustomerUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Customer' delete: security: - oauth_2_0: - "manage_my_profile:{projectKey}" - "manage_my_profile:{projectKey}:{storeKey}" - "customer_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMeDelete description: |- Deletes the Customer in a [Store](ctp:api:type:Store). Returns a `200` status if successful. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no Customer exists with the `id` specified in the [customer:{id}](/scopes#internal-oauth) scope. - If the Customer exists but is associated with a different Store than what is specified in the `manage_my_profile:{projectKey}:{storeKey}` scope. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Customer' "409": $ref: '#/components/responses/conflicting_409' /{projectKey}/in-store/key={storeKey}/me/active-cart: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "manage_my_orders:{projectKey}" - "manage_my_orders:{projectKey}:{storeKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMeActiveCartGet description: |- Retrieves the Customer's most recently modified [active Cart](ctp:api:type:CartState) in a Store. Returns a `200` status if successful. Carts with `Merchant` or `Quote` [CartOrigin](ctp:api:type:CartOrigin) are ignored. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no active Cart exists. - If an active Cart exists but does not have a `store` specified, or the `store` field references a different Store. - If an active Cart exists but does not have a `customerId` that matches the [customer:{id}](/scopes#internal-oauth) scope, or `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Cart' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_my_orders:{projectKey}" - "manage_my_orders:{projectKey}:{storeKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMeActiveCartHead description: |- Checks if an active Cart exists in a Store. Returns `200 OK` status if successful. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no active Cart exists in a Store. - If an active Cart exists but does not have a `store` specified, or the `store` field references a different Store. - If an active Cart exists but does not contain a `customerId` that matches the [customer:{id}](/scopes#internal-oauth) scope, or `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope. responses: "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' "200": description: |- 200 content: {} /{projectKey}/in-store/key={storeKey}/me/carts: description: |- A shopping cart holds product variants and can be ordered. parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" x-annotation-updateable: "Cart" x-annotation-deleteable: "Cart" x-annotation-createable: "MyCartDraft" get: security: - oauth_2_0: - "manage_my_orders:{projectKey}" - "manage_my_orders:{projectKey}:{storeKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMeCartsGet description: |- Retrieves Carts for the authenticated Customer or anonymous user in a [Store](ctp:api:type:Store). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CartPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_my_orders:{projectKey}" - "manage_my_orders:{projectKey}:{storeKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMeCartsHead description: |- Checks if a Cart exists for a Store that matches the given Query Predicate, and contains a matching `customerId` or `anonymousId`. Returns a `200` status if any Carts match these conditions, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_my_orders:{projectKey}" - "manage_my_orders:{projectKey}:{storeKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMeCartsPost description: |- Creates a Cart in a Store for the Customer or anonymous user. The `customerId` or `anonymousId` field on the Cart is automatically set based on the [customer:{id}](/scopes#internal-oauth) or [anonymous_id:{id}](/scopes#internal-oauth) scope. The `store` field in the created [Cart](ctp:api:type:Cart) is set to the Store specified by the `storeKey` path parameter. Specific Error Codes: - [CountryNotConfiguredInStore](ctp:api:type:CountryNotConfiguredInStoreError) - [DiscountCodeNonApplicable](ctp:api:type:DiscountCodeNonApplicableError) - [InvalidItemShippingDetails](ctp:api:type:InvalidItemShippingDetailsError) - [MatchingPriceNotFound](ctp:api:type:MatchingPriceNotFoundError) - [MissingTaxRateForCountry](ctp:api:type:MissingTaxRateForCountryError) parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/MyCartDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Cart' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/me/carts/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "manage_my_orders:{projectKey}" - "manage_my_orders:{projectKey}:{storeKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMeCartsByIDGet description: |- Returns a Cart for a given `id` in a Store. Returns a `200` status if the Cart exists. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no Cart exists in the Store for the given `id`. - If the Cart exists but does not belong to a Store, or the Cart's `store` field references a different Store. - If the Cart exists but does not have either a `customerId` that matches the [customer:{id}](/scopes#internal-oauth) scope, or an `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Cart' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_my_orders:{projectKey}" - "manage_my_orders:{projectKey}:{storeKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMeCartsByIDHead responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_my_orders:{projectKey}" - "manage_my_orders:{projectKey}:{storeKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMeCartsByIDPost description: |- Updates the Cart for a given `id` in a Store. Returns a `200` status if successful. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no Cart exists in the Store for the given `id`. - If the Cart exists but does not belong to a Store, or the Cart's `store` field references a different Store. - If the Cart exists but does not have either a `customerId` that matches the [customer:{id}](/scopes#internal-oauth) scope, or an `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/MyCartUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Cart' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_my_orders:{projectKey}" - "manage_my_orders:{projectKey}:{storeKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMeCartsByIDDelete description: |- Deletes the Cart for a given `id` in a Store. Returns a `200` status if successful. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no Cart exists in the Store for the given `id`. - If the Cart exists in the Project but does not belong to a Store, or the Cart's `store` field references a different Store. - If the Cart exists in the Project but does not have either a `customerId` that matches the [customer:{id}](/scopes#internal-oauth) scope, or an `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Cart' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/me/email/confirm: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_my_profile:{projectKey}" - "manage_my_profile:{projectKey}:{storeKey}" - "customer_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMeEmailConfirmPost description: |- This is the last step in the [email verification process of a Customer](/api/projects/customers#email-verification-of-customer-in-store). Returns a `200` status if successful. After the email is verified, all email tokens issued previously through the [email verification flow](/api/projects/customers#email-verification-of-customer) are invalidated. This invalidation of tokens is [eventually consistent](/api/general-concepts#eventual-consistency). A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no Customer exists with the `id` specified in the [customer:{id}](/scopes#internal-oauth) scope. - If the Customer exists but is associated with a different Store than what is specified in the `manage_my_profile:{projectKey}:{storeKey}` scope. requestBody: content: application/json: schema: $ref: '#/components/schemas/MyCustomerEmailVerify' responses: "200": description: |- The email was verified. content: application/json: schema: $ref: '#/components/schemas/Customer' "400": $ref: '#/components/responses/errorable_400' "404": $ref: '#/components/responses/errorable_404' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/me/login: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_my_profile:{projectKey}" - "manage_my_profile:{projectKey}:{storeKey}" - "anonymous_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMeLoginPost description: |- Retrieves the authenticated Customer (that matches the given email/password pair) if they are part of a specific [Store](ctp:api:type:Store). If used with an optional [access token for an anonymous session](ctp:api:type:AnonymousSession), all Orders and Carts that belong to the `anonymousId` are assigned to the newly logged-in Customer. - If the Customer does not have a Cart, the most recently modified anonymous cart becomes the Customer's Cart. - If the Customer already has a Cart, the most recently modified anonymous cart is handled according to [AnonymousCartSignInMode](ctp:api:type:AnonymousCartSignInMode). If an account with the given credentials is not found, an [InvalidCredentials](ctp:api:type:InvalidCredentialsError) error is returned. requestBody: content: application/json: schema: $ref: '#/components/schemas/MyCustomerSignin' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CustomerSignInResult' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/me/orders: description: |- An order can be created from a order, usually after a checkout process has been completed. parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "manage_my_orders:{projectKey}" - "manage_my_orders:{projectKey}:{storeKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMeOrdersGet description: |- Retrieves Orders in a [Store](ctp:api:type:Store) for the authenticated Customer or anonymous user. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no Orders exist that match the provided query predicate. - If an Order exists but does not have a `customerId` that matches the [customer:{id}](/scopes#internal-oauth) scope, or `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/OrderPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_my_orders:{projectKey}" - "manage_my_orders:{projectKey}:{storeKey}" - "customer:{customerId}" - "anonymous_id:{anonymousId}" operationId: ByProjectKeyInStoreKeyByStoreKeyMeOrdersHead description: |- Checks if one or more Orders exist for the provided query predicate in a [Store](ctp:api:type:Store) for the authenticated Customer or anonymous user. Returns a `200` status if successful. A [Not Found](/api/errors#404-not-found) error is returned in the following scenarios: - If no Orders exist in the Store that match the Query Predicate. - If an Order matches the Query Predicate, but no `store` is specified, or the `store` field references a different Store. - If an Order matches the Query Predicate, but does not have a `customerId` that matches the [customer:{id}](/scopes#internal-oauth) scope, or an `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_my_orders:{projectKey}" - "manage_my_orders:{projectKey}:{storeKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMeOrdersPost description: |- Creates an Order from a Cart in a [Store](ctp:api:type:Store) for the Customer or anonymous user. The `customerId` or `anonymousId` field on the Order is automatically set based on the [customer:{id}](/scopes#internal-oauth) or [anonymous_id:{id}](/scopes#internal-oauth) scope. The Cart must have a shipping address set. When creating [B2B Orders](/associates-overview#b2b-resources), the Customer must have the `CreateMyOrdersFromMyCarts` [Permission](ctp:api:type:Permission). If the Cart's `customerId` does not match the [customer:{id}](/scopes#internal-oauth) scope, or the `anonymousId` does not match the [anonymous_id:{id}](/scopes#internal-oauth) scope, a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned. Creating an Order produces the [OrderCreated](ctp:api:type:OrderCreatedMessage) Message. Specific Error Codes: - [AssociateMissingPermission](ctp:api:type:AssociateMissingPermissionError) - [CountryNotConfiguredInStore](ctp:api:type:CountryNotConfiguredInStoreError) - [DiscountCodeNonApplicable](ctp:api:type:DiscountCodeNonApplicableError) - [InvalidItemShippingDetails](ctp:api:type:InvalidItemShippingDetailsError) - [MatchingPriceNotFound](ctp:api:type:MatchingPriceNotFoundError) - [MissingTaxRateForCountry](ctp:api:type:MissingTaxRateForCountryError) - [OutOfStock](ctp:api:type:OutOfStockError) - [PriceChanged](ctp:api:type:PriceChangedError) - [ShippingMethodDoesNotMatchCart](ctp:api:type:ShippingMethodDoesNotMatchCartError) parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/MyOrderFromCartDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Order' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/me/orders/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "manage_my_orders:{projectKey}" - "manage_my_orders:{projectKey}:{storeKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMeOrdersByIDGet description: |- Retrieves an Order with the provided `id` in a [Store](ctp:api:type:Store) for the authenticated Customer or anonymous user. Returns a `200` status if successful. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no Orders exists in the Store with the provided `id`. - If an Order exists but does not have a `store` specified, or the `store` field references a different Store. - If an Order exists but does not have a `customerId` that matches the [customer:{id}](/scopes#internal-oauth) scope, or `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Order' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_my_orders:{projectKey}" - "manage_my_orders:{projectKey}:{storeKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMeOrdersByIDHead description: |- Checks if an Order exists with the provided `id` in a [Store](ctp:api:type:Store) for the authenticated Customer or anonymous user. Returns a `200` status if successful. A [Not Found](/api/errors#404-not-found) error is returned in the following scenarios: - If no Order exists in the Store with the provided `id`. - If an Order exists but does not have a `store` specified, or the `store` field references a different Store. - If an Order exists but does not have a `customerId` that matches the [customer:{id}](/scopes#internal-oauth) scope, or `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/me/password: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_my_profile:{projectKey}" - "manage_my_profile:{projectKey}:{storeKey}" - "customer_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMePasswordPost description: |- Changing the password of the Customer produces the [CustomerPasswordUpdated](ctp:api:type:CustomerPasswordUpdatedMessage) Message with `reset=false`. Returns a `200` status if successful. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no Customer exists with the `id` specified in the [customer:{id}](/scopes#internal-oauth) scope. - If the Customer exists but is associated with a different Store than what is specified in the `manage_my_profile:{projectKey}:{storeKey}` scope. requestBody: content: application/json: schema: $ref: '#/components/schemas/MyCustomerChangePassword' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Customer' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/me/password/reset: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_my_profile:{projectKey}" - "manage_my_profile:{projectKey}:{storeKey}" - "customer_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMePasswordResetPost description: |- This is the last step in the [password reset process of the authenticated Customer](/api/projects/customers#password-reset-of-customer-in-store). Resetting a password produces the Customer [CustomerPasswordUpdated](ctp:api:type:CustomerPasswordUpdatedMessage) Message with `reset=true`. After the password is reset, all password tokens issued previously through the [password reset flow](/api/projects/customers#password-reset-of-customer) are invalidated. In addition, any access and refresh tokens issued previously through the [password flow](/api/authorization#password-flow) and [refresh token flow](/api/authorization#refresh-token-flow) are invalidated. This invalidation of tokens is [eventually consistent](/api/general-concepts#eventual-consistency). A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no Customer exists with the `id` specified in the [customer:{id}](/scopes#internal-oauth) scope. - If the Customer exists but is associated with a different Store than what is specified in the `manage_my_profile:{projectKey}:{storeKey}` scope. requestBody: content: application/json: schema: $ref: '#/components/schemas/MyCustomerResetPassword' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Customer' "400": $ref: '#/components/responses/errorable_400' "404": $ref: '#/components/responses/errorable_404' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/me/shopping-lists: description: |- shopping-lists e.g. for wishlist support parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "manage_my_shopping_lists:{projectKey}" - "manage_my_shopping_lists:{projectKey}:{storeKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMeShoppingListsGet description: |- Retrieves ShoppingLists for the authenticated Customer or anonymous user in a [Store](ctp:api:type:Store). Returns `200 OK` status if successful. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no ShoppingLists exist in a Store. - If a ShoppingList exists but does not have a `store` specified, or the `store` field references a different Store. - If a ShoppingList exists in a Store but does not contain either an `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope, or a `customer` with `id` value that matches the [customer:{id}](/scopes#internal-oauth) scope. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingListPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_my_shopping_lists:{projectKey}" - "manage_my_shopping_lists:{projectKey}:{storeKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMeShoppingListsHead description: |- Checks if one or more ShoppingLists exist for the provided query predicate for the authenticated Customer or anonymous user in a [Store](ctp:api:type:Store). Returns `200 OK` status if successful. A [Not Found](/api/errors#404-not-found) error is returned in the following scenarios: - If no ShoppingLists exist for the provided query predicate in a Store. - If a ShoppingList matches the query predicate but does not have a `store` specified, or the `store` field references a different Store. - If a ShoppingList exists in a Store but does not contain either an `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope, or a `customer` with `id` value that matches the [customer:{id}](/scopes#internal-oauth) scope. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_my_shopping_lists:{projectKey}" - "manage_my_shopping_lists:{projectKey}:{storeKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMeShoppingListsPost description: |- Creates a ShoppingList for the authenticated Customer or anonymous user in a [Store](ctp:api:type:Store). The `customer` or `anonymousId` field on the ShoppingList is automatically set based on the given [customer:{id}](/scopes#internal-oauth) or [anonymous_id:{id}](/scopes#internal-oauth) scope. When using this endpoint, the `store` field of a ShoppingList is always set to the Store specified in the path parameter. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/MyShoppingListDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/me/shopping-lists/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "manage_my_shopping_lists:{projectKey}" - "manage_my_shopping_lists:{projectKey}:{storeKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMeShoppingListsKeyByKeyGet description: |- Retrieves a ShoppingList with the provided `key` for the authenticated Customer or anonymous user in a [Store](ctp:api:type:Store). Returns `200 OK` status if successful. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no ShoppingList matches the provided `key` in a Store. - If a ShoppingList matches the provided `key` but does not have a `store` specified, or the `store` field references a different Store. - If a ShoppingList matches the provided `key` in a Store but does not contain either an `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope, or a `customer` with `id` value that matches the [customer:{id}](/scopes#internal-oauth) scope. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_my_shopping_lists:{projectKey}" - "manage_my_shopping_lists:{projectKey}:{storeKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMeShoppingListsKeyByKeyHead description: |- Checks if a ShoppingList exists with the provided `key` for the authenticated Customer or anonymous user in a [Store](ctp:api:type:Store). Returns a `200` status if successful. A [Not Found](/api/errors#404-not-found) error is returned in the following scenarios: - If no ShoppingList exists that matches the provided `key` in a Store. - If a ShoppingList matches the provided `key` but does not have a `store` specified, or the `store` field references a different Store. - If a ShoppingList matches the provided `key` in a Store but does not contain either an `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope, or a `customer` with `id` value that matches the [customer:{id}](/scopes#internal-oauth) scope. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_my_shopping_lists:{projectKey}" - "manage_my_shopping_lists:{projectKey}:{storeKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMeShoppingListsKeyByKeyPost description: |- Updates a ShoppingList for the authenticated Customer or anonymous user in a [Store](ctp:api:type:Store) using one or more [update actions](/api/projects/me-shoppingLists#update-actions). Returns a `200` status if successful. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no ShoppingList matches the provided `key` in a Store. - If a ShoppingList matches the provided `key` but does not have a `store` specified, or the `store` field references a different Store. - If a ShoppingList matches the provided `key` in a Store but does not contain either an `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope, or a `customer` with `id` value that matches the [customer:{id}](/scopes#internal-oauth) scope. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/MyShoppingListUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_my_shopping_lists:{projectKey}" - "manage_my_shopping_lists:{projectKey}:{storeKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMeShoppingListsKeyByKeyDelete description: |- Deletes a ShoppingList in a [Store](ctp:api:type:Store). Returns a `200` status if successful. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no ShoppingList matches the provided `key` in a Store. - If a ShoppingList matches the provided `key` but does not have a `store` specified, or the `store` field references a different Store. - If a ShoppingList matches the provided `key` in a Store but does not contain either an `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope, or a `customer` with `id` value that matches the [customer:{id}](/scopes#internal-oauth) scope. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/me/shopping-lists/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "manage_my_shopping_lists:{projectKey}:{storeKey}" - "manage_my_shopping_lists:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMeShoppingListsByIDGet description: |- Retrieves a ShoppingList with the provided `id` for the authenticated Customer or anonymous user in a [Store](ctp:api:type:Store). Returns `200 OK` status if successful. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no ShoppingList matches the provided `id` in a Store. - If a ShoppingList matches the provided `id` but does not have a `store` specified, or the `store` field references a different Store. - If a ShoppingList matches the provided `id` in a Store but does not contain either an `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope, or a `customer` with `id` value that matches the [customer:{id}](/scopes#internal-oauth) scope. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_my_shopping_lists:{projectKey}:{storeKey}" - "manage_my_shopping_lists:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMeShoppingListsByIDHead description: |- Checks if a ShoppingList exists with the provided `id` for the authenticated Customer or anonymous user in a [Store](ctp:api:type:Store). Returns a `200` status if successful. A [Not Found](/api/errors#404-not-found) error is returned in the following scenarios: - If no ShoppingList matches the provided `id` in a Store. - If a ShoppingList matches the provided `id` but does not have a `store` specified, or the `store` field references a different Store. - If a ShoppingList matches the provided `id` in a Store but does not contain either an `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope, or a `customer` with `id` value that matches the [customer:{id}](/scopes#internal-oauth) scope. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_my_shopping_lists:{projectKey}" - "manage_my_shopping_lists:{projectKey}:{storeKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMeShoppingListsByIDPost description: |- Updates a ShoppingList for the authenticated Customer or anonymous user in a [Store](ctp:api:type:Store) using one or more [update actions](/api/projects/me-shoppingLists#update-actions). Returns a `200` status if successful. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no ShoppingList matches the provided `id` in a Store. - If a ShoppingList matches the provided `id` but does not have a `store` specified, or the `store` field references a different Store. - If a ShoppingList matches the provided `id` in a Store but does not contain either an `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope, or a `customer` with `id` value that matches the [customer:{id}](/scopes#internal-oauth) scope. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/MyShoppingListUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_my_shopping_lists:{projectKey}" - "manage_my_shopping_lists:{projectKey}:{storeKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMeShoppingListsByIDDelete description: |- Deletes a ShoppingList in a [Store](ctp:api:type:Store). Returns a `200` status if successful. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no ShoppingList matches the provided `id` in a Store. - If a ShoppingList matches the provided `id` but does not have a `store` specified, or the `store` field references a different Store. - If a ShoppingList matches the provided `id` in a Store but does not contain either an `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope, or a `customer` with `id` value that matches the [customer:{id}](/scopes#internal-oauth) scope. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/me/signup: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_my_profile:{projectKey}" - "manage_my_profile:{projectKey}:{storeKey}" - "anonymous_id:{id}" operationId: ByProjectKeyInStoreKeyByStoreKeyMeSignupPost description: |- If used with an optional [access token for an anonymous session](ctp:api:type:AnonymousSession), all Orders and Carts that belong to the `anonymousId` are assigned to the newly created Customer. If omitted in the request body, the [Customer](ctp:api:type:Customer) `stores` field is set to the [Store](ctp:api:type:Store) specified in the path parameter. If the Customer has multiple active Carts, the anonymous Cart is [merged](/api/customers-overview#cart-merge-during-sign-in-and-sign-up) into the most recently modified active Cart. Creating a Customer produces the [CustomerCreated](ctp:api:type:CustomerCreatedMessage) Message. requestBody: content: application/json: schema: $ref: '#/components/schemas/MyCustomerDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/CustomerSignInResult' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/orders: description: |- An order can be created from a cart, usually after a checkout process has been completed. parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" x-annotation-updateable: "Order" x-annotation-deleteable: "Order" x-annotation-createable: "OrderFromCartDraft" get: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_orders:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyOrdersGet description: |- Retrieves Orders in a [Store](ctp:api:type:Store). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/OrderPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_orders:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyOrdersHead description: |- Checks if one or more Orders exist for the provided query predicate in a [Store](ctp:api:type:Store). Returns a `200` status if any Orders match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_orders:{projectKey}" - "manage_orders:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyOrdersPost description: |- Creates an Order from a Cart in a [Store](ctp:api:type:Store). The Cart must have a shipping address set, regardless of the [TaxMode](ctp:api:type:TaxMode). For a Cart with `Platform` [TaxMode](ctp:api:type:TaxMode), the shipping address is used for tax calculation. Creating an Order produces the [OrderCreated](ctp:api:type:OrderCreatedMessage) Message. If a server-side problem occurs, indicated by a 500 Internal Server Error HTTP response, the Order creation may still successfully complete after the error is returned. If you receive this error, you should verify the status of the Order by querying a unique identifier supplied during the creation request, such as the Order number. Specific Error Codes: - [OutOfStock](ctp:api:type:OutOfStockError) - [PriceChanged](ctp:api:type:PriceChangedError) - [DiscountCodeNonApplicable](ctp:api:type:DiscountCodeNonApplicableError) - [ShippingMethodDoesNotMatchCart](ctp:api:type:ShippingMethodDoesNotMatchCartError) - [InvalidItemShippingDetails](ctp:api:type:InvalidItemShippingDetailsError) - [InvalidOperation](ctp:api:type:InvalidOperationError) - [MatchingPriceNotFound](ctp:api:type:MatchingPriceNotFoundError) - [MissingTaxRateForCountry](ctp:api:type:MissingTaxRateForCountryError) - [CountryNotConfiguredInStore](ctp:api:type:CountryNotConfiguredInStoreError) parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/OrderFromCartDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Order' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/orders/order-number={orderNumber}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: orderNumber in: path required: true schema: type: "string" x-annotation-methodName: "withOrderNumber" get: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_orders:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyOrdersOrderNumberByOrderNumberGet description: |- Retrieves an Order with the provided `orderNumber` in a [Store](ctp:api:type:Store). If the Order exists in the Project but does not have a `store` specified, or the `store` field references a different Store, this method returns a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Order' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_orders:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyOrdersOrderNumberByOrderNumberHead description: |- Checks if an Order exists with the provided `orderNumber` in a [Store](ctp:api:type:Store). Returns a `200` status if the Order exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_orders:{projectKey}" - "manage_orders:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyOrdersOrderNumberByOrderNumberPost description: |- Updates an Order in a [Store](ctp:api:type:Store) using one or more [update actions](/api/projects/orders#update-actions). If the Order exists in the Project but does not have a `store` specified, or the `store` field references a different Store, this method returns a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/OrderUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Order' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_orders:{projectKey}" - "manage_orders:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyOrdersOrderNumberByOrderNumberDelete description: |- Deletes an Order in a [Store](ctp:api:type:Store). If the Order exists in the Project but does not have a `store` specified, or the `store` field references a different Store, this method returns a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error. Deleting an Order produces the [OrderDeleted](ctp:api:type:OrderDeletedMessage) Message. parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Order' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/orders/quotes: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" x-annotation-methodName: "orderQuote" post: security: - oauth_2_0: - "manage_quotes:{projectKey}" - "manage_quotes:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyOrdersQuotesPost description: |- Creates an Order from a [Quote](ctp:api:type:Quote) in a [Store](ctp:api:type:Store). The referenced Quote must have the `Pending` [state](ctp:api:type:QuoteState) and must be valid (not past the `validTo` date); otherwise, an [InvalidOperation](ctp:api:type:InvalidOperationError) error is returned. Produces the [OrderCreated](ctp:api:type:OrderCreatedMessage) Message. Specific Error Codes: - [OutOfStock](ctp:api:type:OutOfStockError) - [InvalidItemShippingDetails](ctp:api:type:InvalidItemShippingDetailsError) - [InvalidOperation](ctp:api:type:InvalidOperationError) - [CountryNotConfiguredInStore](ctp:api:type:CountryNotConfiguredInStoreError) requestBody: content: application/json: schema: $ref: '#/components/schemas/OrderFromQuoteDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Order' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/orders/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_orders:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyOrdersByIDGet description: |- Retrieves an Order with the provided `id` in a [Store](ctp:api:type:Store). If the Order exists in the Project but does not have a `store` specified, or the `store` field references a different Store, this method returns a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Order' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_orders:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyOrdersByIDHead description: |- Checks if an Order exists with the provided `id` in a [Store](ctp:api:type:Store). Returns a `200` status if the Order exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_orders:{projectKey}" - "manage_orders:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyOrdersByIDPost description: |- Updates an Order in a [Store](ctp:api:type:Store) using one or more [update actions](/api/projects/orders#update-actions). If the Order exists in the Project but does not have a `store` specified, or the `store` field references a different Store, this method returns a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/OrderUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Order' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_orders:{projectKey}" - "manage_orders:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyOrdersByIDDelete description: |- Deletes an Order in a [Store](ctp:api:type:Store). If the Order exists in the Project but does not have a `store` specified, or the `store` field references a different Store, this method returns a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error. Deleting an Order produces the [OrderDeleted](ctp:api:type:OrderDeletedMessage) Message. parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Order' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/product-projections/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_products:{projectKey}" - "view_published_products:{projectKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyProductProjectionsKeyByKeyGet description: |- Retrieves the [projected](/api/projects/productProjections#projection-dimensions) representation of a [Product](ctp:api:type:Product) by its Key in the specified [Store](ctp:api:type:Store). If the Store has defined some languages, countries, distribution, supply Channels, and/or Product Selection, they are used for projections based on [locale](ctp:api:type:ProductProjectionLocales), [price](ctp:api:type:ProductProjectionPrices), and [inventory](ctp:api:type:ProductProjectionInventoryEntries). If [ProductSelection](ctp:api:type:ProductSelection) is used, it affects the [availability of the Product](/api/project-configuration-overview#products-available-in-store) in the specified Store. If a [ProductTailoring](ctp:api:type:ProductTailoring) exists for the Product with the given `key` and the given Store, this endpoint returns the ProductProjection with tailored data. By default, this endpoint returns the `current` representation of Products where the `published` flag is `true`. If a Product is unpublished (`published=false`), the endpoint returns a [Not Found](/api/errors#404-not-found) error. Required access scopes: - To retrieve the current representation of published Products (published data), the `view_published_products:{projectKey}` scope is required. - To retrieve the staged representation of Products (draft data) or access unpublished Products, the API Client must have the `view_products:{projectKey}` scope. parameters: - name: staged x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: priceCurrency in: query required: false style: form schema: $ref: '#/components/schemas/CurrencyCode' explode: true - name: priceCountry in: query required: false style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: priceCustomerGroup in: query required: false style: form schema: type: "string" explode: true - name: priceCustomerGroupAssignments in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: priceChannel in: query required: false style: form schema: type: "string" explode: true - name: priceRecurrencePolicy x-beta: true in: query required: false style: form schema: type: "string" explode: true - name: localeProjection in: query required: false style: form schema: type: "array" items: $ref: '#/components/schemas/Locale' explode: true - name: filter[attributes] in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductProjection' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" - "view_published_products:{projectKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyProductProjectionsKeyByKeyHead description: |- Checks if the current or staged representations of a Product exists with the provided `key` in the specified [Store](ctp:api:type:Store). Returns a `200` status if the ProductProjection exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/product-projections/key={key}/variant-attributes: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_products:{projectKey}" - "view_published_products:{projectKey}" - "view_products:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyProductProjectionsKeyByKeyVariantAttributesGet description: |- Returns a lightweight representation of all Variants for a [Product](ctp:api:type:Product), including only the requested variant-level [Attributes](ctp:api:type:Attribute) and minimal availability data, scoped to a specific [Store](ctp:api:type:Store). Designed for building attribute selectors on product detail pages (PDPs) with large numbers of variants. Only available for Projects with [productCatalogModel](ctp:api:type:ProductCatalogModel) set to `Modular`. Product-level Attributes are omitted from the response. Required access scopes: - To retrieve the current representation of published Products (published data), the `view_published_products:{projectKey}` and `view_products:{projectKey}:{storeKey}` scope is required. - To retrieve the staged representation of Products (draft data), the API Client must have the `view_products:{projectKey}` and `view_products:{projectKey}:{storeKey}` scope. parameters: - name: staged x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: localeProjection in: query required: false style: form schema: type: "array" items: $ref: '#/components/schemas/Locale' explode: true - name: filter[attributes] in: query required: true style: form schema: type: "array" items: type: "string" explode: true - name: filter[supplyChannels] in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/VariantAttributes' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/product-projections/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_products:{projectKey}" - "view_published_products:{projectKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyProductProjectionsByIDGet description: |- Retrieves the [projected](/api/projects/productProjections#projection-dimensions) representation of a [Product](ctp:api:type:Product) by its ID in the specified [Store](ctp:api:type:Store). If the Store has defined some languages, countries, distribution, supply Channels, and/or Product Selection, they are used for projections based on [locale](ctp:api:type:ProductProjectionLocales), [price](ctp:api:type:ProductProjectionPrices), and [inventory](ctp:api:type:ProductProjectionInventoryEntries). If [ProductSelection](ctp:api:type:ProductSelection) is used, it affects the [availability of the Product](/api/project-configuration-overview#products-available-in-store) in the specified Store. If a [ProductTailoring](ctp:api:type:ProductTailoring) exists for the Product with the given `key` and the given Store, this endpoint returns the ProductProjection with tailored data. By default, this endpoint returns the `current` representation of Products where the `published` flag is `true`. If a Product is unpublished (`published=false`), the endpoint returns a [Not Found](/api/errors#404-not-found) error. Required access scopes: - To retrieve the current representation of published Products (published data), the `view_published_products:{projectKey}` scope is required. - To retrieve the staged representation of Products (draft data) or access unpublished Products, the API Client must have the `view_products:{projectKey}` scope. parameters: - name: staged x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: priceCurrency in: query required: false style: form schema: $ref: '#/components/schemas/CurrencyCode' explode: true - name: priceCountry in: query required: false style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: priceCustomerGroup in: query required: false style: form schema: type: "string" explode: true - name: priceCustomerGroupAssignments in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: priceChannel in: query required: false style: form schema: type: "string" explode: true - name: priceRecurrencePolicy x-beta: true in: query required: false style: form schema: type: "string" explode: true - name: localeProjection in: query required: false style: form schema: type: "array" items: $ref: '#/components/schemas/Locale' explode: true - name: filter[attributes] in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductProjection' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" - "view_published_products:{projectKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyProductProjectionsByIDHead description: |- Checks if the current or staged representations of a Product exists with the provided `id` in the specified [Store](ctp:api:type:Store). Returns a `200` status if the ProductProjection exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/product-projections/{ID}/variant-attributes: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_products:{projectKey}" - "view_published_products:{projectKey}" - "view_products:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyProductProjectionsByIDVariantAttributesGet description: |- Returns a lightweight representation of all Variants for a [Product](ctp:api:type:Product), including only the requested variant-level [Attributes](ctp:api:type:Attribute) and minimal availability data, scoped to a specific [Store](ctp:api:type:Store). Designed for building attribute selectors on product detail pages (PDPs) with large numbers of variants. Only available for Projects with [productCatalogModel](ctp:api:type:ProductCatalogModel) set to `Modular`. Product-level Attributes are omitted from the response. Required access scopes: - To retrieve the current representation of published Products (published data), the `view_published_products:{projectKey}` and `view_products:{projectKey}:{storeKey}` scope is required. - To retrieve the staged representation of Products (draft data), the API Client must have the `view_products:{projectKey}` and `view_products:{projectKey}:{storeKey}` scope. parameters: - name: staged x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: localeProjection in: query required: false style: form schema: type: "array" items: $ref: '#/components/schemas/Locale' explode: true - name: filter[attributes] in: query required: true style: form schema: type: "array" items: type: "string" explode: true - name: filter[supplyChannels] in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/VariantAttributes' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/product-selection-assignments: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_product_selections:{projectKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyProductSelectionAssignmentsGet description: |- Queries Product Selection assignments in a specific [Store](ctp:api:type:Store). The response will include duplicate Products whenever more than one active Product Selection of the Store includes a Product. To make clear through which Product Selection a Product is available in the Store the response contains assignments including both the Product and the Product Selection. Only Products of Product Selections that are activated in the Store will be returned. parameters: - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductsInStorePagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/product-tailoring: description: |- A Product Tailoring holds tailored data of Product in the Store. parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" x-annotation-updateable: "ProductTailoring" x-annotation-createable: "ProductTailoringInStoreDraft" get: security: - oauth_2_0: - "view_products:{projectKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyProductTailoringGet description: |- Queries Product Tailoring in a specific [Store](ctp:api:type:Store). parameters: - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductTailoringPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_products:{projectKey}" - "manage_products:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyProductTailoringPost description: |- Creates a [ProductTailoring](ctp:api:type:ProductTailoring) in the [Store](ctp:api:type:Store) specified by `storeKey`. When using this endpoint the ProductTailoring's `store` field is always set to the [Store](ctp:api:type:Store) specified in the path parameter. Generates the [ProductTailoringCreated](ctp:api:type:ProductTailoringCreatedMessage) Message. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductTailoringInStoreDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ProductTailoring' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/products/key={productKey}/product-tailoring: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: productKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_products:{projectKey}" - "view_products:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyProductsKeyByProductKeyProductTailoringGet description: |- Gets the current or staged representation of a [Product Tailoring](ctp:api:type:ProductTailoring) by its Product key in the specified [Store](ctp:api:type:Store). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductTailoring' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_products:{projectKey}" - "manage_products:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyProductsKeyByProductKeyProductTailoringPost description: |- Updates the current or staged representation of a [Product Tailoring](ctp:api:type:ProductTailoring) by its Product key in the specified [Store](ctp:api:type:Store). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductTailoringUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductTailoring' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_products:{projectKey}" - "manage_products:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyProductsKeyByProductKeyProductTailoringDelete description: |- Generates the [ProductTailoringDeleted](ctp:api:type:ProductTailoringDeletedMessage) Message. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductTailoring' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/products/key={productKey}/product-tailoring/images: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: productKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyProductsKeyByProductKeyProductTailoringImagesPost description: |- Uploads a JPEG, PNG and GIF file to a [ProductVariantTailoring](ctp:api:type:ProductVariantTailoring). The maximum file size of the image is **10MB**. Either `variant` or `sku` is required to update a specific ProductVariant. If neither is provided, the image is uploaded to the Master Variant of the Product. The response status code depends on the size of the original image. If the image is small, the API responds with `200 OK`, and if the image is larger, it responds with `202 Accepted`. The Product returned with a `202 Accepted` status code contains a `warnings` field with an [ImageProcessingOngoing](ctp:api:type:ImageProcessingOngoingWarning) Warning. Produces the [ProductTailoringImageAdded](/projects/messages/product-catalog-messages#product-tailoring-image-added) Message. parameters: - name: filename x-annotation-default: "img" in: query required: false style: form schema: type: "string" explode: true - name: variant in: query required: false style: form schema: type: "number" format: "double" explode: true - name: sku in: query required: false style: form schema: type: "string" explode: true - name: staged x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true requestBody: content: "*/*": schema: type: string responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductTailoring' "202": description: |- 202 content: application/json: schema: $ref: '#/components/schemas/ProductTailoring' /{projectKey}/in-store/key={storeKey}/products/{productID}/product-tailoring: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: productID in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_products:{projectKey}" - "view_products:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyProductsByProductIDProductTailoringGet description: |- Gets the current or staged representation of a [Product Tailoring](ctp:api:type:ProductTailoring) by its Product ID in the specified [Store](ctp:api:type:Store). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductTailoring' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_products:{projectKey}" - "manage_products:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyProductsByProductIDProductTailoringPost description: |- Updates the current or staged representation of a [Product Tailoring](ctp:api:type:ProductTailoring) by its Product ID in the specified [Store](ctp:api:type:Store). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductTailoringUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductTailoring' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_products:{projectKey}" - "manage_products:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyProductsByProductIDProductTailoringDelete description: |- Generates the [ProductTailoringDeleted](ctp:api:type:ProductTailoringDeletedMessage) Message. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductTailoring' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/products/{productID}/product-tailoring/images: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: productID in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyProductsByProductIDProductTailoringImagesPost description: |- Uploads a JPEG, PNG and GIF file to a [ProductVariantTailoring](ctp:api:type:ProductVariantTailoring). The maximum file size of the image is **10MB**. Either `variant` or `sku` is required to update a specific ProductVariant. If neither is provided, the image is uploaded to the Master Variant of the Product. The response status code depends on the size of the original image. If the image is small, the API responds with `200 OK`, and if the image is larger, it responds with `202 Accepted`. The Product returned with a `202 Accepted` status code contains a `warnings` field with an [ImageProcessingOngoing](ctp:api:type:ImageProcessingOngoingWarning) Warning. Produces the [ProductTailoringImageAdded](/projects/messages/product-catalog-messages#product-tailoring-image-added) Message. parameters: - name: filename x-annotation-default: "img" in: query required: false style: form schema: type: "string" explode: true - name: variant in: query required: false style: form schema: type: "number" format: "double" explode: true - name: sku in: query required: false style: form schema: type: "string" explode: true - name: staged x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true requestBody: content: "*/*": schema: type: string responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductTailoring' "202": description: |- 202 content: application/json: schema: $ref: '#/components/schemas/ProductTailoring' /{projectKey}/in-store/key={storeKey}/quote-requests: description: |- A request for a Quote holds product variants and can be ordered. parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" x-annotation-updateable: "QuoteRequest" x-annotation-deleteable: "QuoteRequest" x-annotation-createable: "QuoteRequestDraft" get: security: - oauth_2_0: - "view_quote_requests:{projectKey}" - "view_quote_requests:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyQuoteRequestsGet description: |- Retrieves QuoteRequests in a [Store](ctp:api:type:Store). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/QuoteRequestPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_quote_requests:{projectKey}" - "view_quote_requests:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyQuoteRequestsHead description: |- Checks if one or more QuoteRequests exist for the provided query predicate in a [Store](ctp:api:type:Store). Returns a `200` status if any QuoteRequests match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_quote_requests:{projectKey}" - "manage_quote_requests:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyQuoteRequestsPost description: |- Creates a QuoteRequest in a [Store](ctp:api:type:Store). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/QuoteRequestDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/QuoteRequest' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/quote-requests/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_quote_requests:{projectKey}" - "view_quote_requests:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyQuoteRequestsKeyByKeyGet description: |- Retrieves a QuoteRequest with the provided `key` in a [Store](ctp:api:type:Store). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/QuoteRequest' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_quote_requests:{projectKey}" - "view_quote_requests:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyQuoteRequestsKeyByKeyHead description: |- Checks if a QuoteRequest exists with the provided `key` in a [Store](ctp:api:type:Store). Returns a `200` status if the QuoteRequest exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_quote_requests:{projectKey}" - "manage_quote_requests:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyQuoteRequestsKeyByKeyPost description: |- Updates a QuoteRequest in a [Store](ctp:api:type:Store). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/QuoteRequestUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/QuoteRequest' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_quote_requests:{projectKey}" - "manage_quote_requests:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyQuoteRequestsKeyByKeyDelete description: |- Deletes a QuoteRequest in a [Store](ctp:api:type:Store). parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/QuoteRequest' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/quote-requests/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_quote_requests:{projectKey}" - "view_quote_requests:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyQuoteRequestsByIDGet description: |- Retrieves a QuoteRequest with the provided `id` in a [Store](ctp:api:type:Store). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/QuoteRequest' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_quote_requests:{projectKey}" - "view_quote_requests:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyQuoteRequestsByIDHead description: |- Checks if a QuoteRequest exists with the provided `id` in a [Store](ctp:api:type:Store). Returns a `200` status if the QuoteRequest exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_quote_requests:{projectKey}" - "manage_quote_requests:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyQuoteRequestsByIDPost description: |- Updates a QuoteRequest in a [Store](ctp:api:type:Store). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/QuoteRequestUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/QuoteRequest' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_quote_requests:{projectKey}" - "manage_quote_requests:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyQuoteRequestsByIDDelete description: |- Deletes a QuoteRequest in a [Store](ctp:api:type:Store). parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/QuoteRequest' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/quotes: description: |- A quote holds the negotiated offer. parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" x-annotation-updateable: "Quote" x-annotation-deleteable: "Quote" x-annotation-createable: "QuoteDraft" get: security: - oauth_2_0: - "view_quotes:{projectKey}" - "view_quotes:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyQuotesGet description: |- Retrieves Quotes in a [Store](ctp:api:type:Store). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/QuotePagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_quotes:{projectKey}" - "view_quotes:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyQuotesHead description: |- Checks if one or more Quotes exist for the provided query predicate in a [Store](ctp:api:type:Store). Returns a `200` status if any Quotes match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_quotes:{projectKey}" - "manage_quotes:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyQuotesPost description: |- Creates a Quote in a [Store](ctp:api:type:Store). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/QuoteDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Quote' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/quotes/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_quotes:{projectKey}" - "view_quotes:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyQuotesKeyByKeyGet description: |- Retrieves a Quote with the provided `key` in a [Store](ctp:api:type:Store). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Quote' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_quotes:{projectKey}" - "view_quotes:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyQuotesKeyByKeyHead description: |- Checks if a Quote exists with the provided `key` in a [Store](ctp:api:type:Store). Returns a `200` status if the Quote exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_quotes:{projectKey}" - "manage_quotes:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyQuotesKeyByKeyPost description: |- Updates a Quote in a [Store](ctp:api:type:Store). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/QuoteUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Quote' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_quotes:{projectKey}" - "manage_quotes:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyQuotesKeyByKeyDelete description: |- Deletes a Quote in a [Store](ctp:api:type:Store). parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Quote' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/quotes/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_quotes:{projectKey}" - "view_quotes:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyQuotesByIDGet description: |- Retrieves a Quote with the provided `id` in a [Store](ctp:api:type:Store). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Quote' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_quotes:{projectKey}" - "view_quotes:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyQuotesByIDHead description: |- Checks if a Quote exists with the provided `id` in a [Store](ctp:api:type:Store). Returns a `200` status if the Quote exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_quotes:{projectKey}" - "manage_quotes:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyQuotesByIDPost description: |- Updates a Quote in a [Store](ctp:api:type:Store). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/QuoteUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Quote' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_quotes:{projectKey}" - "manage_quotes:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyQuotesByIDDelete description: |- Deletes a Quote in a [Store](ctp:api:type:Store). parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Quote' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/shipping-methods/matching-cart: description: |- Get matching ShippingMethods for a Cart in a Store parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_orders:{projectKey}:{storeKey}" - "manage_customers:{projectKey}:{storeKey}" - "view_shipping_methods:{projectKey}" - "manage_my_orders:{projectKey}" - "manage_my_orders:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyShippingMethodsMatchingCartGet description: |- Retrieves the active ShippingMethods that can ship to the shipping address of the provided Cart in a [Store](ctp:api:type:Store). The Cart must belong to the Store specified in the path. If no Cart exists for the given `cartId` in the specified Store, either because the Cart does not exist in the Project or because it exists but does not belong to that Store, an [InvalidOperation](ctp:api:type:InvalidOperationError) error is returned. The results include globally scoped ShippingMethods (those with an empty `stores` field) and ShippingMethods scoped to the Store specified in the path. Each ShippingMethod contains exactly one ShippingRate with the flag `isMatching` set to `true`. This ShippingRate is used when the ShippingMethod is [added to the Cart](ctp:api:type:CartSetShippingMethodAction). If a matching ShippingMethod has `isDefault` set to `true`, it is returned as the first item in the array. parameters: - name: cartId in: query required: true style: form schema: type: "string" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShippingMethodPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_orders:{projectKey}:{storeKey}" - "manage_customers:{projectKey}:{storeKey}" - "view_shipping_methods:{projectKey}" - "manage_my_orders:{projectKey}" - "manage_my_orders:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyShippingMethodsMatchingCartHead description: |- Checks if an active ShippingMethod that can ship to the shipping address of the provided Cart exists in a [Store](ctp:api:type:Store). Returns a `200 OK` status if the ShippingMethod exists or a [Not Found](/api/errors#404-not-found) error otherwise. parameters: - name: cartId in: query required: true style: form schema: type: "string" explode: true responses: "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' "200": description: |- 200 content: {} /{projectKey}/in-store/key={storeKey}/shopping-lists: description: |- shopping-lists e.g. for wishlist support parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_shopping_lists:{projectKey}" - "view_shopping_lists:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyShoppingListsGet description: |- Retrieves ShoppingLists in a [Store](ctp:api:type:Store). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingListPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_shopping_lists:{projectKey}" - "view_shopping_lists:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyShoppingListsHead description: |- Checks if one or more ShoppingLists exist for the provided query predicate in a [Store](ctp:api:type:Store). Returns a `200` status if any ShoppingLists match the query predicate or, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_shopping_lists:{projectKey}" - "manage_shopping_lists:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyShoppingListsPost description: |- Creates a ShoppingList in a [Store](ctp:api:type:Store). When using this endpoint, the `store` field of a ShoppingList is always set to the [Store](ctp:api:type:Store) specified in the path parameter. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ShoppingListDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/shopping-lists/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_shopping_lists:{projectKey}" - "view_shopping_lists:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyShoppingListsKeyByKeyGet description: |- Retrieves a ShoppingList with the provided `key` in a [Store](ctp:api:type:Store). If a ShoppingList exists in a Project but does _not_ have the `store` field, or the `store` field references a different Store, the [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_shopping_lists:{projectKey}" - "view_shopping_lists:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyShoppingListsKeyByKeyHead description: |- Checks if a ShoppingList exists with the provided `key` in a [Store](ctp:api:type:Store). Returns a `200` status if the ShoppingList exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_shopping_lists:{projectKey}" - "manage_shopping_lists:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyShoppingListsKeyByKeyPost description: |- Updates a ShoppingList in a [Store](ctp:api:type:Store) using one or more [update actions](/api/projects/shoppingLists#update-actions). If a ShoppingList exists in a Project but does _not_ have the `store` field, or the `store` field references a different Store, the [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ShoppingListUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_shopping_lists:{projectKey}" - "manage_shopping_lists:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyShoppingListsKeyByKeyDelete description: |- Deletes a ShoppingList in a [Store](ctp:api:type:Store). If a ShoppingList exists in a Project but does _not_ have the `store` field, or the `store` field references a different Store, the [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/shopping-lists/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_shopping_lists:{projectKey}" - "view_shopping_lists:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyShoppingListsByIDGet description: |- Retrieves a ShoppingList with the provided `id` in a [Store](ctp:api:type:Store). If a ShoppingList exists in a Project but does _not_ have the `store` field, or the `store` field references a different Store, the [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_shopping_lists:{projectKey}" - "view_shopping_lists:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyShoppingListsByIDHead description: |- Checks if a ShoppingList exists with the provided `id` in a [Store](ctp:api:type:Store). Returns a `200` status if the ShoppingList exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_shopping_lists:{projectKey}" - "manage_shopping_lists:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyShoppingListsByIDPost description: |- Updates a ShoppingList in a [Store](ctp:api:type:Store) using one or more [update actions](/api/projects/shoppingLists#update-actions). If a ShoppingList exists in a Project but does _not_ have the `store` field, or the `store` field references a different Store, the [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ShoppingListUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_shopping_lists:{projectKey}" - "manage_shopping_lists:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyShoppingListsByIDDelete description: |- Deletes a ShoppingList in a [Store](ctp:api:type:Store). If a ShoppingList exists in a Project but does _not_ have the `store` field, or the `store` field references a different Store, the [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/staged-quotes: description: |- A staged quote holds the negotiation between the [Buyer](/api/quotes-overview#buyer) and the [Seller](/api/quotes-overview#seller). parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" x-annotation-updateable: "StagedQuote" x-annotation-deleteable: "StagedQuote" x-annotation-createable: "StagedQuoteDraft" get: security: - oauth_2_0: - "view_staged_quotes:{projectKey}" - "view_staged_quotes:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyStagedQuotesGet description: |- Retrieves StagedQuotes in a [Store](ctp:api:type:Store). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/StagedQuotePagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_staged_quotes:{projectKey}" - "view_staged_quotes:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyStagedQuotesHead description: |- Checks if one or more StagedQuotes exist for the provided query predicate in a [Store](ctp:api:type:Store). Returns a `200` status if any StagedQuotes match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_staged_quotes:{projectKey}" - "manage_staged_quotes:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyStagedQuotesPost description: |- Creates a StagedQuote in a [Store](ctp:api:type:Store). - [InvalidOperation](ctp:api:type:InvalidOperationError) is returned in several cases, including the following: - The referenced Shipping Method is not active. - The referenced Shipping Method is scoped to a Store that differs from the Store referenced by the [Quote Request](ctp:api:type:QuoteRequest). - The referenced Shipping Method is scoped to a Store, but the [Quote Request](ctp:api:type:QuoteRequest) does not belong to a Store. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/StagedQuoteDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/StagedQuote' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/staged-quotes/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_staged_quotes:{projectKey}" - "view_staged_quotes:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyStagedQuotesKeyByKeyGet description: |- Retrieves a StagedQuote with the provided `key` in a [Store](ctp:api:type:Store). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/StagedQuote' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_staged_quotes:{projectKey}" - "view_staged_quotes:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyStagedQuotesKeyByKeyHead description: |- Checks if a StagedQuote exists with the provided `key` in a [Store](ctp:api:type:Store). Returns a `200` status if the StagedQuote exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_staged_quotes:{projectKey}" - "manage_staged_quotes:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyStagedQuotesKeyByKeyPost description: |- Updates a StagedQuote in a [Store](ctp:api:type:Store). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/StagedQuoteUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/StagedQuote' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_staged_quotes:{projectKey}" - "manage_staged_quotes:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyStagedQuotesKeyByKeyDelete description: |- Deletes a StagedQuote in a [Store](ctp:api:type:Store). parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/StagedQuote' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/staged-quotes/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_staged_quotes:{projectKey}" - "view_staged_quotes:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyStagedQuotesByIDGet description: |- Retrieves a StagedQuote with the provided `id` in a [Store](ctp:api:type:Store). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/StagedQuote' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_staged_quotes:{projectKey}" - "view_staged_quotes:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyStagedQuotesByIDHead description: |- Checks if a StagedQuote exists with the provided `id` in a [Store](ctp:api:type:Store). Returns a `200` status if the StagedQuote exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_staged_quotes:{projectKey}" - "manage_staged_quotes:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyStagedQuotesByIDPost description: |- Updates a StagedQuote in a [Store](ctp:api:type:Store). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/StagedQuoteUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/StagedQuote' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_staged_quotes:{projectKey}" - "manage_staged_quotes:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyStagedQuotesByIDDelete description: |- Deletes a StagedQuote in a [Store](ctp:api:type:Store). parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/StagedQuote' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/variant-projections: description: |- A Variant Projection is a lightweight, read-only representation of a single Product Variant with embedded Product data such as name, slug, and description, scoped to a specific [Store](ctp:api:type:Store). parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_products:{projectKey}" - "view_published_products:{projectKey}" - "view_products:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyVariantProjectionsGet description: |- Queries Variant Projections in the specified [Store](ctp:api:type:Store). Only Variants belonging to Products distributed through the Store's configured channels are returned. By default, this endpoint returns the `current` representation of Variants where the `published` flag is `true`. If a [ProductTailoring](ctp:api:type:ProductTailoring) exists for a Product and the given Store, the returned Variant Projections include the tailored Product name, slug, and description, along with the tailored Variant images, assets, and attributes. The `staged` query parameter selects either the current or staged tailored data. When no Product Tailoring exists for a Product and Store, the Variant Projection is returned without Product Tailoring data. Required access scopes: - To retrieve the current representation of published Variants, the `view_published_products:{projectKey}` scope is required. - To retrieve the staged representation, the API Client must have the `view_products:{projectKey}` scope. - To access Variant Projections in the context of a Store, the `view_products:{projectKey}:{storeKey}` scope is required. parameters: - name: staged x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: priceCurrency in: query required: false style: form schema: $ref: '#/components/schemas/CurrencyCode' explode: true - name: priceCountry in: query required: false style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: priceCustomerGroup in: query required: false style: form schema: type: "string" explode: true - name: priceCustomerGroupAssignments in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: priceChannel in: query required: false style: form schema: type: "string" explode: true - name: priceRecurrencePolicy x-beta: true in: query required: false style: form schema: type: "string" explode: true - name: localeProjection in: query required: false style: form schema: type: "array" items: $ref: '#/components/schemas/Locale' explode: true - name: filter[attributes] in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/VariantProjectionPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" - "view_published_products:{projectKey}" - "view_products:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyVariantProjectionsHead description: |- Checks if one or more Variant Projections exist for the provided query predicate in the specified [Store](ctp:api:type:Store). Returns a `200` status if any Variant Projections match, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: staged x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: priceCurrency in: query required: false style: form schema: $ref: '#/components/schemas/CurrencyCode' explode: true - name: priceCountry in: query required: false style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: priceCustomerGroup in: query required: false style: form schema: type: "string" explode: true - name: priceChannel in: query required: false style: form schema: type: "string" explode: true - name: localeProjection in: query required: false style: form schema: type: "array" items: $ref: '#/components/schemas/Locale' explode: true - name: filter[attributes] in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/variant-projections/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_products:{projectKey}" - "view_published_products:{projectKey}" - "view_products:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyVariantProjectionsKeyByKeyGet description: |- Retrieves a Variant Projection by its key in the specified [Store](ctp:api:type:Store). Only returns Variants belonging to Products distributed through the Store's configured channels. If a [ProductTailoring](ctp:api:type:ProductTailoring) exists for the Product and the given Store, the returned Variant Projection includes the tailored Product name, slug, and description, along with the tailored Variant images, assets, and attributes. The `staged` query parameter selects either the current or staged tailored data. When no Product Tailoring exists for the Product and Store, the Variant Projection is returned without Product Tailoring data. Required access scopes: - To retrieve the current representation, the `view_published_products:{projectKey}` scope is required. - To retrieve the staged representation, the API Client must have the `view_products:{projectKey}` scope. - To access Variant Projections in the context of a Store, the `view_products:{projectKey}:{storeKey}` scope is required. parameters: - name: staged x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: priceCurrency in: query required: false style: form schema: $ref: '#/components/schemas/CurrencyCode' explode: true - name: priceCountry in: query required: false style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: priceCustomerGroup in: query required: false style: form schema: type: "string" explode: true - name: priceCustomerGroupAssignments in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: priceChannel in: query required: false style: form schema: type: "string" explode: true - name: priceRecurrencePolicy x-beta: true in: query required: false style: form schema: type: "string" explode: true - name: localeProjection in: query required: false style: form schema: type: "array" items: $ref: '#/components/schemas/Locale' explode: true - name: filter[attributes] in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/VariantProjection' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" - "view_published_products:{projectKey}" - "view_products:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyVariantProjectionsKeyByKeyHead description: |- Checks if a Variant Projection exists with the provided `key` in the specified [Store](ctp:api:type:Store). Returns a `200` status if the Variant Projection exists, or a `404` status otherwise. parameters: - name: staged x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: priceCurrency in: query required: false style: form schema: $ref: '#/components/schemas/CurrencyCode' explode: true - name: priceCountry in: query required: false style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: priceCustomerGroup in: query required: false style: form schema: type: "string" explode: true - name: priceChannel in: query required: false style: form schema: type: "string" explode: true - name: localeProjection in: query required: false style: form schema: type: "array" items: $ref: '#/components/schemas/Locale' explode: true - name: filter[attributes] in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/in-store/key={storeKey}/variant-projections/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: storeKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_products:{projectKey}" - "view_published_products:{projectKey}" - "view_products:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyVariantProjectionsByIDGet description: |- Retrieves a Variant Projection by its ID in the specified [Store](ctp:api:type:Store). Only returns Variants belonging to Products distributed through the Store's configured channels. If a [ProductTailoring](ctp:api:type:ProductTailoring) exists for the Product and the given Store, the returned Variant Projection includes the tailored Product name, slug, and description, along with the tailored Variant images, assets, and attributes. The `staged` query parameter selects either the current or staged tailored data. When no Product Tailoring exists for the Product and Store, the Variant Projection is returned without Product Tailoring data. Required access scopes: - To retrieve the current representation, the `view_published_products:{projectKey}` scope is required. - To retrieve the staged representation, the API Client must have the `view_products:{projectKey}` scope. - To access Variant Projections in the context of a Store, the `view_products:{projectKey}:{storeKey}` scope is required. parameters: - name: staged x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: priceCurrency in: query required: false style: form schema: $ref: '#/components/schemas/CurrencyCode' explode: true - name: priceCountry in: query required: false style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: priceCustomerGroup in: query required: false style: form schema: type: "string" explode: true - name: priceCustomerGroupAssignments in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: priceChannel in: query required: false style: form schema: type: "string" explode: true - name: priceRecurrencePolicy x-beta: true in: query required: false style: form schema: type: "string" explode: true - name: localeProjection in: query required: false style: form schema: type: "array" items: $ref: '#/components/schemas/Locale' explode: true - name: filter[attributes] in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/VariantProjection' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" - "view_published_products:{projectKey}" - "view_products:{projectKey}:{storeKey}" operationId: ByProjectKeyInStoreKeyByStoreKeyVariantProjectionsByIDHead description: |- Checks if a Variant Projection exists with the provided `id` in the specified [Store](ctp:api:type:Store). Returns a `200` status if the Variant Projection exists, or a `404` status otherwise. parameters: - name: staged x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: priceCurrency in: query required: false style: form schema: $ref: '#/components/schemas/CurrencyCode' explode: true - name: priceCountry in: query required: false style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: priceCustomerGroup in: query required: false style: form schema: type: "string" explode: true - name: priceChannel in: query required: false style: form schema: type: "string" explode: true - name: localeProjection in: query required: false style: form schema: type: "array" items: $ref: '#/components/schemas/Locale' explode: true - name: filter[attributes] in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/inventory: description: |- Inventory allows you to track stock quantities. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "InventoryEntry" x-annotation-deleteable: "InventoryEntry" x-annotation-createable: "InventoryEntryDraft" get: security: - oauth_2_0: - "view_products:{projectKey}" operationId: ByProjectKeyInventoryGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/InventoryPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" operationId: ByProjectKeyInventoryHead description: |- Checks if one or more InventoryEntries exist for the provided query predicate. Returns a `200` status if any Inventory Entries match the Query Predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyInventoryPost description: |- Creates an InventoryEntry in the Project. Only one InventoryEntry can be created for a combination of a SKU and a supply channel. If quantity limits are provided, existing Line Items that reference a Product Variant with an SKU that matches the Inventory Entry can be affected. For more information, see [Quantity limits](/api/inventory-overview#quantity-limits). Produces the [InventoryEntryCreated](ctp:api:type:InventoryEntryCreatedMessage) Message. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/InventoryEntryDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/InventoryEntry' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/inventory/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_products:{projectKey}" operationId: ByProjectKeyInventoryKeyByKeyGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/InventoryEntry' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" operationId: ByProjectKeyInventoryKeyByKeyHead description: |- Checks if an InventoryEntry exists with the provided `key`. Returns a `200` status if the InventoryEntry exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyInventoryKeyByKeyPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/InventoryEntryUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/InventoryEntry' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyInventoryKeyByKeyDelete description: |- Produces the [InventoryEntryDeleted](ctp:api:type:InventoryEntryDeletedMessage) Message. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/InventoryEntry' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/inventory/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_products:{projectKey}" operationId: ByProjectKeyInventoryByIDGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/InventoryEntry' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" operationId: ByProjectKeyInventoryByIDHead description: |- Checks if an InventoryEntry exists with the provided `id`. Returns a `200` status if the InventoryEntry exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyInventoryByIDPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/InventoryEntryUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/InventoryEntry' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyInventoryByIDDelete description: |- Produces the [InventoryEntryDeleted](ctp:api:type:InventoryEntryDeletedMessage) Message. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/InventoryEntry' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/login: description: |- Retrieves the authenticated customer. parameters: - name: projectKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_customers:{projectKey}" operationId: ByProjectKeyLoginPost description: |- Authenticates a global Customer. Allows [merging](/api/customers-overview#cart-merge-during-sign-in-and-sign-up) items from an anonymous Cart into the most recently modified active Cart of a Customer. If no active Cart exists, the anonymous Cart becomes the Customer's active Cart. If the Customer has multiple active Carts, the anonymous Cart is merged into the most recently modified active Cart. The anonymous Cart is not merged in any of the following cases: - The referenced Shipping Method is not active. - The referenced Shipping Method is scoped to a Store that differs from the Cart's Store. - The referenced Shipping Method is scoped to a Store, but the Cart does not belong to a Store. If an account with the given credentials is not found, an [InvalidCredentials](ctp:api:type:InvalidCredentialsError) error is returned. requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerSignin' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CustomerSignInResult' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/mcp-servers: description: |- Manage MCP Server configurations for a Project. parameters: - name: projectKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "manage_mcp_servers:{projectKey}" - "view_mcp_servers:{projectKey}" operationId: ByProjectKeyMcpServersGet parameters: - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/McpServerPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_mcp_servers:{projectKey}" operationId: ByProjectKeyMcpServersPost description: |- Creates a new MCP Server for the Project. Specific Error Codes: - [DuplicateField](ctp:api:type:DuplicateFieldError) requestBody: content: application/json: schema: $ref: '#/components/schemas/McpServerDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/McpServer' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/mcp-servers/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "manage_mcp_servers:{projectKey}" - "view_mcp_servers:{projectKey}" operationId: ByProjectKeyMcpServersKeyByKeyGet responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/McpServer' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_mcp_servers:{projectKey}" operationId: ByProjectKeyMcpServersKeyByKeyPost description: |- Specific Error Codes: - [InvalidOperation](ctp:api:type:InvalidOperationError) requestBody: content: application/json: schema: $ref: '#/components/schemas/McpServerUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/McpServer' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_mcp_servers:{projectKey}" operationId: ByProjectKeyMcpServersKeyByKeyDelete parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/McpServer' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/mcp-servers/types: parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-methodName: "types" get: security: - oauth_2_0: - "manage_project:{projectKey}" - "manage_mcp_servers:{projectKey}" - "view_mcp_servers:{projectKey}" operationId: ByProjectKeyMcpServersTypesGet description: |- Returns the catalog of available [MCP Server types](ctp:api:type:McpServerType), each with its major versions and the tools you can enable for them. responses: "200": description: |- 200 content: application/json: schema: type: array items: $ref: '#/components/schemas/McpServerType' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/mcp-servers/types/{mcpServerType}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: mcpServerType in: path required: true schema: type: "string" x-annotation-methodName: "withMcpServerType" get: security: - oauth_2_0: - "manage_project:{projectKey}" - "manage_mcp_servers:{projectKey}" - "view_mcp_servers:{projectKey}" operationId: ByProjectKeyMcpServersTypesByMcpServerTypeGet description: |- Returns a single [MCP Server type](ctp:api:type:McpServerType). When `majorVersion` is omitted, the latest major version is returned. parameters: - name: majorVersion in: query required: false style: form schema: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/McpServerType' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/mcp-servers/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "manage_mcp_servers:{projectKey}" - "view_mcp_servers:{projectKey}" operationId: ByProjectKeyMcpServersByIDGet responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/McpServer' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_mcp_servers:{projectKey}" operationId: ByProjectKeyMcpServersByIDPost description: |- Specific Error Codes: - [InvalidOperation](ctp:api:type:InvalidOperationError) requestBody: content: application/json: schema: $ref: '#/components/schemas/McpServerUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/McpServer' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_mcp_servers:{projectKey}" operationId: ByProjectKeyMcpServersByIDDelete parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/McpServer' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/me: parameters: - name: projectKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "manage_my_profile:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMeGet description: |- Returns a Customer for a given Query Predicate. Returns a `200` status if successful. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no Customer exists for the given Query Predicate. - If a Customer exists for the given Query Predicate, but does not have an `id` value that matches the [customer:{id}](/scopes#internal-oauth) scope. parameters: - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Customer' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_my_profile:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMePost description: |- Updates the Customer specified in the [customer:{id}](/scopes#internal-oauth) scope. Returns a `200` status if successful. requestBody: content: application/json: schema: $ref: '#/components/schemas/MyCustomerUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Customer' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_my_profile:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMeDelete description: |- Deletes the Customer specified in the [customer:{id}](/scopes#internal-oauth) scope. Returns a `200` status if successful. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Customer' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/me/active-cart: parameters: - name: projectKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "manage_my_orders:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMeActiveCartGet description: |- Retrieves the Customer's most recently modified [active Cart](ctp:api:type:CartState). Returns a `200` status if successful. Carts with `Merchant` or `Quote` [CartOrigin](ctp:api:type:CartOrigin) are ignored. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no active Cart exists. - If an active Cart exists but does not have a `customerId` that matches the [customer:{id}](/scopes#internal-oauth) scope, or `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Cart' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_my_orders:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMeActiveCartHead description: |- Checks if an active Cart exists. Returns a `200` status if successful. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no active Cart exists. - If an active Cart exists but does not have a `customerId` that matches the [customer:{id}](/scopes#internal-oauth) scope, or an `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope. responses: "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' "200": description: |- 200 content: {} /{projectKey}/me/business-units: description: |- MyBusinessUnit creates and provides access to Business Units scoped to a specific user. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "BusinessUnit" x-annotation-deleteable: "BusinessUnit" x-annotation-createable: "MyBusinessUnitDraft" get: security: - oauth_2_0: - "manage_my_business_units:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMeBusinessUnitsGet description: |- Retrieves Business Units for the authenticated Customer. Returns a `200` status if successful, or a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error otherwise. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/BusinessUnitPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_my_business_units:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMeBusinessUnitsHead description: |- Checks if one or more BusinessUnits exist for the provided query predicate. Returns a `200` status if any BusinessUnits match the Query Predicate and the Customer has access to them, or a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_my_business_units:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMeBusinessUnitsPost description: |- Automatically assigns the Associate to the Business Unit in the default [Associate Role](ctp:api:type:AssociateRole) defined in [BusinessUnitConfiguration](ctp:api:type:BusinessUnitConfiguration). If there is no default Associate Role configured, this request fails with an [InvalidOperation](ctp:api:type:InvalidOperationError) error. When creating a Division, the Associate must have the `AddChildUnits` [Permission](ctp:api:type:Permission) in the parent unit. If the required [Permission](ctp:api:type:Permission) is missing, an [AssociateMissingPermission](ctp:api:type:AssociateMissingPermissionError) error is returned. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/MyBusinessUnitDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/BusinessUnit' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/me/business-units/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "manage_my_business_units:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMeBusinessUnitsKeyByKeyGet description: |- Returns a Business Unit for a given `key`. Returns a `200` status if the Business Unit exists and the Customer has access to it, or a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error otherwise. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/BusinessUnit' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_my_business_units:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMeBusinessUnitsKeyByKeyHead description: |- Checks if a BusinessUnit exists with the provided `key`. Returns a `200` status if the Business Unit exists and the Customer has access to it, or a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_my_business_units:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMeBusinessUnitsKeyByKeyPost description: |- Updates a Business Unit for a given `key`. Returns a `200` status if the Business Unit exists and the Customer has access to it, or a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error otherwise. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/MyBusinessUnitUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/BusinessUnit' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/me/business-units/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "manage_my_business_units:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMeBusinessUnitsByIDGet description: |- Returns a Business Unit for a given `id`. Returns a `200` status if the Business Unit exists and the Customer has access to it, or a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error otherwise. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/BusinessUnit' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_my_business_units:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMeBusinessUnitsByIDHead description: |- Checks if a BusinessUnit exists with the provided `id`. Returns a `200` status if the BusinessUnit exists and the Customer has access to it, or a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_my_business_units:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMeBusinessUnitsByIDPost description: |- Updates a Business Unit for a given `id`. Returns a `200` status if the Business Unit exists and the Customer has access to it, or a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error otherwise. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/MyBusinessUnitUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/BusinessUnit' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/me/carts: description: |- A shopping cart holds product variants and can be ordered. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "Cart" x-annotation-deleteable: "Cart" x-annotation-createable: "MyCartDraft" get: security: - oauth_2_0: - "manage_my_orders:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMeCartsGet description: |- Retrieves Carts for the authenticated Customer or anonymous user. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CartPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_my_orders:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMeCartsHead description: |- Checks if a Cart exists that matches a given Query Predicate and contains either a matching `customerId` or `anonymousId`. Returns a `200` status if the Cart exists, or a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_my_orders:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMeCartsPost description: |- Creates a Cart for the Customer or anonymous user. The `customerId` or `anonymousId` field on the Cart is automatically set based on the [customer:{id}](/scopes#internal-oauth) or [anonymous_id:{id}](/scopes#internal-oauth) scope. Specific Error Codes: - [DiscountCodeNonApplicable](ctp:api:type:DiscountCodeNonApplicableError) - [InvalidItemShippingDetails](ctp:api:type:InvalidItemShippingDetailsError) - [MatchingPriceNotFound](ctp:api:type:MatchingPriceNotFoundError) - [MissingTaxRateForCountry](ctp:api:type:MissingTaxRateForCountryError) parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/MyCartDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Cart' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/me/carts/replicate: parameters: - name: projectKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_my_orders:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMeCartsReplicatePost description: |- Creates a new Cart by replicating an existing Cart or Order of the authenticated Customer. This can be useful in cases where a customer wants to cancel a recent order to make some changes or reorder a previous order. The replicated Cart preserves Customer information, Line Items and Custom Line Items, Custom Fields, Discount Codes, and other settings of the Cart or Order. If the Line Items become invalid, for example, due to removed Products or Prices, they are removed from the new Cart. If the Customer switches to another Customer Group, the new Cart is updated with the new value. It has up-to-date Tax Rates, Prices, and Line Item product data and is in `Active` [CartState](ctp:api:type:CartState). The new Cart does not contain Payments or Deliveries. The [State](ctp:api:type:ItemState) of Line Items and Custom Line Items is reset to `initial`. If the Cart or Order to be replicated does not belong to the authenticated Customer, the API returns a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error Specific Error Codes: - [MatchingPriceNotFound](ctp:api:type:MatchingPriceNotFoundError) - [MissingTaxRateForCountry](ctp:api:type:MissingTaxRateForCountryError) - [InvalidOperation](ctp:api:type:InvalidOperationError) is returned in several cases, including the following: - The referenced Shipping Method is not active. - The referenced Shipping Method is scoped to a Store that differs from the Cart's Store. - The referenced Shipping Method is scoped to a Store, but the Cart does not belong to a Store. requestBody: content: application/json: schema: $ref: '#/components/schemas/ReplicaMyCartDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Cart' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/me/carts/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "manage_my_orders:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMeCartsByIDGet description: |- Returns a Cart for a given `id`. Returns a `200` status if successful. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no Cart exists with the provided `id`. - If the Cart exists but does not have a `customerId` that matches the [customer:{id}](/scopes#internal-oauth) scope, or `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Cart' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_my_orders:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMeCartsByIDHead description: |- Checks if a Cart exists with the provided `id`. Returns a `200` status if the Cart exists. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no Cart exists with the provided `id`. - If the Cart exists but does not have a `customerId` that matches the [customer:{id}](/scopes#internal-oauth) scope, or `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_my_orders:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMeCartsByIDPost description: |- Updates the Cart for a given `id`. Returns a `200` status if successful. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no Cart exists with the provided `id`. - If the Cart exists but does not have a `customerId` that matches the [customer:{id}](/scopes#internal-oauth) scope, or `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/MyCartUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Cart' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_my_orders:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMeCartsByIDDelete description: |- Deletes the Cart for a given `id`. Returns a `200` status if successful. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no Cart exists with the provided `id`. - If the Cart exists but does not have a `customerId` that matches the [customer:{id}](/scopes#internal-oauth) scope, or `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Cart' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/me/email/confirm: parameters: - name: projectKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_my_profile:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMeEmailConfirmPost description: |- This is the last step in the [email verification process of a Customer](/api/projects/customers#email-verification-of-customer). After the email is verified, all email tokens issued previously through the [email verification flow](/api/projects/customers#email-verification-of-customer) are invalidated. This invalidation of tokens is [eventually consistent](/api/general-concepts#eventual-consistency). requestBody: content: application/json: schema: $ref: '#/components/schemas/MyCustomerEmailVerify' responses: "200": description: |- The email was verified. content: application/json: schema: $ref: '#/components/schemas/Customer' "400": $ref: '#/components/responses/errorable_400' "404": $ref: '#/components/responses/errorable_404' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/me/login: parameters: - name: projectKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_my_profile:{projectKey}" - "anonymous_id:{id}" operationId: ByProjectKeyMeLoginPost description: |- Retrieves the authenticated customer (that matches the given email/password pair). If used with an optional [access token for an anonymous session](ctp:api:type:AnonymousSession), all Orders and Carts that belong to the `anonymousId` are assigned to the newly logged-in Customer. - If the Customer does not have a Cart yet, the most recently modified anonymous cart becomes the Customer's Cart. - If the Customer already has a Cart, the most recently modified anonymous cart is handled in accordance with [AnonymousCartSignInMode](ctp:api:type:AnonymousCartSignInMode). If an account with the given credentials is not found, an [InvalidCredentials](ctp:api:type:InvalidCredentialsError) error is returned. requestBody: content: application/json: schema: $ref: '#/components/schemas/MyCustomerSignin' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/CustomerSignInResult' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/me/orders: description: |- An order can be created from a cart, usually after a checkout process has been completed. parameters: - name: projectKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "manage_my_orders:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMeOrdersGet description: |- Retrieves Orders for the authenticated Customer or anonymous user. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no Orders exist for the provided query predicate. - If an Order exists but does not have a `customerId` that matches the [customer:{id}](/scopes#internal-oauth) scope, or `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/OrderPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_my_orders:{projectKey}" - "customer:{customerId}" - "anonymous_id:{anonymousId}" operationId: ByProjectKeyMeOrdersHead description: |- Checks if one or more Orders exist for the provided query predicate for the authenticated Customer or anonymous user. Returns a `200` status if successful. A [Not Found](/api/errors#404-not-found) error is returned in the following scenarios: - If no Orders exist that match the provided query predicate. - If one or more Orders exist but don't have either a `customerId` that matches the [customer:{id}](/scopes#internal-oauth) scope, or an `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_my_orders:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMeOrdersPost description: |- Creates an Order from a Cart for the Customer or anonymous user. The `customerId` or `anonymousId` field on the Order is automatically set based on the [customer:{id}](/scopes#internal-oauth) or [anonymous_id:{id}](/scopes#internal-oauth) scope. The Cart must have a shipping address set. When creating [B2B Orders](/associates-overview#b2b-resources), the Customer must have the `CreateMyOrdersFromMyCarts` [Permission](ctp:api:type:Permission). If the Cart's `customerId` does not match the [customer:{id}](/scopes#internal-oauth) scope, or the `anonymousId` does not match the [anonymous_id:{id}](/scopes#internal-oauth) scope, a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned. Creating an Order produces the [OrderCreated](ctp:api:type:OrderCreatedMessage) Message. If a server-side problem occurs, indicated by a 500 Internal Server Error HTTP response, the Order creation may still successfully complete after the error is returned. If you receive this error, you should verify the status of the Order by querying a unique identifier supplied during the creation request, such as the Order number. Specific Error Codes: - [AssociateMissingPermission](ctp:api:type:AssociateMissingPermissionError) - [DiscountCodeNonApplicable](ctp:api:type:DiscountCodeNonApplicableError) - [InvalidItemShippingDetails](ctp:api:type:InvalidItemShippingDetailsError) - [OutOfStock](ctp:api:type:OutOfStockError) - [PriceChanged](ctp:api:type:PriceChangedError) - [ShippingMethodDoesNotMatchCart](ctp:api:type:ShippingMethodDoesNotMatchCartError) - [MatchingPriceNotFound](ctp:api:type:MatchingPriceNotFoundError) - [MissingTaxRateForCountry](ctp:api:type:MissingTaxRateForCountryError) parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/MyOrderFromCartDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Order' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/me/orders/quotes: parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-methodName: "orderQuote" post: security: - oauth_2_0: - "manage_quotes:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMeOrdersQuotesPost description: |- Creates an Order from a [Quote](ctp:api:type:Quote) for the authenticated Customer. To create [B2B Orders](/associates-overview#b2b-resources), the Customer must have the `CreateMyOrdersFromMyQuotes` [Permission](ctp:api:type:Permission). The referenced Quote must have the `Pending` [state](ctp:api:type:QuoteState) and must be valid (not past the `validTo` date); otherwise, an [InvalidOperation](ctp:api:type:InvalidOperationError) error is returned. Produces the [OrderCreated](ctp:api:type:OrderCreatedMessage) Message. Specific Error Codes: - [OutOfStock](ctp:api:type:OutOfStockError) - [InvalidItemShippingDetails](ctp:api:type:InvalidItemShippingDetailsError) - [CountryNotConfiguredInStore](ctp:api:type:CountryNotConfiguredInStoreError) - [AssociateMissingPermission](ctp:api:type:AssociateMissingPermissionError) requestBody: content: application/json: schema: $ref: '#/components/schemas/MyOrderFromQuoteDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Order' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/me/orders/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "manage_my_orders:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMeOrdersByIDGet description: |- Retrieves an Order with the provided `id` for the authenticated Customer or anonymous user. Returns a `200` status if successful. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no Order exists for the provided `id`. - If the Order exists but does not have either a `customerId` that matches the [customer:{id}](/scopes#internal-oauth) scope, or an `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Order' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_my_orders:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMeOrdersByIDHead description: |- Checks if an Order exists with the provided `id` for the authenticated Customer or anonymous user. Returns a `200` status if successful. A [Not Found](/api/errors#404-not-found) error is returned in the following scenarios: - If no Order exists for the provided `id`. - If the Order exists but does not have either a `customerId` that matches the [customer:{id}](/scopes#internal-oauth) scope, or an `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/me/password: parameters: - name: projectKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_my_profile:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMePasswordPost description: |- Changing the password of the Customer produces the [CustomerPasswordUpdated](ctp:api:type:CustomerPasswordUpdatedMessage) Message with `reset=false`. If the current password does not match, an [InvalidCurrentPassword](ctp:api:type:InvalidCurrentPasswordError) error is returned. requestBody: content: application/json: schema: $ref: '#/components/schemas/MyCustomerChangePassword' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Customer' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/me/password/reset: parameters: - name: projectKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_my_profile:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMePasswordResetPost description: |- This is the last step in the [password reset process of a Customer](/api/projects/customers#password-reset-of-customer). Resetting a password of the Customer produces the [CustomerPasswordUpdated](ctp:api:type:CustomerPasswordUpdatedMessage) Message with `reset=true`. After the password is reset, all password tokens issued previously through the [password reset flow](/api/projects/customers#password-reset-of-customer) are invalidated. In addition, any access and refresh tokens issued previously through the [password flow](/api/authorization#password-flow) and [refresh token flow](/api/authorization#refresh-token-flow) are invalidated. This invalidation of tokens is [eventually consistent](/api/general-concepts#eventual-consistency). requestBody: content: application/json: schema: $ref: '#/components/schemas/MyCustomerResetPassword' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Customer' "400": $ref: '#/components/responses/errorable_400' "404": $ref: '#/components/responses/errorable_404' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/me/payments: description: |- The My Payments endpoint creates and provides access to payments scoped to a specific user. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "MyPayment" x-annotation-deleteable: "MyPayment" x-annotation-createable: "MyPaymentDraft" get: security: - oauth_2_0: - "manage_my_payments:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMePaymentsGet description: |- Retrieves [Payments](/projects/me-payments#mypayment) for the authenticated Customer or anonymous user. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/MyPaymentPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_my_payments:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMePaymentsHead description: |- Checks if one or more [Payments](/projects/me-payments#mypayment) exist for the provided query predicate for the authenticated Customer or anonymous user. Returns a `200` status if any Payments match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_my_payments:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMePaymentsPost description: |- Creates a Payment for the authenticated Customer or anonymous user. Creating a Payment produces the [PaymentCreated](ctp:api:type:PaymentCreatedMessage) Message. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/MyPaymentDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/MyPayment' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/me/payments/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "manage_my_payments:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMePaymentsByIDGet description: |- Retrieves a Payment with the provided `id` for the authenticated Customer or anonymous user. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/MyPayment' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_my_payments:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMePaymentsByIDHead description: |- Checks if a Payment exists with the provided `id` for the authenticated Customer or anonymous user. Returns a `200` status if the Payment exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_my_payments:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMePaymentsByIDPost description: |- Updates a Payment for the authenticated Customer or anonymous user using one or more [update actions](/api/projects/me-payments#update-actions). You can only update a Payment if it has no [Transactions](ctp:api:type:Transaction). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/MyPaymentUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/MyPayment' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_my_payments:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMePaymentsByIDDelete description: |- Deletes a Payment with the provided `id` for the authenticated Customer or anonymous user. You can only delete a Payment if it has no [Transactions](ctp:api:type:Transaction). parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/MyPayment' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/me/quote-requests: description: |- The My Quote Requests endpoint creates and provides access to Quote Requests scoped to a specific user. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "QuoteRequest" x-annotation-deleteable: "QuoteRequest" x-annotation-createable: "MyQuoteRequestDraft" get: security: - oauth_2_0: - "manage_my_quote_requests:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMeQuoteRequestsGet description: |- Retrieves all QuoteRequests for the authenticated Customer. Returns a `200 OK` status if successful. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/QuoteRequestPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_my_quote_requests:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMeQuoteRequestsHead description: |- Checks if one or more QuoteRequests exist for the provided query predicate for the authenticated Customer. Returns a `200 OK` status if any QuoteRequests match the query predicate, or a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_my_quote_requests:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMeQuoteRequestsPost description: |- Creates a QuoteRequest for the authenticated Customer. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/MyQuoteRequestDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/QuoteRequest' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/me/quote-requests/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "manage_my_quote_requests:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMeQuoteRequestsKeyByKeyGet description: |- Retrieves a QuoteRequest with the provided `key` for the authenticated Customer. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/QuoteRequest' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_my_quote_requests:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMeQuoteRequestsKeyByKeyHead description: |- Checks if a QuoteRequest exists with the provided `key` for the authenticated Customer. Returns a `200 OK` status if the QuoteRequest exists or a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_my_quote_requests:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMeQuoteRequestsKeyByKeyPost description: |- Updates a QuoteRequest for the authenticated Customer using one or more [update actions](/api/projects/quote-requests#update-actions). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/MyQuoteRequestUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/QuoteRequest' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/me/quote-requests/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "manage_my_quote_requests:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMeQuoteRequestsByIDGet description: |- Retrieves a QuoteRequest with the provided `id` for the authenticated Customer. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/QuoteRequest' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_my_quote_requests:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMeQuoteRequestsByIDHead description: |- Checks if a QuoteRequest exists with the provided `id` for the authenticated Customer. Returns a `200 OK` status if the QuoteRequest exists or a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_my_quote_requests:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMeQuoteRequestsByIDPost description: |- Updates a QuoteRequest for the authenticated Customer using one or more [update actions](/api/projects/quote-requests#update-actions). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/MyQuoteRequestUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/QuoteRequest' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/me/quotes: description: |- The My Quote endpoint provides access to Quotes scoped to a specific user. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "Quote" x-annotation-deleteable: "Quote" get: security: - oauth_2_0: - "manage_my_quotes:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMeQuotesGet description: |- Retrieves all Quotes for the authenticated Customer. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/QuotePagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_my_quotes:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMeQuotesHead description: |- Checks if one or more Quotes exist for the provided query predicate for the authenticated Customer. Returns a `200 OK` status if any Quotes match the query predicate, or a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/me/quotes/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "manage_my_quotes:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMeQuotesKeyByKeyGet description: |- Retrieves a Quote with the provided `key` for the authenticated Customer. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Quote' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_my_quotes:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMeQuotesKeyByKeyHead description: |- Checks if a Quote exists with the provided `key` for the authenticated Customer. Returns a `200 OK` status if the Quote exists or a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_my_quotes:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMeQuotesKeyByKeyPost description: |- Updates a Quote for the authenticated Customer using one or more [update actions](/api/projects/quotes#update-actions). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/MyQuoteUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Quote' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/me/quotes/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "manage_my_quotes:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMeQuotesByIDGet description: |- Retrieves a Quote with the provided `id` for the authenticated Customer. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Quote' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_my_quotes:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMeQuotesByIDHead description: |- Checks if a Quote exists with the provided `id` for the authenticated Customer. Returns a `200 OK` status if the Quote exists or a [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_my_quotes:{projectKey}" - "customer_id:{id}" operationId: ByProjectKeyMeQuotesByIDPost description: |- Updates a Quote for the authenticated Customer using one or more [update actions](/api/projects/quotes#update-actions). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/MyQuoteUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Quote' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/me/shopping-lists: description: |- The My Shopping Lists endpoint creates and provides access to Shopping Lists scoped to a specific user. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "ShoppingList" x-annotation-deleteable: "ShoppingList" x-annotation-createable: "MyShoppingListDraft" get: security: - oauth_2_0: - "manage_my_shopping_lists:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMeShoppingListsGet description: |- Retrieves ShoppingLists for the authenticated Customer or anonymous user. Returns a `200` status if successful. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no ShoppingList exists for the provided query predicate. - If a ShoppingList exists but does not contain either an `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope, or a `customer` with `id` value that matches the [customer:{id}](/scopes#internal-oauth) scope. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingListPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_my_shopping_lists:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMeShoppingListsHead description: |- Checks if one or more ShoppingLists exist for the provided query predicate for the authenticated Customer or anonymous user. Returns a `200` status if successful. A [Not Found](/api/errors#404-not-found) error is returned in the following scenarios: - If no ShoppingList exists for the provided query predicate. - If a ShoppingList exists but does not contain either an `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope, or a `customer` with `id` value that matches the [customer:{id}](/scopes#internal-oauth) scope. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_my_shopping_lists:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMeShoppingListsPost description: |- Creates a ShoppingList for the authenticated Customer or anonymous user. The `customerId` or `anonymousId` on the ShoppingList is automatically set based on the given [customer:{id}](/scopes#internal-oauth) or [anonymous_id:{id}](/scopes#internal-oauth) scope. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/MyShoppingListDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/me/shopping-lists/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "manage_my_shopping_lists:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMeShoppingListsKeyByKeyGet description: |- Retrieves a ShoppingList with the provided `key` for the authenticated Customer or anonymous user. Returns a `200` status if successful. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no ShoppingList exists with the provided `key`. - If a ShoppingList exists but does not contain either an `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope, or a `customer` with `id` value that matches the [customer:{id}](/scopes#internal-oauth) scope. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_my_shopping_lists:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMeShoppingListsKeyByKeyHead description: |- Checks if a ShoppingList exists with the provided `key` for the authenticated Customer or anonymous user. Returns a `200` status if successful. A [Not Found](/api/errors#404-not-found) error is returned in the following scenarios: - If no ShoppingList exists with the provided `key`. - If a ShoppingList exists but does not contain either an `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope, or a `customer` with `id` value that matches the [customer:{id}](/scopes#internal-oauth) scope. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_my_shopping_lists:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMeShoppingListsKeyByKeyPost description: |- Updates a ShoppingList for the authenticated Customer or anonymous user using one or more [update actions](/api/projects/me-shoppingLists#update-actions). Returns a `200` status if successful. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no ShoppingList exists for the provided `key`. - If a ShoppingList exists but does not contain either an `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope, or a `customer` with `id` value that matches the [customer:{id}](/scopes#internal-oauth) scope. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/MyShoppingListUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_my_shopping_lists:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMeShoppingListsKeyByKeyDelete description: |- Deletes a ShoppingList for the authenticated Customer or anonymous user. Returns a `200` status if successful. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no ShoppingList exists with the provided `key`. - If a ShoppingList exists but does not contain either an `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope, or a `customer` with `id` value that matches the [customer:{id}](/scopes#internal-oauth) scope. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/me/shopping-lists/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "manage_my_shopping_lists:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMeShoppingListsByIDGet description: |- Retrieves a ShoppingList with the provided `id` for the authenticated Customer or anonymous user. Returns a `200` status if successful. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no ShoppingList exists with the provided `id`. - If a ShoppingList exists but does not contain either an `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope, or a `customer` with `id` value that matches the [customer:{id}](/scopes#internal-oauth) scope. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_my_shopping_lists:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMeShoppingListsByIDHead description: |- Checks if a ShoppingList exists with the provided `id` for the authenticated Customer or anonymous user. Returns a `200` status if successful. A [Not Found](/api/errors#404-not-found) error is returned in the following scenarios: - If no ShoppingList exists with the provided `id`. - If a ShoppingList exists but does not contain either an `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope, or a `customer` with `id` value that matches the [customer:{id}](/scopes#internal-oauth) scope. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_my_shopping_lists:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMeShoppingListsByIDPost description: |- Updates a ShoppingList for the authenticated Customer or anonymous user using one or more [update actions](/api/projects/me-shoppingLists#update-actions). Returns a `200` status if successful. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no ShoppingList exists for the provided `id`. - If a ShoppingList exists but does not contain either an `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope, or a `customer` with `id` value that matches the [customer:{id}](/scopes#internal-oauth) scope. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/MyShoppingListUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_my_shopping_lists:{projectKey}" - "customer_id:{id}" - "anonymous_id:{id}" operationId: ByProjectKeyMeShoppingListsByIDDelete description: |- Deletes a ShoppingList for the authenticated Customer or anonymous user. Returns a `200` status if successful. A [ResourceNotFound](ctp:api:type:ResourceNotFoundError) error is returned in the following scenarios: - If no ShoppingList exists with the provided `id`. - If a ShoppingList exists but does not contain either an `anonymousId` that matches the [anonymous_id:{id}](/scopes#internal-oauth) scope, or a `customer` with `id` value that matches the [customer:{id}](/scopes#internal-oauth) scope. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/me/signup: parameters: - name: projectKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_my_profile:{projectKey}" - "anonymous_id:{id}" operationId: ByProjectKeyMeSignupPost description: |- If used with an optional [access token for an anonymous session](ctp:api:type:AnonymousSession), all Orders and Carts that belong to the `anonymousId` are assigned to the newly created Customer. Creating a Customer produces the [CustomerCreated](ctp:api:type:CustomerCreatedMessage) Message. requestBody: content: application/json: schema: $ref: '#/components/schemas/MyCustomerDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/CustomerSignInResult' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/messages: description: |- A message represents a change or an action performed on a resource (like an Order or a Product). parameters: - name: projectKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_messages:{projectKey}" operationId: ByProjectKeyMessagesGet description: |- Deprecated OAuth 2.0 Scope: `view_orders:{projectKey}` parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/MessagePagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_messages:{projectKey}" operationId: ByProjectKeyMessagesHead description: |- Checks if one or more Messages exist for the provided query predicate. Returns a `200` status if any Messages match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/messages/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_messages:{projectKey}" operationId: ByProjectKeyMessagesByIDGet description: |- Deprecated OAuth 2.0 Scope: `view_orders:{projectKey}` parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Message' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_messages:{projectKey}" operationId: ByProjectKeyMessagesByIDHead description: |- Checks if a Message exists with the provided `id`. Returns a `200` status if the Message exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/orders: description: |- An order can be created from a order, usually after a checkout process has been completed. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "Order" x-annotation-deleteable: "Order" x-annotation-createable: "OrderFromCartDraft" get: security: - oauth_2_0: - "view_orders:{projectKey}" operationId: ByProjectKeyOrdersGet description: |- Retrieves Orders in the Project. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/OrderPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" operationId: ByProjectKeyOrdersHead description: |- Checks if one or more Orders exist for the provided query predicate. Returns a `200` status if any Orders match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_orders:{projectKey}" operationId: ByProjectKeyOrdersPost description: |- Creates an Order from a Cart. The Cart must have a shipping address set, regardless of the [TaxMode](ctp:api:type:TaxMode). For a Cart with `Platform` [TaxMode](ctp:api:type:TaxMode), the shipping address is used for tax calculation. Creating an Order produces the [OrderCreated](ctp:api:type:OrderCreatedMessage) Message. If the Order is created from a Recurring Order schedule, the [OrderCreatedFromRecurringOrder](ctp:api:type:OrderCreatedFromRecurringOrderMessage) Message is generated instead of the [OrderCreated](ctp:api:type:OrderCreatedMessage) Message. If a server-side problem occurs, indicated by a 500 Internal Server Error HTTP response, the Order creation may still successfully complete after the error is returned. If you receive this error, you should verify the status of the Order by querying a unique identifier supplied during the creation request, such as the Order number. Specific Error Codes: - [OutOfStock](ctp:api:type:OutOfStockError) - [PriceChanged](ctp:api:type:PriceChangedError) - [DiscountCodeNonApplicable](ctp:api:type:DiscountCodeNonApplicableError) - [ShippingMethodDoesNotMatchCart](ctp:api:type:ShippingMethodDoesNotMatchCartError) - [InvalidItemShippingDetails](ctp:api:type:InvalidItemShippingDetailsError) - [InvalidOperation](ctp:api:type:InvalidOperationError) is returned in several cases, including the following: - The referenced Shipping Method is not active. - The referenced Shipping Method is scoped to a Store that differs from the Cart's Store. - The referenced Shipping Method is scoped to a Store, but the Cart does not belong to a Store. - [MatchingPriceNotFound](ctp:api:type:MatchingPriceNotFoundError) - [MissingTaxRateForCountry](ctp:api:type:MissingTaxRateForCountryError) parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/OrderFromCartDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Order' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/orders/edits: description: |- OrderEdit are containers for financial changes after an Order has been placed. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "OrderEdit" x-annotation-deleteable: "OrderEdit" x-annotation-createable: "OrderEditDraft" get: security: - oauth_2_0: - "view_order_edits:{projectKey}" operationId: ByProjectKeyOrdersEditsGet description: |- Retrieves OrderEdits in the Project. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/OrderEditPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_order_edits:{projectKey}" operationId: ByProjectKeyOrdersEditsHead description: |- Checks if one or more OrderEdits exist for the provided query predicate. Returns a `200` status if any OrderEdits match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_order_edits:{projectKey}" operationId: ByProjectKeyOrdersEditsPost description: |- Creates an OrderEdit in the Project. You can either create multiple Order Edits for an Order and apply them sequentially to an Order, or create multiple Order Edits parallelly (as alternatives to each other) and apply one of them to the Order. You can only create an Order Edit if the [InventoryMode](ctp:api:type:InventoryMode) of the Order and its [LineItems](/projects/carts#lineitem) is `None`. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/OrderEditDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/OrderEdit' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/orders/edits/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_order_edits:{projectKey}" operationId: ByProjectKeyOrdersEditsKeyByKeyGet description: |- Retrieves an OrderEdit with the provided `key`. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/OrderEdit' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_order_edits:{projectKey}" operationId: ByProjectKeyOrdersEditsKeyByKeyHead description: |- Checks if an OrderEdit exists with the provided `key`. Returns a `200` status if the OrderEdit exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_order_edits:{projectKey}" operationId: ByProjectKeyOrdersEditsKeyByKeyPost description: |- Updates an OrderEdit in the Project using one or more [update actions](/api/projects/order-edits#update-actions). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/OrderEditUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/OrderEdit' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_order_edits:{projectKey}" operationId: ByProjectKeyOrdersEditsKeyByKeyDelete description: |- Deletes an OrderEdit in the Project. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/OrderEdit' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/orders/edits/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_order_edits:{projectKey}" operationId: ByProjectKeyOrdersEditsByIDGet description: |- Retrieves an OrderEdit with the provided `id`. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/OrderEdit' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_order_edits:{projectKey}" operationId: ByProjectKeyOrdersEditsByIDHead description: |- Checks if an OrderEdit exists with the provided `id`. Returns a `200` status if the OrderEdit exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_order_edits:{projectKey}" operationId: ByProjectKeyOrdersEditsByIDPost description: |- Updates an OrderEdit in the Project using one or more [update actions](/api/projects/order-edits#update-actions). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/OrderEditUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/OrderEdit' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_order_edits:{projectKey}" operationId: ByProjectKeyOrdersEditsByIDDelete description: |- Deletes an OrderEdit in the Project. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/OrderEdit' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/orders/edits/{ID}/apply: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_order_edits:{projectKey}" operationId: ByProjectKeyOrdersEditsByIDApplyPost description: |- Applying an OrderEdit produces the [OrderEditApplied](ctp:api:type:OrderEditAppliedMessage) Message. requestBody: content: application/json: schema: $ref: '#/components/schemas/OrderEditApply' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/OrderEdit' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/orders/import: parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-methodName: "importOrder" post: security: - oauth_2_0: - "manage_orders:{projectKey}" operationId: ByProjectKeyOrdersImportPost description: |- Creates an Order without needing to create a Cart first. Importing an Order produces the [Order Imported](ctp:api:type:OrderImportedMessage) Message. Specific Error Codes: - [OutOfStock](ctp:api:type:OutOfStockError) - [CountryNotConfiguredInStore](ctp:api:type:CountryNotConfiguredInStoreError) requestBody: content: application/json: schema: $ref: '#/components/schemas/OrderImportDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Order' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/orders/order-number={orderNumber}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: orderNumber in: path required: true schema: type: "string" x-annotation-methodName: "withOrderNumber" get: security: - oauth_2_0: - "view_orders:{projectKey}" operationId: ByProjectKeyOrdersOrderNumberByOrderNumberGet description: |- Retrieves an Order with the provided `orderNumber`. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Order' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" operationId: ByProjectKeyOrdersOrderNumberByOrderNumberHead description: |- Checks if an Order exists with the provided `orderNumber`. Returns a `200` status if the Order exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_orders:{projectKey}" operationId: ByProjectKeyOrdersOrderNumberByOrderNumberPost description: |- Updates an Order in the Project using one or more [update actions](/api/projects/orders#update-actions). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/OrderUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Order' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_orders:{projectKey}" operationId: ByProjectKeyOrdersOrderNumberByOrderNumberDelete description: |- Deletes an Order in the Project. Deleting an Order produces the [OrderDeleted](ctp:api:type:OrderDeletedMessage) Message. parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Order' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/orders/quotes: parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-methodName: "orderQuote" post: security: - oauth_2_0: - "manage_quotes:{projectKey}" operationId: ByProjectKeyOrdersQuotesPost description: |- Creates an Order from a Quote. The referenced Quote must have the `Pending` [state](ctp:api:type:QuoteState) and must be valid (not past the `validTo` date); otherwise, an [InvalidOperation](ctp:api:type:InvalidOperationError) error is returned. Produces the [OrderCreated](ctp:api:type:OrderCreatedMessage) Message. Specific Error Codes: - [CountryNotConfiguredInStore](ctp:api:type:CountryNotConfiguredInStoreError) - [InvalidItemShippingDetails](ctp:api:type:InvalidItemShippingDetailsError) - [InvalidOperation](ctp:api:type:InvalidOperationError) is returned in several cases, including the following: - The referenced Shipping Method is not active. - The referenced Shipping Method is scoped to a Store that differs from the Store referenced by the [Quote](ctp:api:type:Quote). - The referenced Shipping Method is scoped to a Store, but the [Quote](ctp:api:type:Quote) does not belong to a Store. - [OutOfStock](ctp:api:type:OutOfStockError) requestBody: content: application/json: schema: $ref: '#/components/schemas/OrderFromQuoteDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Order' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/orders/search: description: |- This endpoint provides high performance search queries over Orders. The order search allows searching through all orders (currently supporting a limit of the 10.000.000 newest orders) in your project. parameters: - name: projectKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "view_orders:{projectKey}" operationId: ByProjectKeyOrdersSearchPost requestBody: content: application/json: schema: $ref: '#/components/schemas/OrderSearchRequest' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/OrderPagedSearchResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" operationId: ByProjectKeyOrdersSearchHead description: |- Checks whether a search index for the Project's Orders exists. Returns a `200` status if the index exists, or a `404` status otherwise. responses: "200": description: |- The index exists and the Search Orders endpoint can be used. content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/orders/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_orders:{projectKey}" operationId: ByProjectKeyOrdersByIDGet description: |- Retrieves an Order with the provided `id`. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Order' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" operationId: ByProjectKeyOrdersByIDHead description: |- Checks if an Order exists with the provided `id`. Returns a `200` status if the Order exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_orders:{projectKey}" operationId: ByProjectKeyOrdersByIDPost description: |- Updates an Order in the Project using one or more [update actions](/api/projects/orders#update-actions). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/OrderUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Order' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_orders:{projectKey}" operationId: ByProjectKeyOrdersByIDDelete description: |- Deletes an Order in the Project. Deleting an Order produces the [OrderDeleted](ctp:api:type:OrderDeletedMessage) Message. parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Order' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/payment-methods: description: |- A PaymentMethod stores details about the method and the PSP parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "PaymentMethod" x-annotation-deleteable: "PaymentMethod" x-annotation-createable: "PaymentMethodDraft" get: security: - oauth_2_0: - "view_payment_methods:{projectKey}" operationId: ByProjectKeyPaymentMethodsGet description: |- Retrieves all PaymentMethods in the Project. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/PaymentMethodPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_payment_methods:{projectKey}" operationId: ByProjectKeyPaymentMethodsHead description: |- Checks if one or more PaymentMethods exist for the provided query predicate. Returns a `200` status if any PaymentMethods match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_payment_methods:{projectKey}" operationId: ByProjectKeyPaymentMethodsPost description: |- Creates a PaymentMethod in the Project. This request generates the [PaymentMethodCreated](ctp:api:type:PaymentMethodCreatedMessage) Message. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentMethodDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/PaymentMethod' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/payment-methods/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_payment_methods:{projectKey}" operationId: ByProjectKeyPaymentMethodsKeyByKeyGet description: |- Retrieves a PaymentMethod with the provided `key`. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/PaymentMethod' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_payment_methods:{projectKey}" operationId: ByProjectKeyPaymentMethodsKeyByKeyHead description: |- Checks if a PaymentMethod exists with the provided `key`. Returns a `200` status if the PaymentMethod exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_payment_methods:{projectKey}" operationId: ByProjectKeyPaymentMethodsKeyByKeyPost description: |- Updates a PaymentMethod in the Project using one or more [update actions](/api/projects/payment-methods#update-actions). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentMethodUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/PaymentMethod' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_payment_methods:{projectKey}" operationId: ByProjectKeyPaymentMethodsKeyByKeyDelete description: |- Deletes a PaymentMethod in the Project. This request generates the [PaymentMethodDeleted](ctp:api:type:PaymentMethodDeletedMessage) Message. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/PaymentMethod' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/payment-methods/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_payment_methods:{projectKey}" operationId: ByProjectKeyPaymentMethodsByIDGet description: |- Retrieves a PaymentMethod with the provided `id`. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/PaymentMethod' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_payment_methods:{projectKey}" operationId: ByProjectKeyPaymentMethodsByIDHead description: |- Checks if a PaymentMethod exists with the provided `id`. Returns a `200` status if the PaymentMethod exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_payment_methods:{projectKey}" operationId: ByProjectKeyPaymentMethodsByIDPost description: |- Updates a PaymentMethod in the Project using one or more [update actions](/api/projects/payment-methods#update-actions). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentMethodUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/PaymentMethod' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_payment_methods:{projectKey}" operationId: ByProjectKeyPaymentMethodsByIDDelete description: |- Deletes a PaymentMethod in the Project. This request generates the [PaymentMethodDeleted](ctp:api:type:PaymentMethodDeletedMessage) Message. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/PaymentMethod' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/payments: description: |- Payments hold information about the current state of receiving and/or refunding money parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "Payment" x-annotation-deleteable: "Payment" x-annotation-createable: "PaymentDraft" get: security: - oauth_2_0: - "view_payments:{projectKey}" operationId: ByProjectKeyPaymentsGet description: |- Retrieves Payments in the Project. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/PaymentPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_payments:{projectKey}" operationId: ByProjectKeyPaymentsHead description: |- Checks if one or more Payments exist for the provided query predicate. Returns a `200` status if any Payments match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_payments:{projectKey}" operationId: ByProjectKeyPaymentsPost description: |- Creates a Payment in the Project. Creating a Payment produces the [PaymentCreated](ctp:api:type:PaymentCreatedMessage) Message. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Payment' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/payments/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_payments:{projectKey}" operationId: ByProjectKeyPaymentsKeyByKeyGet description: |- Retrieves a Payment with the provided `key`. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Payment' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_payments:{projectKey}" operationId: ByProjectKeyPaymentsKeyByKeyHead description: |- Checks if a Payment exists with the provided `key`. Returns a `200` status if the Payment exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_payments:{projectKey}" operationId: ByProjectKeyPaymentsKeyByKeyPost description: |- Updates a Payment in the Project using one or more [update actions](/api/projects/payments#update-actions). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Payment' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_payments:{projectKey}" operationId: ByProjectKeyPaymentsKeyByKeyDelete description: |- Deletes a Payment in the Project. parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Payment' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/payments/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_payments:{projectKey}" operationId: ByProjectKeyPaymentsByIDGet description: |- Retrieves a Payment with the provided `id`. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Payment' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_payments:{projectKey}" operationId: ByProjectKeyPaymentsByIDHead description: |- Checks if a Payment exists with the provided `id`. Returns a `200` status if the Payment exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_payments:{projectKey}" operationId: ByProjectKeyPaymentsByIDPost description: |- Updates a Payment in the Project using one or more [update actions](/api/projects/payments#update-actions). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Payment' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_payments:{projectKey}" operationId: ByProjectKeyPaymentsByIDDelete description: |- Deletes a Payment in the Project. parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Payment' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/product-discounts: description: |- Product discounts are used to change certain product prices. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "ProductDiscount" x-annotation-deleteable: "ProductDiscount" x-annotation-createable: "ProductDiscountDraft" get: security: - oauth_2_0: - "view_product_discounts:{projectKey}" - "view_products:{projectKey}" operationId: ByProjectKeyProductDiscountsGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductDiscountPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_product_discounts:{projectKey}" - "view_products:{projectKey}" operationId: ByProjectKeyProductDiscountsHead description: |- Checks if one or more ProductDiscounts exist for the provided query predicate. Returns a `200` status if any ProductDiscounts match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_product_discounts:{projectKey}" - "manage_products:{projectKey}" operationId: ByProjectKeyProductDiscountsPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductDiscountDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ProductDiscount' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/product-discounts/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_product_discounts:{projectKey}" - "view_products:{projectKey}" operationId: ByProjectKeyProductDiscountsKeyByKeyGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductDiscount' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_product_discounts:{projectKey}" - "view_products:{projectKey}" operationId: ByProjectKeyProductDiscountsKeyByKeyHead description: |- Checks if a ProductDiscount exists with the provided `key`. Returns a `200` status if the ProductDiscount exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_product_discounts:{projectKey}" - "manage_products:{projectKey}" operationId: ByProjectKeyProductDiscountsKeyByKeyPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductDiscountUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductDiscount' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_product_discounts:{projectKey}" - "manage_products:{projectKey}" operationId: ByProjectKeyProductDiscountsKeyByKeyDelete parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductDiscount' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/product-discounts/matching: parameters: - name: projectKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "view_product_discounts:{projectKey}" - "view_products:{projectKey}" operationId: ByProjectKeyProductDiscountsMatchingPost description: |- This endpoint can be used to simulate which Product Discounts would be applied if a specified Product Variant had a specified Price. Given Product and Product Variant IDs and a Price, this endpoint will return the [ProductDiscount](ctp:api:type:ProductDiscount) that would have been applied to that Price. If a Product Discount could not be found that could be applied to the Price of a Product Variant, a [NoMatchingProductDiscountFound](ctp:api:type:NoMatchingProductDiscountFoundError) error is returned. requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductDiscountMatchQuery' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductDiscount' "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/product-discounts/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_product_discounts:{projectKey}" - "view_products:{projectKey}" operationId: ByProjectKeyProductDiscountsByIDGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductDiscount' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_product_discounts:{projectKey}" - "view_products:{projectKey}" operationId: ByProjectKeyProductDiscountsByIDHead description: |- Checks if a ProductDiscount exists with the provided `id`. Returns a `200` status if the ProductDiscount exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_product_discounts:{projectKey}" - "manage_products:{projectKey}" operationId: ByProjectKeyProductDiscountsByIDPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductDiscountUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductDiscount' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_product_discounts:{projectKey}" - "manage_products:{projectKey}" operationId: ByProjectKeyProductDiscountsByIDDelete parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductDiscount' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/product-projections: description: |- A projected representation of a product shows the product with its current or staged data. The current or staged representation of a product in a catalog is called a product projection. parameters: - name: projectKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_products:{projectKey}" - "view_published_products:{projectKey}" operationId: ByProjectKeyProductProjectionsGet description: |- Retrieves the [projected](/api/projects/productProjections#projection-dimensions) representation of [Products](ctp:api:type:Product) by [query predicates](/api/predicates/query). By default, this endpoint returns the `current` representation of Products where the `published` flag is `true`. If a Product is unpublished (`published=false`), the endpoint returns a [Not Found](/api/errors#404-not-found) error. Required access scopes: - To retrieve the current representation of published Products (published data), the `view_published_products:{projectKey}` scope is required. - To retrieve the staged representation of Products (draft data) or access unpublished Products, the API Client must have the `view_products:{projectKey}` scope. parameters: - name: staged x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: priceCurrency in: query required: false style: form schema: $ref: '#/components/schemas/CurrencyCode' explode: true - name: priceCountry in: query required: false style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: priceCustomerGroup in: query required: false style: form schema: type: "string" explode: true - name: priceCustomerGroupAssignments in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: priceChannel in: query required: false style: form schema: type: "string" explode: true - name: priceRecurrencePolicy x-beta: true in: query required: false style: form schema: type: "string" explode: true - name: localeProjection in: query required: false style: form schema: type: "array" items: $ref: '#/components/schemas/Locale' explode: true - name: storeProjection in: query required: false style: form schema: type: "string" explode: true - name: filter[attributes] in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductProjectionPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" - "view_published_products:{projectKey}" operationId: ByProjectKeyProductProjectionsHead description: |- Checks if the current or staged representation of a Product exists for the provided query predicate. Returns a `200` status if any ProductProjections match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/product-projections/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_products:{projectKey}" - "view_published_products:{projectKey}" operationId: ByProjectKeyProductProjectionsKeyByKeyGet description: |- Retrieves the [projected](/api/projects/productProjections#projection-dimensions) representation of a [Product](ctp:api:type:Product) by its Key. By default, this endpoint returns the `current` representation of Products where the `published` flag is `true`. If a Product is unpublished (`published=false`), the endpoint returns a [Not Found](/api/errors#404-not-found) error. Required access scopes: - To retrieve the current representation of published Products (published data), the `view_published_products:{projectKey}` scope is required. - To retrieve the staged representation of Products (draft data) or access unpublished Products, the API Client must have the `view_products:{projectKey}` scope. parameters: - name: staged x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: priceCurrency in: query required: false style: form schema: $ref: '#/components/schemas/CurrencyCode' explode: true - name: priceCountry in: query required: false style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: priceCustomerGroup in: query required: false style: form schema: type: "string" explode: true - name: priceCustomerGroupAssignments in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: priceChannel in: query required: false style: form schema: type: "string" explode: true - name: priceRecurrencePolicy x-beta: true in: query required: false style: form schema: type: "string" explode: true - name: localeProjection in: query required: false style: form schema: type: "array" items: $ref: '#/components/schemas/Locale' explode: true - name: storeProjection in: query required: false style: form schema: type: "string" explode: true - name: filter[attributes] in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductProjection' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" - "view_published_products:{projectKey}" operationId: ByProjectKeyProductProjectionsKeyByKeyHead description: |- Checks if the current or staged representation of a Product exists with the provided `key`. Returns a `200` status if the ProductProjection exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/product-projections/key={key}/variant-attributes: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_products:{projectKey}" - "view_published_products:{projectKey}" operationId: ByProjectKeyProductProjectionsKeyByKeyVariantAttributesGet description: |- Returns a lightweight representation of all Variants for a [Product](ctp:api:type:Product), including only the requested variant-level [Attributes](ctp:api:type:Attribute) and minimal availability data. Designed for building attribute selectors on product detail pages (PDPs) with large numbers of variants. Only available for Projects with [productCatalogModel](ctp:api:type:ProductCatalogModel) set to `Modular`. Product-level Attributes are omitted from the response. Required access scopes: - To retrieve the current representation of published Products (published data), the `view_published_products:{projectKey}` or `view_products:{projectKey}` scope is required. - To retrieve the staged representation of Products (draft data), the API Client must have the `view_products:{projectKey}` scope. parameters: - name: staged x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: localeProjection in: query required: false style: form schema: type: "array" items: $ref: '#/components/schemas/Locale' explode: true - name: filter[attributes] in: query required: true style: form schema: type: "array" items: type: "string" explode: true - name: filter[supplyChannels] in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/VariantAttributes' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/product-projections/search: parameters: - name: projectKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "view_products:{projectKey}" - "view_published_products:{projectKey}" operationId: ByProjectKeyProductProjectionsSearchPost description: |- For implementing funnel search on Product Listing Pages where users select multiple filters, use this POST method. To avoid URL length restrictions, this method passes the same query parameters as defined in the [GET](ctp:api:endpoint:/{projectKey}/product-projections/search:GET) method, within the request body in URL-encoded format. requestBody: content: application/x-www-form-urlencoded: schema: type: "string" x-markDeprecated: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductProjectionPagedSearchResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' get: security: - oauth_2_0: - "view_products:{projectKey}" - "view_published_products:{projectKey}" operationId: ByProjectKeyProductProjectionsSearchGet description: |- This method appends query parameters to the URL. The maximum allowed URL length is 8192 characters. Exceeding this limit will result in URL truncation, potentially leading to unexpected results. For funnel searches on Product Listing Pages, where users select multiple filters, we recommend the [POST](ctp:api:endpoint:/{projectKey}/product-projections/search:POST) method which passes the query parameters within the request body, avoiding URL length restrictions. parameters: - name: markMatchingVariants x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: /text.[a-z]{2}(-[A-Z]{2})?/ x-annotation-placeholderParam: paramName: "text" template: "text." placeholder: "locale" in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: fuzzy x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: fuzzyLevel in: query required: false style: form schema: type: "number" format: "double" explode: true - name: filter.query in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: filter in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: facet in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: filter.facets in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: staged x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: priceCurrency in: query required: false style: form schema: $ref: '#/components/schemas/CurrencyCode' explode: true - name: priceCountry in: query required: false style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: priceCustomerGroup in: query required: false style: form schema: type: "string" explode: true - name: priceCustomerGroupAssignments in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: priceChannel in: query required: false style: form schema: type: "string" explode: true - name: priceRecurrencePolicy x-beta: true in: query required: false style: form schema: type: "string" explode: true - name: localeProjection in: query required: false style: form schema: type: "array" items: $ref: '#/components/schemas/Locale' explode: true - name: storeProjection in: query required: false style: form schema: type: "string" explode: true x-markDeprecated: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductProjectionPagedSearchResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/product-projections/suggest: description: |- The source of data for suggestions is the searchKeyword field in a product parameters: - name: projectKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_products:{projectKey}" - "view_published_products:{projectKey}" operationId: ByProjectKeyProductProjectionsSuggestGet parameters: - name: /searchKeywords.[a-z]{2}(-[A-Z]{2})?/ x-annotation-placeholderParam: paramName: "searchKeywords" template: "searchKeywords." placeholder: "locale" in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 10 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: fuzzy x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: staged x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true x-markDeprecated: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/SuggestionResult' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/product-projections/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_products:{projectKey}" - "view_published_products:{projectKey}" operationId: ByProjectKeyProductProjectionsByIDGet description: |- Retrieves the [projected](/api/projects/productProjections#projection-dimensions) representation of a [Product](ctp:api:type:Product) by its ID. By default, this endpoint returns the `current` representation of Products where the `published` flag is `true`. If a Product is unpublished (`published=false`), the endpoint returns a [Not Found](/api/errors#404-not-found) error. Required access scopes: - To retrieve the current representation of published Products (published data), the `view_published_products:{projectKey}` scope is required. - To retrieve the staged representation of Products (draft data) or access unpublished Products, the API Client must have the `view_products:{projectKey}` scope. parameters: - name: staged x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: priceCurrency in: query required: false style: form schema: $ref: '#/components/schemas/CurrencyCode' explode: true - name: priceCountry in: query required: false style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: priceCustomerGroup in: query required: false style: form schema: type: "string" explode: true - name: priceCustomerGroupAssignments in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: priceChannel in: query required: false style: form schema: type: "string" explode: true - name: priceRecurrencePolicy x-beta: true in: query required: false style: form schema: type: "string" explode: true - name: localeProjection in: query required: false style: form schema: type: "array" items: $ref: '#/components/schemas/Locale' explode: true - name: storeProjection in: query required: false style: form schema: type: "string" explode: true - name: filter[attributes] in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductProjection' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" - "view_published_products:{projectKey}" operationId: ByProjectKeyProductProjectionsByIDHead description: |- Checks if the current or staged representation of a Product exists with the provided `id`. Returns a `200` status if the ProductProjection exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/product-projections/{ID}/variant-attributes: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_products:{projectKey}" - "view_published_products:{projectKey}" operationId: ByProjectKeyProductProjectionsByIDVariantAttributesGet description: |- Returns a lightweight representation of all Variants for a [Product](ctp:api:type:Product), including only the requested variant-level [Attributes](ctp:api:type:Attribute) and minimal availability data. Designed for building attribute selectors on product detail pages (PDPs) with large numbers of variants. Only available for Projects with [productCatalogModel](ctp:api:type:ProductCatalogModel) set to `Modular`. Product-level Attributes are omitted from the response. Required access scopes: - To retrieve the current representation of published Products (published data), the `view_published_products:{projectKey}` or `view_products:{projectKey}` scope is required. - To retrieve the staged representation of Products (draft data), the API Client must have the `view_products:{projectKey}` scope. parameters: - name: staged x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: localeProjection in: query required: false style: form schema: type: "array" items: $ref: '#/components/schemas/Locale' explode: true - name: filter[attributes] in: query required: true style: form schema: type: "array" items: type: "string" explode: true - name: filter[supplyChannels] in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/VariantAttributes' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/product-selections: description: |- Manage individual Store assortments through Product Selections. After you have created Product Selections and populated them with Products, you can manage Store assortments by assigning Product Selections to Stores. Product Selections may be used by a single Store or shared across several Stores. As a good practice, we recommend first creating Products in the project, and then creating Product Selection. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "ProductSelection" x-annotation-deleteable: "ProductSelection" x-annotation-createable: "ProductSelectionDraft" get: security: - oauth_2_0: - "view_product_selections:{projectKey}" operationId: ByProjectKeyProductSelectionsGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductSelectionPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_product_selections:{projectKey}" operationId: ByProjectKeyProductSelectionsHead description: |- Checks if one or more ProductSelections exist for the provided query predicate. Returns a `200` status if any ProductSelections match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_product_selections:{projectKey}" operationId: ByProjectKeyProductSelectionsPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductSelectionDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ProductSelection' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/product-selections/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_product_selections:{projectKey}" operationId: ByProjectKeyProductSelectionsKeyByKeyGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductSelection' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_product_selections:{projectKey}" operationId: ByProjectKeyProductSelectionsKeyByKeyHead description: |- Checks if a ProductSelection exists with the provided `key`. Returns a `200` status if the ProductSelection exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_product_selections:{projectKey}" operationId: ByProjectKeyProductSelectionsKeyByKeyPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductSelectionUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductSelection' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_product_selections:{projectKey}" operationId: ByProjectKeyProductSelectionsKeyByKeyDelete description: |- Deletion will only succeed if the Product Selection is not assigned to any [Store](ctp:api:type:Store). parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductSelection' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/product-selections/key={key}/products: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_product_selections:{projectKey}" operationId: ByProjectKeyProductSelectionsKeyByKeyProductsGet description: |- parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: withTotal x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductSelectionProductPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/product-selections/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_product_selections:{projectKey}" operationId: ByProjectKeyProductSelectionsByIDGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductSelection' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_product_selections:{projectKey}" operationId: ByProjectKeyProductSelectionsByIDHead description: |- Checks if a ProductSelection exists with the provided `id`. Returns a `200` status if the ProductSelection exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_product_selections:{projectKey}" operationId: ByProjectKeyProductSelectionsByIDPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductSelectionUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductSelection' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_product_selections:{projectKey}" operationId: ByProjectKeyProductSelectionsByIDDelete description: |- Deletion will only succeed if the Product Selection is not assigned to any [Store](ctp:api:type:Store). parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductSelection' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/product-selections/{ID}/products: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_product_selections:{projectKey}" operationId: ByProjectKeyProductSelectionsByIDProductsGet description: |- parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: withTotal x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductSelectionProductPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/product-tailoring: description: |- Product tailoring are used to contextualize product data for specific stores. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "ProductTailoring" x-annotation-deleteable: "ProductTailoring" x-annotation-createable: "ProductTailoringDraft" get: security: - oauth_2_0: - "view_products:{projectKey}" operationId: ByProjectKeyProductTailoringGet parameters: - name: withTotal x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductTailoringPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" operationId: ByProjectKeyProductTailoringHead description: |- Checks if one or more ProductTailorings exist for the provided query predicate. Returns a `200` status if any ProductTailoring match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyProductTailoringPost description: |- Generates the [ProductTailoringCreated](ctp:api:type:ProductTailoringCreatedMessage) Message. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductTailoringDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ProductTailoring' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/product-tailoring/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_products:{projectKey}" operationId: ByProjectKeyProductTailoringKeyByKeyGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductTailoring' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyProductTailoringKeyByKeyPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductTailoringUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductTailoring' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyProductTailoringKeyByKeyDelete description: |- Generates the [ProductTailoringDeleted](ctp:api:type:ProductTailoringDeletedMessage) Message. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductTailoring' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/product-tailoring/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_products:{projectKey}" operationId: ByProjectKeyProductTailoringByIDGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductTailoring' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyProductTailoringByIDPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductTailoringUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductTailoring' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyProductTailoringByIDDelete description: |- Generates the [ProductTailoringDeleted](ctp:api:type:ProductTailoringDeletedMessage) Message. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductTailoring' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/product-types: description: |- Product Types are used to describe common characteristics, most importantly common custom attributes, of many concrete products. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "ProductType" x-annotation-deleteable: "ProductType" x-annotation-createable: "ProductTypeDraft" get: security: - oauth_2_0: - "view_product_types:{projectKey}" - "view_products:{projectKey}" operationId: ByProjectKeyProductTypesGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductTypePagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_product_types:{projectKey}" - "view_products:{projectKey}" operationId: ByProjectKeyProductTypesHead description: |- Checks if one or more ProductTypes exist for the provided query predicate. Returns a `200` status if any ProductTypes match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_product_types:{projectKey}" - "manage_products:{projectKey}" operationId: ByProjectKeyProductTypesPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductTypeDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ProductType' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/product-types/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_product_types:{projectKey}" - "view_products:{projectKey}" operationId: ByProjectKeyProductTypesKeyByKeyGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductType' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_product_types:{projectKey}" - "view_products:{projectKey}" operationId: ByProjectKeyProductTypesKeyByKeyHead description: |- Checks if a ProductType exists with the provided `key`. Returns a `200` status if the ProductType exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_product_types:{projectKey}" - "manage_products:{projectKey}" operationId: ByProjectKeyProductTypesKeyByKeyPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductTypeUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductType' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_product_types:{projectKey}" - "manage_products:{projectKey}" operationId: ByProjectKeyProductTypesKeyByKeyDelete parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductType' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/product-types/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_product_types:{projectKey}" - "view_products:{projectKey}" operationId: ByProjectKeyProductTypesByIDGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductType' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_product_types:{projectKey}" - "view_products:{projectKey}" operationId: ByProjectKeyProductTypesByIDHead description: |- Checks if a ProductType exists with the provided `id`. Returns a `200` status if the ProductType exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_product_types:{projectKey}" - "manage_products:{projectKey}" operationId: ByProjectKeyProductTypesByIDPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductTypeUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductType' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_product_types:{projectKey}" - "manage_products:{projectKey}" operationId: ByProjectKeyProductTypesByIDDelete parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductType' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/products: description: |- Products themselves are not sellable. Instead, they act as a parent structure for sellable Product Variants. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "Product" x-annotation-deleteable: "Product" x-annotation-createable: "ProductDraft" get: security: - oauth_2_0: - "view_products:{projectKey}" - "view_published_products:{projectKey}" operationId: ByProjectKeyProductsGet description: |- If [Product price selection query parameters](/api/pricing-and-discounts-overview#product-price-selection) are provided, the selected Prices are added to the response. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: priceCurrency in: query required: false style: form schema: $ref: '#/components/schemas/CurrencyCode' explode: true - name: priceCountry in: query required: false style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: priceCustomerGroup in: query required: false style: form schema: type: "string" explode: true - name: priceCustomerGroupAssignments in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: priceChannel in: query required: false style: form schema: type: "string" explode: true - name: priceRecurrencePolicy x-beta: true in: query required: false style: form schema: type: "string" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" operationId: ByProjectKeyProductsHead description: |- Checks if one or more Products exist for the provided query predicate. Returns a `200` status if any Products match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyProductsPost description: |- To create a new Product, send a representation that is going to become the initial _staged_ and _current_ representation of the new Product in the catalog. If [Product price selection query parameters](/api/pricing-and-discounts-overview#product-price-selection) are provided, selected Prices will be added to the response. Produces the [ProductCreated](/projects/messages/product-catalog-messages#product-created) Message. A failed response can return an [OverlappingPriceValidity](ctp:api:type:OverlappingPriceValidityError) error. parameters: - name: priceCurrency in: query required: false style: form schema: $ref: '#/components/schemas/CurrencyCode' explode: true - name: priceCountry in: query required: false style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: priceCustomerGroup in: query required: false style: form schema: type: "string" explode: true - name: priceCustomerGroupAssignments in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: priceChannel in: query required: false style: form schema: type: "string" explode: true - name: priceRecurrencePolicy x-beta: true in: query required: false style: form schema: type: "string" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Product' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/products/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_products:{projectKey}" operationId: ByProjectKeyProductsKeyByKeyGet description: |- If [Product price selection query parameters](/api/pricing-and-discounts-overview#product-price-selection) are provided, the selected Prices are added to the response. parameters: - name: priceCurrency in: query required: false style: form schema: $ref: '#/components/schemas/CurrencyCode' explode: true - name: priceCountry in: query required: false style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: priceCustomerGroup in: query required: false style: form schema: type: "string" explode: true - name: priceCustomerGroupAssignments in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: priceChannel in: query required: false style: form schema: type: "string" explode: true - name: priceRecurrencePolicy x-beta: true in: query required: false style: form schema: type: "string" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Product' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" operationId: ByProjectKeyProductsKeyByKeyHead description: |- Checks if a Product exists with the provided `key`. Returns a `200` status if the Product exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyProductsKeyByKeyPost description: |- A failed response can return a [DuplicatePriceScope](ctp:api:type:DuplicatePriceScopeError), [OverlappingPriceValidity](ctp:api:type:OverlappingPriceValidityError), [DuplicateVariantValues](ctp:api:type:DuplicateVariantValuesError), [DuplicateAttributeValue](ctp:api:type:DuplicateAttributeValueError), or [DuplicateAttributeValues](ctp:api:type:DuplicateAttributeValuesError) error. parameters: - name: priceCurrency in: query required: false style: form schema: $ref: '#/components/schemas/CurrencyCode' explode: true - name: priceCountry in: query required: false style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: priceCustomerGroup in: query required: false style: form schema: type: "string" explode: true - name: priceCustomerGroupAssignments in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: priceChannel in: query required: false style: form schema: type: "string" explode: true - name: priceRecurrencePolicy x-beta: true in: query required: false style: form schema: type: "string" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Product' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyProductsKeyByKeyDelete description: |- If [Product price selection query parameters](/api/pricing-and-discounts-overview#product-price-selection) are provided, the selected Prices are added to the response. Produces the [ProductDeleted](/projects/messages/product-catalog-messages#product-deleted) Message. parameters: - name: priceCurrency in: query required: false style: form schema: $ref: '#/components/schemas/CurrencyCode' explode: true - name: priceCountry in: query required: false style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: priceCustomerGroup in: query required: false style: form schema: type: "string" explode: true - name: priceCustomerGroupAssignments in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: priceChannel in: query required: false style: form schema: type: "string" explode: true - name: priceRecurrencePolicy x-beta: true in: query required: false style: form schema: type: "string" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Product' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/products/key={key}/product-selections: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_product_selections:{projectKey}" operationId: ByProjectKeyProductsKeyByKeyProductSelectionsGet parameters: - name: withTotal x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/AssignedProductSelectionPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/products/search: description: |- This endpoint provides high-performance search queries over Products. Product Search allows searching through all products with a current projection in your Project. parameters: - name: projectKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "view_published_products:{projectKey}" operationId: ByProjectKeyProductsSearchPost description: |- If indexing is in progress or if Product Search is inactive, an [ObjectNotFound](ctp:api:type:ObjectNotFoundError) error is returned. If inactive, you can [reactivate](/api/projects/product-search#activate-the-product-search-api) it. requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductSearchRequest' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ProductPagedSearchResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/products/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_products:{projectKey}" operationId: ByProjectKeyProductsByIDGet description: |- If [Product price selection query parameters](/api/pricing-and-discounts-overview#product-price-selection) are provided, the selected Prices are added to the response. parameters: - name: priceCurrency in: query required: false style: form schema: $ref: '#/components/schemas/CurrencyCode' explode: true - name: priceCountry in: query required: false style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: priceCustomerGroup in: query required: false style: form schema: type: "string" explode: true - name: priceCustomerGroupAssignments in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: priceChannel in: query required: false style: form schema: type: "string" explode: true - name: priceRecurrencePolicy x-beta: true in: query required: false style: form schema: type: "string" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Product' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" operationId: ByProjectKeyProductsByIDHead description: |- Checks if a Product exists with the provided `id`. Returns a `200` status if the Product exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyProductsByIDPost description: |- If [Product price selection query parameters](/api/pricing-and-discounts-overview#product-price-selection) are provided, the selected Prices are added to the response. A failed response can return a [DuplicatePriceScope](ctp:api:type:DuplicatePriceScopeError), [OverlappingPriceValidity](ctp:api:type:OverlappingPriceValidityError), [DuplicateVariantValues](ctp:api:type:DuplicateVariantValuesError), [DuplicateAttributeValue](ctp:api:type:DuplicateAttributeValueError), or [DuplicateAttributeValues](ctp:api:type:DuplicateAttributeValuesError) error. parameters: - name: priceCurrency in: query required: false style: form schema: $ref: '#/components/schemas/CurrencyCode' explode: true - name: priceCountry in: query required: false style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: priceCustomerGroup in: query required: false style: form schema: type: "string" explode: true - name: priceCustomerGroupAssignments in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: priceChannel in: query required: false style: form schema: type: "string" explode: true - name: priceRecurrencePolicy x-beta: true in: query required: false style: form schema: type: "string" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Product' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyProductsByIDDelete description: |- If [Product price selection query parameters](/api/pricing-and-discounts-overview#product-price-selection) are provided, the selected Prices are added to the response. Produces the [ProductDeleted](/projects/messages/product-catalog-messages#product-deleted) Message. parameters: - name: priceCurrency in: query required: false style: form schema: $ref: '#/components/schemas/CurrencyCode' explode: true - name: priceCountry in: query required: false style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: priceCustomerGroup in: query required: false style: form schema: type: "string" explode: true - name: priceCustomerGroupAssignments in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: priceChannel in: query required: false style: form schema: type: "string" explode: true - name: priceRecurrencePolicy x-beta: true in: query required: false style: form schema: type: "string" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Product' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/products/{ID}/images: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyProductsByIDImagesPost description: |- Uploads a JPEG, PNG, or a GIF image file to a [ProductVariant](ctp:api:type:ProductVariant). The maximum file size of the image is **10MB**. Either `variant` or `sku` is required to update a specific ProductVariant. If neither is provided, the image is uploaded to the Master Variant of the Product. The response status code depends on the size of the original image. If the image is small, the API responds with `200 OK`, and if the image is larger, it responds with `202 Accepted`. The Product returned with a `202 Accepted` status code contains a `warnings` field with an [ImageProcessingOngoing](ctp:api:type:ImageProcessingOngoingWarning) Warning. Produces the [ProductImageAdded](/projects/messages/product-catalog-messages#product-image-added) Message. parameters: - name: filename x-annotation-default: "img" in: query required: false style: form schema: type: "string" explode: true - name: variant in: query required: false style: form schema: type: "number" format: "double" explode: true - name: sku in: query required: false style: form schema: type: "string" explode: true - name: staged x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true requestBody: content: "*/*": schema: type: string responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Product' "202": description: |- 202 content: application/json: schema: $ref: '#/components/schemas/Product' /{projectKey}/products/{ID}/product-selections: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_product_selections:{projectKey}" operationId: ByProjectKeyProductsByIDProductSelectionsGet parameters: - name: withTotal x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/AssignedProductSelectionPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/quote-requests: description: |- A request for a Quote holds product variants and can be ordered. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "QuoteRequest" x-annotation-deleteable: "QuoteRequest" x-annotation-createable: "QuoteRequestDraft" get: security: - oauth_2_0: - "view_quote_requests:{projectKey}" operationId: ByProjectKeyQuoteRequestsGet description: |- Retrieves all QuoteRequests in the Project. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/QuoteRequestPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_quote_requests:{projectKey}" operationId: ByProjectKeyQuoteRequestsHead description: |- Checks if one or more QuoteRequests exist for the provided query predicate. Returns a `200 OK` status if any QuoteRequests match the query predicate, or a [Not Found](/api/errors#404-not-found) error otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_quote_requests:{projectKey}" operationId: ByProjectKeyQuoteRequestsPost description: |- Creates a QuoteRequest in the Project. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/QuoteRequestDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/QuoteRequest' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/quote-requests/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_quote_requests:{projectKey}" operationId: ByProjectKeyQuoteRequestsKeyByKeyGet description: |- Retrieves a QuoteRequest with the provided `key`. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/QuoteRequest' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_quote_requests:{projectKey}" operationId: ByProjectKeyQuoteRequestsKeyByKeyHead description: |- Checks if a QuoteRequest exists with the provided `key`. Returns a `200 OK` status if the QuoteRequest exists, or a [Not Found](/api/errors#404-not-found) error otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_quote_requests:{projectKey}" operationId: ByProjectKeyQuoteRequestsKeyByKeyPost description: |- Updates a QuoteRequest in the Project using one or more [update actions](/api/projects/quote-requests#update-actions). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/QuoteRequestUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/QuoteRequest' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_quote_requests:{projectKey}" operationId: ByProjectKeyQuoteRequestsKeyByKeyDelete description: |- Deletes a QuoteRequest in the Project. parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/QuoteRequest' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/quote-requests/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_quote_requests:{projectKey}" operationId: ByProjectKeyQuoteRequestsByIDGet description: |- Retrieves a QuoteRequest with the provided `id`. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/QuoteRequest' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_quote_requests:{projectKey}" operationId: ByProjectKeyQuoteRequestsByIDHead description: |- Checks if a QuoteRequest exists with the provided `id`. Returns a `200 OK` status if the QuoteRequest exists, or a [Not Found](/api/errors#404-not-found) error otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_quote_requests:{projectKey}" operationId: ByProjectKeyQuoteRequestsByIDPost description: |- Updates a QuoteRequest in the Project using one or more [update actions](/api/projects/quote-requests#update-actions). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/QuoteRequestUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/QuoteRequest' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_quote_requests:{projectKey}" operationId: ByProjectKeyQuoteRequestsByIDDelete description: |- Deletes a QuoteRequest in the Project. parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/QuoteRequest' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/quotes: description: |- A quote holds the negotiated offer. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "Quote" x-annotation-deleteable: "Quote" x-annotation-createable: "QuoteDraft" get: security: - oauth_2_0: - "view_quotes:{projectKey}" operationId: ByProjectKeyQuotesGet description: |- Retrieves all Quotes in the Project. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/QuotePagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_quotes:{projectKey}" operationId: ByProjectKeyQuotesHead description: |- Checks if one or more Quotes exist for the provided query predicate. Returns a `200 OK` status if any Quotes match the query predicate, or a [Not Found](/api/errors#404-not-found) error otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_quotes:{projectKey}" operationId: ByProjectKeyQuotesPost description: |- Creates a Quote in the Project. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/QuoteDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Quote' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/quotes/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_quotes:{projectKey}" operationId: ByProjectKeyQuotesKeyByKeyGet description: |- Retrieves a Quote with the provided `key`. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Quote' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_quotes:{projectKey}" operationId: ByProjectKeyQuotesKeyByKeyHead description: |- Checks if a Quote exists with the provided `key`. Returns a `200 OK` status if the Quote exists, or a [Not Found](/api/errors#404-not-found) error otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_quotes:{projectKey}" operationId: ByProjectKeyQuotesKeyByKeyPost description: |- Updates a Quote in the Project using one or more [update actions](/api/projects/quotes#update-actions). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/QuoteUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Quote' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_quotes:{projectKey}" operationId: ByProjectKeyQuotesKeyByKeyDelete description: |- Deletes a Quote in the Project. parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Quote' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/quotes/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_quotes:{projectKey}" operationId: ByProjectKeyQuotesByIDGet description: |- Retrieves a Quote with the provided `id`. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Quote' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_quotes:{projectKey}" operationId: ByProjectKeyQuotesByIDHead description: |- Checks if a Quote exists with the provided `id`. Returns a `200 OK` status if the Quote exists, or a [Not Found](/api/errors#404-not-found) error otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_quotes:{projectKey}" operationId: ByProjectKeyQuotesByIDPost description: |- Updates a Quote in the Project using one or more [update actions](/api/projects/quotes#update-actions). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/QuoteUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Quote' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_quotes:{projectKey}" operationId: ByProjectKeyQuotesByIDDelete description: |- Deletes a Quote in the Project. parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Quote' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/recurrence-policies: description: |- A Recurrence Policy is a configuration of a schedule. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "RecurrencePolicy" x-annotation-createable: "RecurrencePolicyDraft" x-annotation-deleteable: "RecurrencePolicy" get: security: - oauth_2_0: - "view_recurrence_policies:{projectKey}" operationId: ByProjectKeyRecurrencePoliciesGet description: |- Retrieves Recurrence Policies in the Project. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/RecurrencePolicyPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_recurrence_policies:{projectKey}" operationId: ByProjectKeyRecurrencePoliciesHead description: |- Checks if one or more Recurrence Policies exist for the provided query predicate. Returns a `200` status if any Recurrence Policies match the query predicate, or a [NotFound](ctp:api:type:ResourceNotFoundError) error otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_recurrence_policies:{projectKey}" operationId: ByProjectKeyRecurrencePoliciesPost description: |- Creates a Recurrence Policy in the Project. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/RecurrencePolicyDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/RecurrencePolicy' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/recurrence-policies/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_recurrence_policies:{projectKey}" operationId: ByProjectKeyRecurrencePoliciesKeyByKeyGet description: |- Retrieves a Recurrence Policy with the provided `key`. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/RecurrencePolicy' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_recurrence_policies:{projectKey}" operationId: ByProjectKeyRecurrencePoliciesKeyByKeyHead description: |- Checks if a Recurrence Policy exists with the provided `key`. Returns a `200` status if the Recurrence Policy exists, or a [NotFound](ctp:api:type:ResourceNotFoundError) error otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_recurrence_policies:{projectKey}" operationId: ByProjectKeyRecurrencePoliciesKeyByKeyPost description: |- Updates a Recurrence Policy using one or more [update actions](/api/projects/recurrence-policies#update-actions). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/RecurrencePolicyUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/RecurrencePolicy' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_recurrence_policies:{projectKey}" operationId: ByProjectKeyRecurrencePoliciesKeyByKeyDelete description: |- Deletes a Recurrence Policy in the Project. A Recurrence Policy can be deleted only if it is not referenced by any Embedded Price, Standalone Price, or (Custom) Line Item, otherwise a [ReferenceExists](ctp:api:type:ReferenceExistsError) error is returned. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/RecurrencePolicy' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/recurrence-policies/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_recurrence_policies:{projectKey}" operationId: ByProjectKeyRecurrencePoliciesByIDGet description: |- Retrieves a Recurrence Policy with the provided `id`. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/RecurrencePolicy' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_recurrence_policies:{projectKey}" operationId: ByProjectKeyRecurrencePoliciesByIDHead description: |- Checks if a Recurrence Policy exists with the provided `id`. Returns a `200` status if the Recurrence Policy exists, or a [NotFound](ctp:api:type:ResourceNotFoundError) error otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_recurrence_policies:{projectKey}" operationId: ByProjectKeyRecurrencePoliciesByIDPost description: |- Updates a Recurrence Policy using one or more [update actions](/api/projects/recurrence-policies#update-actions). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/RecurrencePolicyUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/RecurrencePolicy' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_recurrence_policies:{projectKey}" operationId: ByProjectKeyRecurrencePoliciesByIDDelete description: |- Deletes a Recurrence Policy in the Project. A Recurrence Policy can be deleted only if it is not referenced by any Embedded Price, Standalone Price, or (Custom) Line Item, otherwise a [ReferenceExists](ctp:api:type:ReferenceExistsError) error is returned. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/RecurrencePolicy' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/recurring-orders: description: |- A Recurring Order can be created from an Order, usually after a checkout process has been completed or directly via the Recurring Orders API. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "RecurringOrder" x-annotation-deleteable: "RecurringOrder" x-annotation-createable: "RecurringOrderDraft" get: security: - oauth_2_0: - "view_recurring_orders:{projectKey}" operationId: ByProjectKeyRecurringOrdersGet description: |- Retrieves Recurring Orders in the Project. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/RecurringOrderPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_recurring_orders:{projectKey}" operationId: ByProjectKeyRecurringOrdersHead description: |- Checks if one or more Recurring Orders exist for the provided query predicate. Returns a `200` status if any Recurring Orders match the query predicate, or a [NotFound](ctp:api:type:ResourceNotFoundError) error otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_recurring_orders:{projectKey}" operationId: ByProjectKeyRecurringOrdersPost description: |- Creates a Recurring Order in the Project. Produces the [RecurringOrderCreated](ctp:api:type:RecurringOrderCreatedMessage) message. The Cart is validated to ensure that it is convertible to an [Order](ctp:api:type:Order). If the validation fails, an error is returned. If the expiration date has been reached when the [Recurring Order](ctp:api:type:RecurringOrder) is processed, its [RecurringOrderState](ctp:api:type:RecurringOrderState) will be updated to `Expired`, and no Order will be created. If a server-side problem occurs, indicated by a 500 Internal Server Error HTTP response, the Recurring Order creation may still successfully complete after the error is returned. If you receive this error, you should verify the status of the Recurring Order by querying a unique identifier supplied during the creation request, such as the key. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/RecurringOrderDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/RecurringOrder' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/recurring-orders/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_recurring_orders:{projectKey}" operationId: ByProjectKeyRecurringOrdersKeyByKeyGet description: |- Retrieves a Recurring Order with the provided `key`. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/RecurringOrder' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_recurring_orders:{projectKey}" operationId: ByProjectKeyRecurringOrdersKeyByKeyHead description: |- Checks if a Recurring Order exists with the provided `key`. Returns a `200` status if the Recurring Order exists, or a [NotFound](ctp:api:type:ResourceNotFoundError) error otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_recurring_orders:{projectKey}" operationId: ByProjectKeyRecurringOrdersKeyByKeyPost description: |- Updates a Recurring Order using one or more [update actions](/api/projects/recurring-orders#update-actions). A Recurring Order can only be updated when it is not processing an Order. Otherwise, an [InvalidOperation](ctp:api:type:InvalidOperationError) error is returned. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/RecurringOrderUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/RecurringOrder' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_recurring_orders:{projectKey}" operationId: ByProjectKeyRecurringOrdersKeyByKeyDelete description: |- Deletes a Recurring Order in the Project. parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/RecurringOrder' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/recurring-orders/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_recurring_orders:{projectKey}" operationId: ByProjectKeyRecurringOrdersByIDGet description: |- Retrieves a Recurring Order with the provided `id`. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/RecurringOrder' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_recurring_orders:{projectKey}" operationId: ByProjectKeyRecurringOrdersByIDHead description: |- Checks if a Recurring Order exists with the provided `id`. Returns a `200` status if the Recurring Order exists, or a [NotFound](ctp:api:type:ResourceNotFoundError) error otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_recurring_orders:{projectKey}" operationId: ByProjectKeyRecurringOrdersByIDPost description: |- Updates a Recurring Order using one or more [update actions](/api/projects/recurring-orders#update-actions). A Recurring Order can only be updated when it is not processing an Order. Otherwise, an [InvalidOperation](ctp:api:type:InvalidOperationError) error is returned. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/RecurringOrderUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/RecurringOrder' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_recurring_orders:{projectKey}" operationId: ByProjectKeyRecurringOrdersByIDDelete description: |- Deletes a Recurring Order in the Project. parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/RecurringOrder' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/reviews: description: |- Reviews are used to evaluate products and channels. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "Review" x-annotation-deleteable: "Review" x-annotation-createable: "ReviewDraft" get: security: - oauth_2_0: - "view_products:{projectKey}" operationId: ByProjectKeyReviewsGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ReviewPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" operationId: ByProjectKeyReviewsHead description: |- Checks if one or more Reviews exist for the provided query predicate. Returns a `200` status if any Reviews match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyReviewsPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ReviewDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Review' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/reviews/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_products:{projectKey}" operationId: ByProjectKeyReviewsKeyByKeyGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Review' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" operationId: ByProjectKeyReviewsKeyByKeyHead description: |- Checks if a Review exists with the provided `key`. Returns a `200` status if the Review exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyReviewsKeyByKeyPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ReviewUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Review' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyReviewsKeyByKeyDelete parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Review' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/reviews/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_products:{projectKey}" operationId: ByProjectKeyReviewsByIDGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Review' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" operationId: ByProjectKeyReviewsByIDHead description: |- Checks if a Review exists with the provided `id`. Returns a `200` status if the Review exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyReviewsByIDPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ReviewUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Review' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyReviewsByIDDelete parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Review' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/shipping-methods: description: |- ShippingMethods define where orders can be shipped and what the costs are. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "ShippingMethod" x-annotation-deleteable: "ShippingMethod" x-annotation-createable: "ShippingMethodDraft" get: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_shipping_methods:{projectKey}" - "manage_my_orders:{projectKey}" operationId: ByProjectKeyShippingMethodsGet description: |- Retrieves all ShippingMethods in the Project. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShippingMethodPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_shipping_methods:{projectKey}" - "manage_my_orders:{projectKey}" operationId: ByProjectKeyShippingMethodsHead description: |- Checks if one or more ShippingMethods exist for the provided query predicate. Returns a `200 OK` status if any ShippingMethods match the query predicate or a [Not Found](/api/errors#404-not-found) error otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_orders:{projectKey}" - "manage_shipping_methods:{projectKey}" operationId: ByProjectKeyShippingMethodsPost description: |- Creates a ShippingMethod in the Project. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ShippingMethodDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ShippingMethod' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/shipping-methods/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_shipping_methods:{projectKey}" - "manage_my_orders:{projectKey}" operationId: ByProjectKeyShippingMethodsKeyByKeyGet description: |- Retrieves a ShippingMethod with the provided `key`. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShippingMethod' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_shipping_methods:{projectKey}" - "manage_my_orders:{projectKey}" operationId: ByProjectKeyShippingMethodsKeyByKeyHead description: |- Checks if a ShippingMethod exists with the provided `key`. Returns a `200 OK` status if the ShippingMethod exists or a [Not Found](/api/errors#404-not-found) error otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_orders:{projectKey}" - "manage_shipping_methods:{projectKey}" operationId: ByProjectKeyShippingMethodsKeyByKeyPost description: |- Updates a ShippingMethod in the Project using one or more [update actions](/api/projects/shippingMethods#update-actions). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ShippingMethodUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShippingMethod' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_orders:{projectKey}" - "manage_shipping_methods:{projectKey}" operationId: ByProjectKeyShippingMethodsKeyByKeyDelete description: |- Deletes a ShippingMethod in the Project. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShippingMethod' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/shipping-methods/matching-cart: description: |- Get matching ShippingMethods for a Cart parameters: - name: projectKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_shipping_methods:{projectKey}" - "manage_my_orders:{projectKey}" operationId: ByProjectKeyShippingMethodsMatchingCartGet description: |- Retrieves the active ShippingMethods that can ship to the shipping address of the provided Cart. If the Cart belongs to a [Store](ctp:api:type:Store), the results include globally scoped ShippingMethods (those with an empty `stores` field) and ShippingMethods scoped to that Store. If the Cart has no Store, only globally scoped ShippingMethods are returned. Each ShippingMethod contains exactly one ShippingRate with the flag `isMatching` set to `true`. This ShippingRate is used when the ShippingMethod is [added to the Cart](ctp:api:type:CartSetShippingMethodAction). If a matching ShippingMethod has `isDefault` set to `true`, it is returned as the first item in the array. parameters: - name: cartId in: query required: true style: form schema: type: "string" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShippingMethodPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_shipping_methods:{projectKey}" - "manage_my_orders:{projectKey}" operationId: ByProjectKeyShippingMethodsMatchingCartHead description: |- Checks if an active ShippingMethod exists for the provided Cart. Returns a `200 OK` status if the ShippingMethod exists or a [Not Found](/api/errors#404-not-found) error otherwise. parameters: - name: cartId in: query required: true style: form schema: type: "string" explode: true responses: "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' "200": description: |- 200 content: {} /{projectKey}/shipping-methods/matching-cart-location: description: |- Get matching ShippingMethods for a Cart and Location parameters: - name: projectKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_shipping_methods:{projectKey}" - "manage_my_orders:{projectKey}" operationId: ByProjectKeyShippingMethodsMatchingCartLocationGet description: |- Retrieves the active ShippingMethods that can ship to the provided [Location](ctp:api:type:Location) with a `predicate` that matches the provided Cart. If the Cart belongs to a [Store](ctp:api:type:Store), the results include globally scoped ShippingMethods (those with an empty `stores` field) and ShippingMethods scoped to that Store. If the Cart has no Store, only globally scoped ShippingMethods are returned. Each ShippingMethod contains exactly one ShippingRate with the flag `isMatching` set to `true`. This ShippingRate is used when the ShippingMethod is [added to the Cart](ctp:api:type:CartSetShippingMethodAction). If a matching ShippingMethod has `isDefault` set to `true`, it is returned as the first item in the array. parameters: - name: country in: query required: true style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: state in: query required: false style: form schema: type: "string" explode: true - name: cartId in: query required: true style: form schema: type: "string" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShippingMethodPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_shipping_methods:{projectKey}" - "manage_my_orders:{projectKey}" operationId: ByProjectKeyShippingMethodsMatchingCartLocationHead description: |- Checks if an active ShippingMethod that can ship to the provided [Location](ctp:api:type:Location) exists for the provided Cart. Returns a `200 OK` status if the ShippingMethod exists or a [Not Found](/api/errors#404-not-found) error otherwise. parameters: - name: country in: query required: true style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: state in: query required: false style: form schema: type: "string" explode: true - name: cartId in: query required: true style: form schema: type: "string" explode: true responses: "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' "200": description: |- 200 content: {} /{projectKey}/shipping-methods/matching-location: description: |- Get matching ShippingMethods for a Location parameters: - name: projectKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_shipping_methods:{projectKey}" - "manage_my_orders:{projectKey}" operationId: ByProjectKeyShippingMethodsMatchingLocationGet description: |- Retrieves the active ShippingMethods that can ship to the provided [Location](ctp:api:type:Location). The following applies: - ShippingMethods that have a `predicate` defined are included in the results, but the predicate is not evaluated because no Cart is available to evaluate it against. Results are therefore a superset of what any given Cart matches, and using [Set ShippingMethod](ctp:api:type:CartSetShippingMethodAction) with a non-matching ShippingMethod fails with an [InvalidOperation](ctp:api:type:InvalidOperationError) error. - Store scoping on ShippingMethods is not applied by this endpoint. The results include all active ShippingMethods that match the location regardless of their `stores` field. - If the `currency` parameter is provided, then the ShippingMethods must also have a rate defined in the specified currency. - Each ShippingMethod contains at least one ShippingRate with the flag `isMatching` set to `true`. - If the `currency` parameter is provided, exactly one ShippingRate will contain it. - If a matching ShippingMethod has `isDefault` set to `true`, it is returned as the first item in the array. parameters: - name: country in: query required: true style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: state in: query required: false style: form schema: type: "string" explode: true - name: currency in: query required: false style: form schema: type: "string" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShippingMethodPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_shipping_methods:{projectKey}" - "manage_my_orders:{projectKey}" operationId: ByProjectKeyShippingMethodsMatchingLocationHead description: |- Checks if an active ShippingMethod that can ship to the provided [Location](ctp:api:type:Location) exists. Returns a `200 OK` status if the ShippingMethod exists or a [Not Found](/api/errors#404-not-found) error otherwise. parameters: - name: country in: query required: true style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: state in: query required: false style: form schema: type: "string" explode: true - name: currency in: query required: false style: form schema: type: "string" explode: true responses: "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' "200": description: |- 200 content: {} /{projectKey}/shipping-methods/matching-orderedit: description: |- Get matching ShippingMethods for an OrderEdit parameters: - name: projectKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_shipping_methods:{projectKey}" operationId: ByProjectKeyShippingMethodsMatchingOrdereditGet description: |- Retrieves the active ShippingMethods that can ship to the provided [Location](ctp:api:type:Location) for an [OrderEdit](ctp:api:type:OrderEdit). Store scoping is evaluated against the Order that results from applying the OrderEdit's staged actions. If the underlying Order belongs to a [Store](ctp:api:type:Store), the results include globally scoped ShippingMethods (those with an empty `stores` field) and ShippingMethods scoped to that Store. If the underlying Order has no Store, only globally scoped ShippingMethods are returned. If a matching ShippingMethod has `isDefault` set to `true`, it is returned as the first item in the array. If the OrderEdit preview cannot be generated, an [EditPreviewFailed](ctp:api:type:EditPreviewFailedError) error is returned. parameters: - name: orderEditId in: query required: true style: form schema: type: "string" explode: true - name: country in: query required: true style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: state in: query required: false style: form schema: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShippingMethodPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_shipping_methods:{projectKey}" operationId: ByProjectKeyShippingMethodsMatchingOrdereditHead description: |- Checks if an active ShippingMethod that can ship to the provided [Location](ctp:api:type:Location) exists for the provided [OrderEdit](ctp:api:type:OrderEdit). Returns a `200 OK` status if the ShippingMethod exists or a [Not Found](/api/errors#404-not-found) error otherwise. parameters: - name: orderEditId in: query required: true style: form schema: type: "string" explode: true - name: country in: query required: true style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: state in: query required: false style: form schema: type: "string" explode: true responses: "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' "200": description: |- 200 content: {} /{projectKey}/shipping-methods/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_shipping_methods:{projectKey}" - "manage_my_orders:{projectKey}" operationId: ByProjectKeyShippingMethodsByIDGet description: |- Retrieves a ShippingMethod with the provided `id`. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShippingMethod' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_orders:{projectKey}" - "view_shipping_methods:{projectKey}" - "manage_my_orders:{projectKey}" operationId: ByProjectKeyShippingMethodsByIDHead description: |- Checks if a ShippingMethod exists with the provided `id`. Returns a `200 OK` status if the ShippingMethod exists or a [Not Found](/api/errors#404-not-found) error otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_orders:{projectKey}" - "manage_shipping_methods:{projectKey}" operationId: ByProjectKeyShippingMethodsByIDPost description: |- Updates a ShippingMethod in the Project using one or more [update actions](/api/projects/shippingMethods#update-actions). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ShippingMethodUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShippingMethod' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_orders:{projectKey}" - "manage_shipping_methods:{projectKey}" operationId: ByProjectKeyShippingMethodsByIDDelete description: |- Deletes a ShippingMethod in the Project. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShippingMethod' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/shopping-lists: description: |- shopping-lists e.g. for wishlist support parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "ShoppingList" x-annotation-deleteable: "ShoppingList" x-annotation-createable: "ShoppingListDraft" get: security: - oauth_2_0: - "view_shopping_lists:{projectKey}" operationId: ByProjectKeyShoppingListsGet description: |- Retrieves ShoppingLists in the Project. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingListPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_shopping_lists:{projectKey}" operationId: ByProjectKeyShoppingListsHead description: |- Checks if one or more ShoppingLists exist for the provided query predicate. Returns a `200` status if any ShoppingLists match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_shopping_lists:{projectKey}" operationId: ByProjectKeyShoppingListsPost description: |- Create a ShoppingList in the Project. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ShoppingListDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/shopping-lists/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_shopping_lists:{projectKey}" operationId: ByProjectKeyShoppingListsKeyByKeyGet description: |- Retrieves a ShoppingList with the provided `key`. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_shopping_lists:{projectKey}" operationId: ByProjectKeyShoppingListsKeyByKeyHead description: |- Checks if a ShoppingList exists with the provided `key`. Returns a `200` status if the ShoppingList exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_shopping_lists:{projectKey}" operationId: ByProjectKeyShoppingListsKeyByKeyPost description: |- Updates a ShoppingList in the Project using one or more [update actions](/api/projects/shoppingLists#update-actions). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ShoppingListUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_shopping_lists:{projectKey}" operationId: ByProjectKeyShoppingListsKeyByKeyDelete description: |- Deletes a ShoppingList in the Project. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/shopping-lists/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_shopping_lists:{projectKey}" operationId: ByProjectKeyShoppingListsByIDGet description: |- Retrieves a ShoppingList with the provided `id`. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_shopping_lists:{projectKey}" operationId: ByProjectKeyShoppingListsByIDHead description: |- Checks if a ShoppingList exists with the provided `id`. Returns a `200` status if the ShoppingList exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_shopping_lists:{projectKey}" operationId: ByProjectKeyShoppingListsByIDPost description: |- Updates a ShoppingList in the Project using one or more [update actions](/api/projects/shoppingLists#update-actions). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ShoppingListUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_shopping_lists:{projectKey}" operationId: ByProjectKeyShoppingListsByIDDelete description: |- Deletes a ShoppingList in the Project. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ShoppingList' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/staged-quotes: description: |- A staged quote holds the negotiation between the [Buyer](/api/quotes-overview#buyer) and the [Seller](/api/quotes-overview#seller). parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "StagedQuote" x-annotation-deleteable: "StagedQuote" x-annotation-createable: "StagedQuoteDraft" get: security: - oauth_2_0: - "view_staged_quotes:{projectKey}" operationId: ByProjectKeyStagedQuotesGet description: |- Retrieves all StagedQuotes in the Project. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/StagedQuotePagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_staged_quotes:{projectKey}" operationId: ByProjectKeyStagedQuotesHead description: |- Checks if one or more StagedQuotes exist for the provided query predicate. Returns a `200 OK` status if any StagedQuotes match the query predicate or a [Not Found](/api/errors#404-not-found) error otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_staged_quotes:{projectKey}" operationId: ByProjectKeyStagedQuotesPost description: |- Creates a StagedQuote in the Project. - [InvalidOperation](ctp:api:type:InvalidOperationError) is returned in several cases, including the following: - The referenced Shipping Method is not active. - The referenced Shipping Method is scoped to a Store that differs from the Store referenced by the [Quote Request](ctp:api:type:QuoteRequest). - The referenced Shipping Method is scoped to a Store, but the [Quote Request](ctp:api:type:QuoteRequest) does not belong to a Store. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/StagedQuoteDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/StagedQuote' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/staged-quotes/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_staged_quotes:{projectKey}" operationId: ByProjectKeyStagedQuotesKeyByKeyGet description: |- Retrieves a StagedQuote with the provided `key`. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/StagedQuote' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_staged_quotes:{projectKey}" operationId: ByProjectKeyStagedQuotesKeyByKeyHead description: |- Checks if a StagedQuote exists with the provided `key`. Returns a `200 OK` status if the StagedQuote exists, or a [Not Found](/api/errors#404-not-found) error otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_staged_quotes:{projectKey}" operationId: ByProjectKeyStagedQuotesKeyByKeyPost description: |- Updates a StagedQuote in the Project using one or more [update actions](/api/projects/staged-quotes#update-actions). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/StagedQuoteUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/StagedQuote' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_staged_quotes:{projectKey}" operationId: ByProjectKeyStagedQuotesKeyByKeyDelete description: |- Deletes a StagedQuote in the Project. parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/StagedQuote' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/staged-quotes/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_staged_quotes:{projectKey}" operationId: ByProjectKeyStagedQuotesByIDGet description: |- Retrieves a StagedQuote with the provided `id`. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/StagedQuote' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_staged_quotes:{projectKey}" operationId: ByProjectKeyStagedQuotesByIDHead description: |- Checks if a StagedQuote exists with the provided `id`. Returns a `200 OK` status if the StagedQuote exists, or a [Not Found](/api/errors#404-not-found) error otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_staged_quotes:{projectKey}" operationId: ByProjectKeyStagedQuotesByIDPost description: |- Updates a StagedQuote in the Project using one or more [update actions](/api/projects/staged-quotes#update-actions). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/StagedQuoteUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/StagedQuote' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_staged_quotes:{projectKey}" operationId: ByProjectKeyStagedQuotesByIDDelete description: |- Deletes a StagedQuote in the Project. parameters: - name: dataErasure x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/StagedQuote' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/standalone-prices: description: |- A standalone price assigns a price to a product variant for a given scope. The API will use the standalone prices associated with a Product if its field [`priceMode`](/projects/products#pricemode) is set to `Standalone` [ProductPriceMode](ctp:api:type:ProductPriceModeEnum). parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "StandalonePrice" x-annotation-deleteable: "StandalonePrice" x-annotation-createable: "StandalonePriceDraft" get: security: - oauth_2_0: - "view_standalone_prices:{projectKey}" operationId: ByProjectKeyStandalonePricesGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/StandalonePricePagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_standalone_prices:{projectKey}" operationId: ByProjectKeyStandalonePricesHead description: |- Checks if one or more StandalonePrices exist for the provided query predicate. Returns a `200` status if any StandalonePrices match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_standalone_prices:{projectKey}" operationId: ByProjectKeyStandalonePricesPost description: |- Creating a Standalone Price produces the [StandalonePriceCreated](ctp:api:type:StandalonePriceCreatedMessage) Message. - If the Standalone Price has the same price scope as an existing Standalone Price, a [DuplicateStandalonePriceScope](ctp:api:type:DuplicateStandalonePriceScopeError) error is returned. - If the Standalone Price has overlapping validity periods within the same price scope, a [OverlappingStandalonePriceValidity](ctp:api:type:OverlappingStandalonePriceValidityError) error is returned. A Price without validity period does not conflict with a Price defined for a time period. - If a modification is already in progress for the exact combination of SKU and price scope fields, an [ExactLockConflict](ctp:api:type:ExactLockConflictError) error is returned. - If a modification is already in progress for the combination of SKU and price scope fields (but potentially different validity period), a [ValidityLockConflict](ctp:api:type:ValidityLockConflictError) error is returned. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/StandalonePriceDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/StandalonePrice' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/standalone-prices/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_standalone_prices:{projectKey}" operationId: ByProjectKeyStandalonePricesKeyByKeyGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/StandalonePrice' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_standalone_prices:{projectKey}" operationId: ByProjectKeyStandalonePricesKeyByKeyHead description: |- Checks if a StandalonePrice exists with the provided `key`. Returns a `200` status if the StandalonePrice exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_standalone_prices:{projectKey}" operationId: ByProjectKeyStandalonePricesKeyByKeyPost description: |- If a modification is already in progress for the exact combination of SKU and price scope fields, an [ExactLockConflict](ctp:api:type:ExactLockConflictError) error is returned. If a modification is already in progress for the combination of SKU and price scope fields (but potentially different validity period), a [ValidityLockConflict](ctp:api:type:ValidityLockConflictError) error is returned. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/StandalonePriceUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/StandalonePrice' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_standalone_prices:{projectKey}" operationId: ByProjectKeyStandalonePricesKeyByKeyDelete description: |- Produces the [StandalonePriceDeleted](ctp:api:type:StandalonePriceDeletedMessage) Message. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/StandalonePrice' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/standalone-prices/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_standalone_prices:{projectKey}" operationId: ByProjectKeyStandalonePricesByIDGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/StandalonePrice' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_standalone_prices:{projectKey}" operationId: ByProjectKeyStandalonePricesByIDHead description: |- Checks if a StandalonePrice exists with the provided `id`. Returns a `200` status if the StandalonePrice exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_standalone_prices:{projectKey}" operationId: ByProjectKeyStandalonePricesByIDPost description: |- If a modification is already in progress for the exact combination of SKU and price scope fields, an [ExactLockConflict](ctp:api:type:ExactLockConflictError) error is returned. If a modification is already in progress for the combination of SKU and price scope fields (but potentially different validity period), a [ValidityLockConflict](ctp:api:type:ValidityLockConflictError) error is returned. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/StandalonePriceUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/StandalonePrice' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_standalone_prices:{projectKey}" operationId: ByProjectKeyStandalonePricesByIDDelete description: |- Produces the [StandalonePriceDeleted](ctp:api:type:StandalonePriceDeletedMessage) Message. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/StandalonePrice' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/states: description: |- commercetools Composable Commerce allows you to model states of certain objects, such as orders, line items, products, reviews, and payments in order to define finite state machines reflecting the business logic you'd like to implement. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "State" x-annotation-deleteable: "State" x-annotation-createable: "StateDraft" get: security: - oauth_2_0: - "view_states:{projectKey}" operationId: ByProjectKeyStatesGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/StatePagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_states:{projectKey}" operationId: ByProjectKeyStatesHead description: |- Checks if one or more States exist for the provided query predicate. Returns a `200` status if any States match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_states:{projectKey}" operationId: ByProjectKeyStatesPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/StateDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/State' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/states/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_states:{projectKey}" operationId: ByProjectKeyStatesKeyByKeyGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/State' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_states:{projectKey}" operationId: ByProjectKeyStatesKeyByKeyHead description: |- Checks if a State exists with the provided `key`. Returns a `200` status if the State exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_states:{projectKey}" operationId: ByProjectKeyStatesKeyByKeyPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/StateUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/State' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_states:{projectKey}" operationId: ByProjectKeyStatesKeyByKeyDelete parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/State' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/states/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_states:{projectKey}" operationId: ByProjectKeyStatesByIDGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/State' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_states:{projectKey}" operationId: ByProjectKeyStatesByIDHead description: |- Checks if a State exists with the provided `id`. Returns a `200` status if the State exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_states:{projectKey}" operationId: ByProjectKeyStatesByIDPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/StateUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/State' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_states:{projectKey}" operationId: ByProjectKeyStatesByIDDelete parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/State' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/stores: description: |- Stores let you model the context your customers shop in. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "Store" x-annotation-deleteable: "Store" x-annotation-createable: "StoreDraft" get: security: - oauth_2_0: - "view_stores:{projectKey}" operationId: ByProjectKeyStoresGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/StorePagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_stores:{projectKey}" operationId: ByProjectKeyStoresHead description: |- Checks if one or more Stores exist for the provided query predicate. Returns a `200` status if any Stores match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_stores:{projectKey}" operationId: ByProjectKeyStoresPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/StoreDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Store' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/stores/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_stores:{projectKey}" operationId: ByProjectKeyStoresKeyByKeyGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Store' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_stores:{projectKey}" operationId: ByProjectKeyStoresKeyByKeyHead description: |- Checks if a Store exists with the provided `key`. Returns a `200` status if the Store exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_stores:{projectKey}" operationId: ByProjectKeyStoresKeyByKeyPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/StoreUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Store' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_stores:{projectKey}" operationId: ByProjectKeyStoresKeyByKeyDelete description: |- If the Store is referenced by a resource, a [ReferenceExists](ctp:api:type:ReferenceExistsError) error is returned. To avoid dependency conflicts, first delete all active and anonymous Carts that reference the Store, then delete all Orders. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Store' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/stores/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_stores:{projectKey}" operationId: ByProjectKeyStoresByIDGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Store' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_stores:{projectKey}" operationId: ByProjectKeyStoresByIDHead description: |- Checks if a Store exists with the provided `id`. Returns a `200` status if the Store exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_stores:{projectKey}" operationId: ByProjectKeyStoresByIDPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/StoreUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Store' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_stores:{projectKey}" operationId: ByProjectKeyStoresByIDDelete description: |- If the Store is referenced by a resource, a [ReferenceExists](ctp:api:type:ReferenceExistsError) error is returned. To avoid dependency conflicts, first delete all active and anonymous Carts that reference the Store, then delete all Orders. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Store' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/subscriptions: description: |- Subscriptions allow you to be notified of new messages or changes via a Message Queue of your choice parameters: - name: projectKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "manage_subscriptions:{projectKey}" operationId: ByProjectKeySubscriptionsGet parameters: - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/SubscriptionPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_subscriptions:{projectKey}" operationId: ByProjectKeySubscriptionsHead description: |- Checks if one or more Subscriptions exist for the provided query predicate. Returns a `200` status if any Subscriptions match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' "200": description: |- 200 content: {} post: security: - oauth_2_0: - "manage_subscriptions:{projectKey}" operationId: ByProjectKeySubscriptionsPost description: |- A test notification is sent to ensure the correct configuration of the Destination. If the notification cannot be delivered, the Subscription will not be created. The payload of the test notification is of type [ResourceCreated](/api/projects/subscriptions#resourcecreateddeliverypayload) for the `resourceTypeId` `subscription`. requestBody: content: application/json: schema: $ref: '#/components/schemas/SubscriptionDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Subscription' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/subscriptions/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "manage_subscriptions:{projectKey}" operationId: ByProjectKeySubscriptionsKeyByKeyGet responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Subscription' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_subscriptions:{projectKey}" operationId: ByProjectKeySubscriptionsKeyByKeyHead description: |- Checks if a Subscription exists with the provided `key`. Returns a `200` status if the Subscription exists, or a `404` status otherwise. responses: "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' "200": description: |- 200 content: {} post: security: - oauth_2_0: - "manage_subscriptions:{projectKey}" operationId: ByProjectKeySubscriptionsKeyByKeyPost requestBody: content: application/json: schema: $ref: '#/components/schemas/SubscriptionUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Subscription' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_subscriptions:{projectKey}" operationId: ByProjectKeySubscriptionsKeyByKeyDelete parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Subscription' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/subscriptions/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "manage_subscriptions:{projectKey}" operationId: ByProjectKeySubscriptionsByIDGet responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Subscription' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "manage_subscriptions:{projectKey}" operationId: ByProjectKeySubscriptionsByIDHead description: |- Checks if a Subscription exists with the provided `id`. Returns a `200` status if the Subscription exists, or a `404` status otherwise. responses: "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' "200": description: |- 200 content: {} post: security: - oauth_2_0: - "manage_subscriptions:{projectKey}" operationId: ByProjectKeySubscriptionsByIDPost requestBody: content: application/json: schema: $ref: '#/components/schemas/SubscriptionUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Subscription' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_subscriptions:{projectKey}" operationId: ByProjectKeySubscriptionsByIDDelete parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Subscription' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/subscriptions/{ID}/health: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withIdHealth" get: operationId: ByProjectKeySubscriptionsByIDHealthGet description: |- This endpoint can be polled by a monitoring or alerting system that checks the health of your Subscriptions. To ease integration with such systems this endpoint does not require [Authorization](/api/authorization). responses: "200": description: |- Healthy content: {} "400": description: |- ConfigurationError, ConfigurationErrorDeliveryStopped, ManuallySuspended content: {} "503": description: |- TemporaryError content: {} /{projectKey}/tax-categories: description: |- Tax Categories define how products are to be taxed in different countries. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "TaxCategory" x-annotation-deleteable: "TaxCategory" x-annotation-createable: "TaxCategoryDraft" get: security: - oauth_2_0: - "view_products:{projectKey}" - "view_tax_categories:{projectKey}" operationId: ByProjectKeyTaxCategoriesGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/TaxCategoryPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" - "view_tax_categories:{projectKey}" operationId: ByProjectKeyTaxCategoriesHead description: |- Checks if one or more Tax Categories exist for the provided query predicate. Returns a `200` status if any TaxCategories match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_products:{projectKey}" - "manage_tax_categories:{projectKey}" operationId: ByProjectKeyTaxCategoriesPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/TaxCategoryDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/TaxCategory' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/tax-categories/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_products:{projectKey}" - "view_tax_categories:{projectKey}" operationId: ByProjectKeyTaxCategoriesKeyByKeyGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/TaxCategory' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" - "view_tax_categories:{projectKey}" operationId: ByProjectKeyTaxCategoriesKeyByKeyHead description: |- Checks if a TaxCategory exists with the provided `key`. Returns a `200` status if the Tax Category exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_products:{projectKey}" - "manage_tax_categories:{projectKey}" operationId: ByProjectKeyTaxCategoriesKeyByKeyPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/TaxCategoryUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/TaxCategory' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_products:{projectKey}" - "manage_tax_categories:{projectKey}" operationId: ByProjectKeyTaxCategoriesKeyByKeyDelete description: |- If the TaxCategory is referenced by a resource, a [ReferenceExists](ctp:api:type:ReferenceExistsError) error is returned. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/TaxCategory' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/tax-categories/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_products:{projectKey}" - "view_tax_categories:{projectKey}" operationId: ByProjectKeyTaxCategoriesByIDGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/TaxCategory' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" - "view_tax_categories:{projectKey}" operationId: ByProjectKeyTaxCategoriesByIDHead description: |- Checks if a TaxCategory exists with the provided `id`. Returns a `200` status if the TaxCategory exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_products:{projectKey}" - "manage_tax_categories:{projectKey}" operationId: ByProjectKeyTaxCategoriesByIDPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/TaxCategoryUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/TaxCategory' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_products:{projectKey}" - "manage_tax_categories:{projectKey}" operationId: ByProjectKeyTaxCategoriesByIDDelete description: |- If the TaxCategory is referenced by a resource, a [ReferenceExists](ctp:api:type:ReferenceExistsError) error is returned. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/TaxCategory' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/types: description: |- Types define custom fields that are used to enhance resources as you need. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "Type" x-annotation-deleteable: "Type" x-annotation-createable: "TypeDraft" get: security: - oauth_2_0: - "view_types:{projectKey}" operationId: ByProjectKeyTypesGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/TypePagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_types:{projectKey}" operationId: ByProjectKeyTypesHead description: |- Checks if one or more Types exist for the provided query predicate. Returns a `200` status if any Types match the query predicate, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_types:{projectKey}" operationId: ByProjectKeyTypesPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/TypeDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Type' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/types/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_types:{projectKey}" operationId: ByProjectKeyTypesKeyByKeyGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Type' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_types:{projectKey}" operationId: ByProjectKeyTypesKeyByKeyHead description: |- Checks if a Type exists with the provided `key`. Returns a `200` status if the Type exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_types:{projectKey}" operationId: ByProjectKeyTypesKeyByKeyPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/TypeUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Type' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_types:{projectKey}" operationId: ByProjectKeyTypesKeyByKeyDelete parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Type' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/types/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_types:{projectKey}" operationId: ByProjectKeyTypesByIDGet parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Type' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_types:{projectKey}" operationId: ByProjectKeyTypesByIDHead description: |- Checks if a Type exists with the provided `id`. Returns a `200` status if the Type exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_types:{projectKey}" operationId: ByProjectKeyTypesByIDPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/TypeUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Type' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_types:{projectKey}" operationId: ByProjectKeyTypesByIDDelete parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Type' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/variant-projections: description: |- A Variant Projection is a lightweight, read-only representation of a single Product Variant with embedded Product data such as name, slug, and description. parameters: - name: projectKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "view_products:{projectKey}" - "view_published_products:{projectKey}" operationId: ByProjectKeyVariantProjectionsGet description: |- Queries Variant Projections matching the provided predicates. By default, this endpoint returns the `current` representation where variants are published. Required access scopes: - To retrieve the current representation of published Variants, the `view_published_products:{projectKey}` scope is required. - To retrieve the staged representation (draft data), the API Client must have the `view_products:{projectKey}` scope. parameters: - name: staged x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: priceCurrency in: query required: false style: form schema: $ref: '#/components/schemas/CurrencyCode' explode: true - name: priceCountry in: query required: false style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: priceCustomerGroup in: query required: false style: form schema: type: "string" explode: true - name: priceCustomerGroupAssignments in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: priceChannel in: query required: false style: form schema: type: "string" explode: true - name: priceRecurrencePolicy x-beta: true in: query required: false style: form schema: type: "string" explode: true - name: localeProjection in: query required: false style: form schema: type: "array" items: $ref: '#/components/schemas/Locale' explode: true - name: filter[attributes] in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/VariantProjectionPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" - "view_published_products:{projectKey}" operationId: ByProjectKeyVariantProjectionsHead description: |- Checks if a Variant Projection exists for the provided query predicate. Returns a `200` status if any Variant Projections match, or a `404` status otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: staged x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: priceCurrency in: query required: false style: form schema: $ref: '#/components/schemas/CurrencyCode' explode: true - name: priceCountry in: query required: false style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: priceCustomerGroup in: query required: false style: form schema: type: "string" explode: true - name: priceChannel in: query required: false style: form schema: type: "string" explode: true - name: localeProjection in: query required: false style: form schema: type: "array" items: $ref: '#/components/schemas/Locale' explode: true - name: filter[attributes] in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/variant-projections/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_products:{projectKey}" - "view_published_products:{projectKey}" operationId: ByProjectKeyVariantProjectionsKeyByKeyGet description: |- Retrieves a Variant Projection by its key. parameters: - name: staged x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: priceCurrency in: query required: false style: form schema: $ref: '#/components/schemas/CurrencyCode' explode: true - name: priceCountry in: query required: false style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: priceCustomerGroup in: query required: false style: form schema: type: "string" explode: true - name: priceCustomerGroupAssignments in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: priceChannel in: query required: false style: form schema: type: "string" explode: true - name: priceRecurrencePolicy x-beta: true in: query required: false style: form schema: type: "string" explode: true - name: localeProjection in: query required: false style: form schema: type: "array" items: $ref: '#/components/schemas/Locale' explode: true - name: filter[attributes] in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/VariantProjection' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" - "view_published_products:{projectKey}" operationId: ByProjectKeyVariantProjectionsKeyByKeyHead description: |- Checks if a VariantProjection exists with the provided `key`. Returns a `200` status if the VariantProjection exists, or a `404` status otherwise. parameters: - name: staged x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: priceCurrency in: query required: false style: form schema: $ref: '#/components/schemas/CurrencyCode' explode: true - name: priceCountry in: query required: false style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: priceCustomerGroup in: query required: false style: form schema: type: "string" explode: true - name: priceChannel in: query required: false style: form schema: type: "string" explode: true - name: localeProjection in: query required: false style: form schema: type: "array" items: $ref: '#/components/schemas/Locale' explode: true - name: filter[attributes] in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/variant-projections/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_products:{projectKey}" - "view_published_products:{projectKey}" operationId: ByProjectKeyVariantProjectionsByIDGet description: |- Retrieves a Variant Projection by its ID. parameters: - name: staged x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: priceCurrency in: query required: false style: form schema: $ref: '#/components/schemas/CurrencyCode' explode: true - name: priceCountry in: query required: false style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: priceCustomerGroup in: query required: false style: form schema: type: "string" explode: true - name: priceCustomerGroupAssignments in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: priceChannel in: query required: false style: form schema: type: "string" explode: true - name: priceRecurrencePolicy x-beta: true in: query required: false style: form schema: type: "string" explode: true - name: localeProjection in: query required: false style: form schema: type: "array" items: $ref: '#/components/schemas/Locale' explode: true - name: filter[attributes] in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/VariantProjection' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" - "view_published_products:{projectKey}" operationId: ByProjectKeyVariantProjectionsByIDHead description: |- Checks if a VariantProjection exists with the provided `id`. Returns a `200` status if the VariantProjection exists, or a `404` status otherwise. parameters: - name: staged x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true - name: priceCurrency in: query required: false style: form schema: $ref: '#/components/schemas/CurrencyCode' explode: true - name: priceCountry in: query required: false style: form schema: $ref: '#/components/schemas/CountryCode' explode: true - name: priceCustomerGroup in: query required: false style: form schema: type: "string" explode: true - name: priceChannel in: query required: false style: form schema: type: "string" explode: true - name: localeProjection in: query required: false style: form schema: type: "array" items: $ref: '#/components/schemas/Locale' explode: true - name: filter[attributes] in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/variants: parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "Variant" x-annotation-deleteable: "Variant" x-annotation-createable: "VariantDraft" get: security: - oauth_2_0: - "view_products:{projectKey}" operationId: ByProjectKeyVariantsGet description: |- Queries Variants matching the provided predicates. This endpoint returns both current (published) and staged (draft) data for each Variant. When querying an Attribute, you must always include both the `attribute-name` and `attribute-value` details in the QueryPredicate. Otherwise, a [400 Bad Request](/errors#400-bad-request) error will occur. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/VariantPagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyVariantsPost description: |- Creates a new Variant with only the current representation. Produces the [VariantCreated](ctp:api:type:VariantCreatedMessage) Message. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/VariantDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Variant' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" operationId: ByProjectKeyVariantsHead description: |- Checks if a Variant exists for the provided query predicate. Returns a `200` status if any Variants match, or a `404` status otherwise. parameters: - name: where in: query required: true style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/variants/bulk: parameters: - name: projectKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyVariantsBulkPost description: |- Applies update actions to multiple Variants in a single request. Returns a `207 Multi-Status` response with the result for each Variant. Each Variant is updated independently, so some may succeed while others fail. parameters: - name: versionControl x-annotation-default: "On" in: query required: false style: form schema: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/VariantBulkUpdate' responses: "207": description: |- 207 content: application/json: schema: $ref: '#/components/schemas/VariantBulkUpdateResponse' "400": description: |- A [BulkOperationMaxItemsExceeded](ctp:api:type:BulkOperationMaxItemsExceededError) error is returned when the request contains more than 1000 items. content: {} /{projectKey}/variants/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_products:{projectKey}" operationId: ByProjectKeyVariantsKeyByKeyGet description: |- Retrieves a Variant by its key. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Variant' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" operationId: ByProjectKeyVariantsKeyByKeyHead description: |- Checks if a Variant exists by its key. Returns a `200` status if the Variant exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyVariantsKeyByKeyPost description: |- Updates a Variant identified by its key. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/VariantUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Variant' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyVariantsKeyByKeyDelete description: |- Deletes a Variant identified by its key. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Variant' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/variants/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_products:{projectKey}" operationId: ByProjectKeyVariantsByIDGet description: |- Retrieves a Variant by its ID. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Variant' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_products:{projectKey}" operationId: ByProjectKeyVariantsByIDHead description: |- Checks if a Variant exists by its ID. Returns a `200` status if the Variant exists, or a `404` status otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyVariantsByIDPost description: |- Updates a Variant identified by its ID. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/VariantUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Variant' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyVariantsByIDDelete description: |- Deletes a Variant identified by its ID. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Variant' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/variants/{ID}/images: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyVariantsByIDImagesPost description: |- Uploads a JPEG, PNG, or a GIF image file to a [Variant](ctp:api:type:Variant) identified by its ID. The maximum file size of the image is **10MB**. The response status code depends on the size of the original image. If the image is small, the API responds with `200 OK`, and if the image is larger, it responds with `202 Accepted`. The Variant returned with a `202 Accepted` status code contains a `warnings` field with an [ImageProcessingOngoing](ctp:api:type:ImageProcessingOngoingWarning) Warning. Produces the [VariantImageAdded](/projects/messages/product-catalog-messages#variant-image-added) Message. parameters: - name: filename x-annotation-default: "img" in: query required: false style: form schema: type: "string" explode: true - name: staged x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true requestBody: content: "*/*": schema: type: string responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Variant' "202": description: |- 202 content: application/json: schema: $ref: '#/components/schemas/Variant' /{projectKey}/zones: description: |- Zones allow defining ShippingRates for specific Locations. parameters: - name: projectKey in: path required: true schema: type: "string" x-annotation-updateable: "Zone" x-annotation-deleteable: "Zone" x-annotation-createable: "ZoneDraft" get: security: - oauth_2_0: - "view_zones:{projectKey}" - "view_orders:{projectKey}" operationId: ByProjectKeyZonesGet description: |- Retrieves all Zones in the Project. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: withTotal x-annotation-default: true in: query required: false style: form schema: type: "boolean" explode: true - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: /^var[.][a-zA-Z0-9]+$/ x-annotation-placeholderParam: paramName: "predicateVar" template: "var." placeholder: "varName" in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ZonePagedQueryResponse' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_zones:{projectKey}" - "view_orders:{projectKey}" operationId: ByProjectKeyZonesHead description: |- Checks if one or more Zones exist for the provided query predicate. Returns a `200 OK` status if any Zones match the query predicate, or a [Not Found](/api/errors#404-not-found) error otherwise. parameters: - name: where in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_zones:{projectKey}" - "manage_orders:{projectKey}" operationId: ByProjectKeyZonesPost description: |- Creates a Zone in the Project. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ZoneDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/Zone' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/zones/key={key}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: key in: path required: true schema: type: "string" x-annotation-methodName: "withKey" get: security: - oauth_2_0: - "view_zones:{projectKey}" - "view_orders:{projectKey}" operationId: ByProjectKeyZonesKeyByKeyGet description: |- Retrieves a Zone with the provided `key`. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Zone' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_zones:{projectKey}" - "view_orders:{projectKey}" operationId: ByProjectKeyZonesKeyByKeyHead description: |- Checks if a Zone exists with the provided `key`. Returns a `200 OK` status if the Zone exists or a [Not Found](/api/errors#404-not-found) error otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_zones:{projectKey}" - "manage_orders:{projectKey}" operationId: ByProjectKeyZonesKeyByKeyPost description: |- Updates a Zone in the Project using one or more [update actions](/api/projects/zones#update-actions). parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ZoneUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Zone' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_zones:{projectKey}" - "manage_orders:{projectKey}" operationId: ByProjectKeyZonesKeyByKeyDelete description: |- Deletes a Zone in the Project. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Zone' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' /{projectKey}/zones/{ID}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: ID in: path required: true schema: type: "string" x-annotation-methodName: "withId" get: security: - oauth_2_0: - "view_zones:{projectKey}" - "view_orders:{projectKey}" operationId: ByProjectKeyZonesByIDGet description: |- Retrieves a Zone with the provided `id`. parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Zone' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' head: security: - oauth_2_0: - "view_zones:{projectKey}" - "view_orders:{projectKey}" operationId: ByProjectKeyZonesByIDHead description: |- Checks if a Zone exists with the provided `id`. Returns a `200 OK` status if the Zone exists or a [Not Found](/api/errors#404-not-found) error otherwise. responses: "200": description: |- 200 content: {} "404": $ref: '#/components/responses/errorable_404' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' post: security: - oauth_2_0: - "manage_zones:{projectKey}" - "manage_orders:{projectKey}" operationId: ByProjectKeyZonesByIDPost parameters: - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ZoneUpdate' responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Zone' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' delete: security: - oauth_2_0: - "manage_zones:{projectKey}" - "manage_orders:{projectKey}" operationId: ByProjectKeyZonesByIDDelete description: |- Deletes a Zone in the Project. parameters: - name: version in: query required: true style: form schema: type: "number" format: "double" explode: true - name: expand in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/Zone' "409": $ref: '#/components/responses/conflicting_409' "400": $ref: '#/components/responses/errorable_400' "401": $ref: '#/components/responses/errorable_401' "403": $ref: '#/components/responses/errorable_403' "404": $ref: '#/components/responses/errorable_404' "500": $ref: '#/components/responses/errorable_500' "502": $ref: '#/components/responses/errorable_502' "503": $ref: '#/components/responses/errorable_503' components: securitySchemes: oauth_2_0: type: oauth2 description: | HTTP API authorization uses [OAuth2](https://datatracker.ietf.org/doc/html/rfc6750). Clients must obtain an access token from the auth service using one of the authorization flows described below, before they are able to make authorized requests to other Composable Commerce APIs. On successful completion of an authorization flow, a client will be given an `access_token`, which they need to include in requests to authorized service endpoints via the HTTP `Authorization` header like this: flows: clientCredentials: tokenUrl: https://auth.europe-west1.gcp.commercetools.com/oauth/token scopes: "view_api_clients:{projectKey}": "" "manage_api_clients:{projectKey}": "" "view_approval_flows:{projectKey}": "" "manage_approval_flows:{projectKey}": "" "view_approval_rules:{projectKey}": "" "manage_approval_rules:{projectKey}": "" "view_associate_roles:{projectKey}": "" "manage_associate_roles:{projectKey}": "" "view_attribute_groups:{projectKey}": "" "manage_attribute_groups:{projectKey}": "" "view_audit_log:{projectKey}": "" "view_business_units:{projectKey}": "" "manage_business_units:{projectKey}": "" "view_business_units:{projectKey}:{storeKey}": "" "manage_business_units:{projectKey}:{storeKey}": "" "manage_my_business_units:{projectKey}": "" "view_cart_discounts:{projectKey}": "" "manage_cart_discounts:{projectKey}": "" "view_cart_discounts:{projectKey}:{storeKey}": "" "manage_cart_discounts:{projectKey}:{storeKey}": "" "view_categories:{projectKey}": "" "manage_categories:{projectKey}": "" "view_channels:{projectKey}": "" "manage_channels:{projectKey}": "" "view_customer_groups:{projectKey}": "" "manage_customer_groups:{projectKey}": "" "view_customers:{projectKey}": "" "manage_customers:{projectKey}": "" "view_customers:{projectKey}:{storeKey}": "" "manage_customers:{projectKey}:{storeKey}": "" "manage_my_profile:{projectKey}": "" "manage_my_profile:{projectKey}:{storeKey}": "" "view_discount_codes:{projectKey}": "" "manage_discount_codes:{projectKey}": "" "manage_extensions:{projectKey}": "" "manage_intake_agent:{projectKey}": "" "view_mcp_servers:{projectKey}": "" "manage_mcp_servers:{projectKey}": "" "view_key_value_documents:{projectKey}": "" "manage_key_value_documents:{projectKey}": "" "view_messages:{projectKey}": "" "view_orders:{projectKey}": "" "manage_orders:{projectKey}": "" "view_orders:{projectKey}:{storeKey}": "" "manage_orders:{projectKey}:{storeKey}": "" "manage_my_orders:{projectKey}": "" "manage_my_orders:{projectKey}:{storeKey}": "" "manage_locked_carts:{projectKey}": "" "view_order_edits:{projectKey}": "" "manage_order_edits:{projectKey}": "" "view_payment_methods:{projectKey}": "" "manage_payment_methods:{projectKey}": "" "view_payments:{projectKey}": "" "manage_payments:{projectKey}": "" "manage_my_payments:{projectKey}": "" "view_product_discounts:{projectKey}": "" "manage_product_discounts:{projectKey}": "" "view_products:{projectKey}": "" "manage_products:{projectKey}": "" "view_published_products:{projectKey}": "" "view_product_selections:{projectKey}": "" "manage_product_selections:{projectKey}": "" "view_product_types:{projectKey}": "" "manage_product_types:{projectKey}": "" "manage_project:{projectKey}": "" "view_project_settings:{projectKey}": "" "manage_project_settings:{projectKey}": "" "view_quote_requests:{projectKey}": "" "manage_quote_requests:{projectKey}": "" "view_quote_requests:{projectKey}:{storeKey}": "" "manage_quote_requests:{projectKey}:{storeKey}": "" "manage_my_quote_requests:{projectKey}": "" "view_quotes:{projectKey}": "" "manage_quotes:{projectKey}": "" "view_quotes:{projectKey}:{storeKey}": "" "manage_quotes:{projectKey}:{storeKey}": "" "manage_my_quotes:{projectKey}": "" "view_recurring_orders:{projectKey}": "" "manage_recurring_orders:{projectKey}": "" "view_recurrence_policies:{projectKey}": "" "manage_recurrence_policies:{projectKey}": "" "view_shipping_methods:{projectKey}": "" "manage_shipping_methods:{projectKey}": "" "view_shopping_lists:{projectKey}": "" "manage_shopping_lists:{projectKey}": "" "view_shopping_lists:{projectKey}:{storeKey}": "" "manage_shopping_lists:{projectKey}:{storeKey}": "" "manage_my_shopping_lists:{projectKey}": "" "manage_my_shopping_lists:{projectKey}:{storeKey}": "" "view_staged_quotes:{projectKey}": "" "manage_staged_quotes:{projectKey}": "" "view_staged_quotes:{projectKey}:{storeKey}": "" "manage_staged_quotes:{projectKey}:{storeKey}": "" "view_standalone_prices:{projectKey}": "" "manage_standalone_prices:{projectKey}": "" "view_states:{projectKey}": "" "manage_states:{projectKey}": "" "view_stores:{projectKey}": "" "manage_stores:{projectKey}": "" "manage_subscriptions:{projectKey}": "" "view_tax_categories:{projectKey}": "" "manage_tax_categories:{projectKey}": "" "view_types:{projectKey}": "" "manage_types:{projectKey}": "" "view_zones:{projectKey}": "" "manage_zones:{projectKey}": "" "anonymous_id:{id}": "" "create_anonymous_token:{projectKey}": "" "customer_id:{id}": "" "external_user_id:{externalUserId}": "" "introspect_oauth_tokens:{projectKey}": "" schemas: PagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/BaseResource' meta: type: "object" Update: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/UpdateAction' UpdateAction: type: "object" required: - action properties: action: type: "string" AgentBusinessUnitAmbiguousError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" AgentBusinessUnitLimitExceededError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" AgentBusinessUnitUnresolvedError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" AgentExtractionFailedError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" AgentFeatureDisabledError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" AgentFileNotProcessedWarning: allOf: - $ref: '#/components/schemas/WarningObject' - type: "object" required: - code - fileName - message properties: code: type: "string" message: type: "string" fileName: type: "string" AgentMissingCountryError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" AgentMissingCustomerEmailError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" AgentMissingEntityTypeError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" AgentNoLineItemsExtractedError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" AgentOutOfScopeError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" AgentProductSearchNotEnabledError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" AgentProductsNotFoundError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" AgentProductsNotFoundWarning: allOf: - $ref: '#/components/schemas/WarningObject' - type: "object" required: - code - message - products properties: code: type: "string" message: type: "string" products: type: "array" items: type: "string" AgentQuoteRequestCreationFailedError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - cartId - code - message properties: code: type: "string" message: type: "string" cartId: type: "string" additionalProperties: type: "string" AgentResponsesAuthError: allOf: - $ref: '#/components/schemas/AuthErrorResponse' - type: "object" properties: statusCode: type: "integer" format: "int32" message: type: "string" errors: type: "array" items: $ref: '#/components/schemas/ErrorObject' error: type: "string" error_description: type: "string" AgentResponsesCartSuccess: allOf: - $ref: '#/components/schemas/AgentResponsesSuccess' - type: "object" required: - entity properties: entityType: $ref: '#/components/schemas/AgentResponsesOutputType' warnings: type: "array" items: $ref: '#/components/schemas/WarningObject' threadId: type: "string" entity: $ref: '#/components/schemas/Cart' AgentResponsesErrorResponse: allOf: - $ref: '#/components/schemas/ErrorResponse' - type: "object" required: - errors properties: statusCode: type: "integer" format: "int32" message: type: "string" errors: type: "array" items: $ref: '#/components/schemas/ErrorObject' threadId: type: "string" AgentResponsesMultipartRequest: type: "object" required: - payload properties: payload: $ref: '#/components/schemas/AgentResponsesPayload' files: type: "array" items: {} AgentResponsesOutputType: type: "string" enum: - Cart - QuoteRequest x-annotation-package: "Agent" x-annotation-enumDescriptions: Cart: "Create a [Cart](ctp:api:type:Cart).n" QuoteRequest: "Create a [QuoteRequest](ctp:api:type:QuoteRequest). Requires a verified [Customer](ctp:api:type:Customer), identified by email.n" AgentResponsesPayload: type: "object" required: - locale - outputType properties: outputType: $ref: '#/components/schemas/AgentResponsesOutputType' locale: type: "string" prompt: type: "string" businessUnit: $ref: '#/components/schemas/BusinessUnitResourceIdentifier' store: $ref: '#/components/schemas/StoreResourceIdentifier' AgentResponsesQuoteRequestSuccess: allOf: - $ref: '#/components/schemas/AgentResponsesSuccess' - type: "object" required: - cartId - entity properties: entityType: $ref: '#/components/schemas/AgentResponsesOutputType' warnings: type: "array" items: $ref: '#/components/schemas/WarningObject' threadId: type: "string" entity: $ref: '#/components/schemas/QuoteRequest' cartId: type: "string" AgentResponsesRequest: type: "object" required: - locale - outputType - prompt properties: outputType: $ref: '#/components/schemas/AgentResponsesOutputType' locale: type: "string" prompt: type: "string" businessUnit: $ref: '#/components/schemas/BusinessUnitResourceIdentifier' store: $ref: '#/components/schemas/StoreResourceIdentifier' AgentResponsesSuccess: type: "object" discriminator: propertyName: entityType mapping: Cart: '#/components/schemas/AgentResponsesCartSuccess' QuoteRequest: '#/components/schemas/AgentResponsesQuoteRequestSuccess' required: - entityType - threadId properties: entityType: $ref: '#/components/schemas/AgentResponsesOutputType' warnings: type: "array" items: $ref: '#/components/schemas/WarningObject' threadId: type: "string" AgentStoreAmbiguousError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" AgentStoreDistributionChannelsUnsupportedError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" AgentStoreUnresolvedError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" GraphQLAgentBusinessUnitAmbiguousError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLAgentBusinessUnitLimitExceededError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLAgentBusinessUnitUnresolvedError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLAgentExtractionFailedError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLAgentFeatureDisabledError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLAgentMissingCountryError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLAgentMissingCustomerEmailError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLAgentMissingEntityTypeError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLAgentNoLineItemsExtractedError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLAgentOutOfScopeError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLAgentProductSearchNotEnabledError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLAgentProductsNotFoundError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLAgentQuoteRequestCreationFailedError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - cartId - code properties: code: type: "string" cartId: type: "string" additionalProperties: type: "string" GraphQLAgentStoreAmbiguousError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLAgentStoreDistributionChannelsUnsupportedError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLAgentStoreUnresolvedError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" ApiClient: type: "object" required: - id - name - scope properties: id: type: "string" name: type: "string" scope: type: "string" secret: type: "string" lastUsedAt: type: "string" format: "date-only" deleteAt: type: "string" format: "datetime" createdAt: type: "string" format: "datetime" accessTokenValiditySeconds: type: "integer" format: "int32" refreshTokenValiditySeconds: type: "integer" format: "int32" ApiClientDraft: type: "object" required: - name - scope properties: name: type: "string" scope: type: "string" deleteDaysAfterCreation: type: "integer" format: "int64" accessTokenValiditySeconds: type: "integer" format: "int32" refreshTokenValiditySeconds: type: "integer" format: "int32" ApiClientPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/ApiClient' ApprovalFlow: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - approvals - businessUnit - createdAt - currentTierPendingApprovers - eligibleApprovers - id - lastModifiedAt - order - pendingApprovers - rules - status - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" createdBy: $ref: '#/components/schemas/CreatedBy' lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' order: $ref: '#/components/schemas/OrderReference' businessUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' rules: type: "array" items: $ref: '#/components/schemas/ApprovalRule' status: $ref: '#/components/schemas/ApprovalFlowStatus' rejection: $ref: '#/components/schemas/ApprovalFlowRejection' approvals: type: "array" items: $ref: '#/components/schemas/ApprovalFlowApproval' eligibleApprovers: type: "array" items: $ref: '#/components/schemas/RuleApprover' pendingApprovers: type: "array" items: $ref: '#/components/schemas/RuleApprover' currentTierPendingApprovers: type: "array" items: $ref: '#/components/schemas/RuleApprover' custom: $ref: '#/components/schemas/CustomFields' ApprovalFlowApproval: type: "object" required: - approvedAt - approver properties: approver: $ref: '#/components/schemas/Associate' approvedAt: type: "string" format: "datetime" ApprovalFlowPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/ApprovalFlow' ApprovalFlowRejection: type: "object" required: - rejectedAt - rejecter properties: rejecter: $ref: '#/components/schemas/Associate' rejectedAt: type: "string" format: "datetime" reason: type: "string" ApprovalFlowStatus: type: "string" enum: - Pending - Approved - Rejected x-annotation-package: "ApprovalFlow" x-annotation-enumDescriptions: Pending: "Default status of Approval Flows, indicating that the Approval Flow has not been fully approved or rejected.n" Approved: "Automatically set when all approvers from matching Approval Rules have approved. It indicates that the Approval Flow has been fully approved and is completed.n" Rejected: "Automatically set when a rejection occurs in the Approval Flow. A single rejection is sufficient to reject the entire Approval Flow.n" ApprovalFlowUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/ApprovalFlowUpdateAction' ApprovalFlowUpdateAction: type: "object" discriminator: propertyName: action mapping: approve: '#/components/schemas/ApprovalFlowApproveAction' reject: '#/components/schemas/ApprovalFlowRejectAction' setCustomField: '#/components/schemas/ApprovalFlowSetCustomFieldAction' setCustomType: '#/components/schemas/ApprovalFlowSetCustomTypeAction' required: - action properties: action: type: "string" ApprovalFlowApproveAction: allOf: - $ref: '#/components/schemas/ApprovalFlowUpdateAction' - type: "object" properties: action: type: "string" ApprovalFlowRejectAction: allOf: - $ref: '#/components/schemas/ApprovalFlowUpdateAction' - type: "object" properties: action: type: "string" reason: type: "string" ApprovalFlowSetCustomFieldAction: allOf: - $ref: '#/components/schemas/ApprovalFlowUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} ApprovalFlowSetCustomTypeAction: allOf: - $ref: '#/components/schemas/ApprovalFlowUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' ApprovalRule: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - approvers - businessUnit - createdAt - id - lastModifiedAt - name - predicate - requesters - status - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" createdBy: $ref: '#/components/schemas/CreatedBy' lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' key: type: "string" name: type: "string" description: type: "string" status: $ref: '#/components/schemas/ApprovalRuleStatus' predicate: type: "string" approvers: $ref: '#/components/schemas/ApproverHierarchy' requesters: type: "array" items: $ref: '#/components/schemas/RuleRequester' businessUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' custom: $ref: '#/components/schemas/CustomFields' ApprovalRuleDraft: type: "object" required: - approvers - name - predicate - requesters - status properties: key: type: "string" name: type: "string" description: type: "string" status: $ref: '#/components/schemas/ApprovalRuleStatus' predicate: type: "string" approvers: $ref: '#/components/schemas/ApproverHierarchyDraft' requesters: type: "array" items: $ref: '#/components/schemas/RuleRequesterDraft' ApprovalRulePagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/ApprovalRule' ApprovalRuleStatus: type: "string" enum: - Active - Inactive x-annotation-package: "ApprovalRule" x-annotation-enumDescriptions: Active: "The Approval Rule is in effect and will be used in evaluating approval requests for [Orders](ctp:api:type:Order).n" Inactive: "The Approval Rule is not in effect and will not be used in evaluating approval requests for Orders.n" ApprovalRuleUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/ApprovalRuleUpdateAction' ApprovalRuleUpdateAction: type: "object" discriminator: propertyName: action mapping: setApprovers: '#/components/schemas/ApprovalRuleSetApproversAction' setCustomField: '#/components/schemas/ApprovalRuleSetCustomFieldAction' setCustomType: '#/components/schemas/ApprovalRuleSetCustomTypeAction' setDescription: '#/components/schemas/ApprovalRuleSetDescriptionAction' setKey: '#/components/schemas/ApprovalRuleSetKeyAction' setName: '#/components/schemas/ApprovalRuleSetNameAction' setPredicate: '#/components/schemas/ApprovalRuleSetPredicateAction' setRequesters: '#/components/schemas/ApprovalRuleSetRequestersAction' setStatus: '#/components/schemas/ApprovalRuleSetStatusAction' required: - action properties: action: type: "string" ApproverConjunction: type: "object" required: - and properties: and: type: "array" items: $ref: '#/components/schemas/ApproverDisjunction' ApproverConjunctionDraft: type: "object" required: - and properties: and: type: "array" items: $ref: '#/components/schemas/ApproverDisjunctionDraft' ApproverDisjunction: type: "object" required: - or properties: or: type: "array" items: $ref: '#/components/schemas/RuleApprover' ApproverDisjunctionDraft: type: "object" required: - or properties: or: type: "array" items: $ref: '#/components/schemas/RuleApproverDraft' ApproverHierarchy: type: "object" required: - tiers properties: tiers: type: "array" items: $ref: '#/components/schemas/ApproverConjunction' ApproverHierarchyDraft: type: "object" required: - tiers properties: tiers: type: "array" items: $ref: '#/components/schemas/ApproverConjunctionDraft' RuleApprover: type: "object" required: - associateRole properties: associateRole: $ref: '#/components/schemas/AssociateRoleKeyReference' RuleApproverDraft: type: "object" required: - associateRole properties: associateRole: $ref: '#/components/schemas/AssociateRoleResourceIdentifier' RuleRequester: type: "object" required: - associateRole properties: associateRole: $ref: '#/components/schemas/AssociateRoleKeyReference' RuleRequesterDraft: type: "object" required: - associateRole properties: associateRole: $ref: '#/components/schemas/AssociateRoleResourceIdentifier' ApprovalRuleSetApproversAction: allOf: - $ref: '#/components/schemas/ApprovalRuleUpdateAction' - type: "object" required: - approvers properties: action: type: "string" approvers: $ref: '#/components/schemas/ApproverHierarchyDraft' ApprovalRuleSetCustomFieldAction: allOf: - $ref: '#/components/schemas/ApprovalRuleUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} ApprovalRuleSetCustomTypeAction: allOf: - $ref: '#/components/schemas/ApprovalRuleUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' ApprovalRuleSetDescriptionAction: allOf: - $ref: '#/components/schemas/ApprovalRuleUpdateAction' - type: "object" properties: action: type: "string" description: type: "string" ApprovalRuleSetKeyAction: allOf: - $ref: '#/components/schemas/ApprovalRuleUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" ApprovalRuleSetNameAction: allOf: - $ref: '#/components/schemas/ApprovalRuleUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" ApprovalRuleSetPredicateAction: allOf: - $ref: '#/components/schemas/ApprovalRuleUpdateAction' - type: "object" required: - predicate properties: action: type: "string" predicate: type: "string" ApprovalRuleSetRequestersAction: allOf: - $ref: '#/components/schemas/ApprovalRuleUpdateAction' - type: "object" required: - requesters properties: action: type: "string" requesters: type: "array" items: $ref: '#/components/schemas/RuleRequesterDraft' ApprovalRuleSetStatusAction: allOf: - $ref: '#/components/schemas/ApprovalRuleUpdateAction' - type: "object" required: - status properties: action: type: "string" status: $ref: '#/components/schemas/ApprovalRuleStatus' AssociateRole: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - buyerAssignable - createdAt - id - key - lastModifiedAt - permissions - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' key: type: "string" buyerAssignable: type: "boolean" name: type: "string" permissions: type: "array" items: $ref: '#/components/schemas/Permission' custom: $ref: '#/components/schemas/CustomFields' AssociateRoleDraft: type: "object" required: - key properties: key: type: "string" name: type: "string" buyerAssignable: type: "boolean" permissions: type: "array" items: $ref: '#/components/schemas/Permission' custom: $ref: '#/components/schemas/CustomFieldsDraft' AssociateRoleKeyReference: allOf: - $ref: '#/components/schemas/KeyReference' - type: "object" required: - key - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' key: type: "string" AssociateRolePagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/AssociateRole' AssociateRoleReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/AssociateRole' AssociateRoleResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" AssociateRoleUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/AssociateRoleUpdateAction' AssociateRoleUpdateAction: type: "object" discriminator: propertyName: action mapping: addPermission: '#/components/schemas/AssociateRoleAddPermissionAction' changeBuyerAssignable: '#/components/schemas/AssociateRoleChangeBuyerAssignableAction' removePermission: '#/components/schemas/AssociateRoleRemovePermissionAction' setCustomField: '#/components/schemas/AssociateRoleSetCustomFieldAction' setCustomType: '#/components/schemas/AssociateRoleSetCustomTypeAction' setName: '#/components/schemas/AssociateRoleSetNameAction' setPermissions: '#/components/schemas/AssociateRoleSetPermissionsAction' required: - action properties: action: type: "string" Permission: type: "string" enum: - AddChildUnits - UpdateAssociates - UpdateBusinessUnitDetails - UpdateParentUnit - ViewMyCarts - ViewOthersCarts - UpdateMyCarts - UpdateOthersCarts - CreateMyCarts - CreateOthersCarts - DeleteMyCarts - DeleteOthersCarts - ViewMyOrders - ViewOthersOrders - UpdateMyOrders - UpdateOthersOrders - CreateMyOrdersFromMyCarts - CreateMyOrdersFromMyQuotes - CreateOrdersFromOthersCarts - CreateOrdersFromOthersQuotes - ViewMyQuotes - ViewOthersQuotes - AcceptMyQuotes - AcceptOthersQuotes - DeclineMyQuotes - DeclineOthersQuotes - RenegotiateMyQuotes - RenegotiateOthersQuotes - ReassignMyQuotes - ReassignOthersQuotes - ViewMyQuoteRequests - ViewOthersQuoteRequests - UpdateMyQuoteRequests - UpdateOthersQuoteRequests - CreateMyQuoteRequestsFromMyCarts - CreateQuoteRequestsFromOthersCarts - CreateApprovalRules - UpdateApprovalRules - UpdateApprovalFlows - ViewMyShoppingLists - ViewOthersShoppingLists - UpdateMyShoppingLists - UpdateOthersShoppingLists - CreateMyShoppingLists - CreateOthersShoppingLists - DeleteMyShoppingLists - DeleteOthersShoppingLists x-annotation-package: "AssociateRole" x-annotation-enumDescriptions: AddChildUnits: "An Associate can create a child Business Unit.n" UpdateAssociates: "An Associate can manage other Associates.n" UpdateBusinessUnitDetails: "An Associate can edit Business Unit details.n" UpdateParentUnit: "An Associate can assign a Business Unit to be the parent unit. Additionally, the Associate requires the `AddChildUnits` permission in the new parent to perform the assignment.n" CreateMyCarts: "An Associate can create their own B2B Carts.n" CreateOthersCarts: "An Associate can create B2B Carts that belong to other Associates.n" DeleteMyCarts: "An Associate can delete their own B2B Carts.n" DeleteOthersCarts: "An Associate can delete B2B Carts that belong to other Associates.n" UpdateMyCarts: "An Associate can update their own B2B Carts.n" UpdateOthersCarts: "An Associate can update B2B Carts that belong to other Associates.n" ViewMyCarts: "An Associate can view their own B2B Carts.n" ViewOthersCarts: "An Associate can view B2B Carts that belong to other Associates.n" CreateMyOrdersFromMyCarts: "An Associate can create Orders from their own B2B Carts.n" CreateOrdersFromOthersCarts: "An Associate can create Orders from B2B Carts that belong to other Associates.n" CreateMyOrdersFromMyQuotes: "An Associate can create Orders from their own B2B Quotes.n" CreateOrdersFromOthersQuotes: "An Associate can create Orders from B2B Quotes that belong to other Associates.n" UpdateMyOrders: "An Associate can update their own B2B Orders.n" UpdateOthersOrders: "An Associate can update B2B Orders that belong to other Associates.n" ViewMyOrders: "An Associate can view their own B2B Orders.n" ViewOthersOrders: "An Associate can view B2B Orders that belong to other Associates.n" AcceptMyQuotes: "An Associate can accept their own B2B Quotes.n" AcceptOthersQuotes: "An Associate can accept B2B Quotes that belong to other Associates.n" DeclineMyQuotes: "An Associate can decline their own B2B Quotes.n" DeclineOthersQuotes: "An Associate can decline B2B Quotes that belong to other Associates.n" RenegotiateMyQuotes: "An Associate can renegotiate their own B2B Quotes.n" RenegotiateOthersQuotes: "An Associate can renegotiate B2B Quotes that belong to other Associates.n" ReassignMyQuotes: "An Associate can reassign their own B2B Quotes to a different Associate.n" ReassignOthersQuotes: "An Associate can reassign B2B Quotes that belong to other Associates.n" ViewMyQuotes: "An Associate can view their own B2B Quotes.n" ViewOthersQuotes: "An Associate can view B2B Quotes that belong to other Associates.n" CreateMyQuoteRequestsFromMyCarts: "An Associate can create their own Quote Requests from their own B2B Carts.n" CreateQuoteRequestsFromOthersCarts: "An Associate can create Quote Requests from B2B Carts that belong to other Associates.n" UpdateMyQuoteRequests: "An Associate can update their own B2B Quote Requests.n" UpdateOthersQuoteRequests: "An Associate can update B2B Quote Requests of other Associates.n" ViewMyQuoteRequests: "An Associate can view their own B2B Quote Requests.n" ViewOthersQuoteRequests: "An Associate can view B2B Quote Requests that belong to other Associates.n" CreateApprovalRules: "An Associate can create Approval Rules.n" UpdateApprovalRules: "An Associate can update Approval Rules.n" UpdateApprovalFlows: "An Associate can update Approval Flows.n" CreateMyShoppingLists: "An Associate can create their own B2B Shopping Lists.n" CreateOthersShoppingLists: "An Associate can create B2B Shopping Lists that belong to other Associates.n" DeleteMyShoppingLists: "An Associate can delete their own B2B Shopping Lists.n" DeleteOthersShoppingLists: "An Associate can delete B2B Shopping Lists that belong to other Associates.n" UpdateMyShoppingLists: "An Associate can update their own B2B Shopping Lists.n" UpdateOthersShoppingLists: "An Associate can update B2B Shopping Lists that belong to other Associates.n" ViewMyShoppingLists: "An Associate can view their own B2B Shopping Lists.n" ViewOthersShoppingLists: "An Associate can view B2B Shopping Lists that belong to other Associates.n" x-annotation-enumGroups: AddChildUnits: "Business Unit Permissions" UpdateAssociates: "Business Unit Permissions" UpdateBusinessUnitDetails: "Business Unit Permissions" UpdateParentUnit: "Business Unit Permissions" ViewMyCarts: "Cart Permissions" ViewOthersCarts: "Cart Permissions" UpdateMyCarts: "Cart Permissions" UpdateOthersCarts: "Cart Permissions" CreateMyCarts: "Cart Permissions" CreateOthersCarts: "Cart Permissions" DeleteMyCarts: "Cart Permissions" DeleteOthersCarts: "Cart Permissions" ViewMyOrders: "Order Permissions" ViewOthersOrders: "Order Permissions" UpdateMyOrders: "Order Permissions" UpdateOthersOrders: "Order Permissions" CreateMyOrdersFromMyCarts: "Order Permissions" CreateOrdersFromOthersCarts: "Order Permissions" CreateMyOrdersFromMyQuotes: "Order Permissions" CreateOrdersFromOthersQuotes: "Order Permissions" ViewMyQuotes: "Quote Permissions" ViewOthersQuotes: "Quote Permissions" AcceptMyQuotes: "Quote Permissions" AcceptOthersQuotes: "Quote Permissions" DeclineMyQuotes: "Quote Permissions" DeclineOthersQuotes: "Quote Permissions" RenegotiateMyQuotes: "Quote Permissions" RenegotiateOthersQuotes: "Quote Permissions" ReassignMyQuotes: "Quote Permissions" ReassignOthersQuotes: "Quote Permissions" ViewMyQuoteRequests: "Quote Request Permissions" ViewOthersQuoteRequests: "Quote Request Permissions" UpdateMyQuoteRequests: "Quote Request Permissions" UpdateOthersQuoteRequests: "Quote Request Permissions" CreateMyQuoteRequestsFromMyCarts: "Quote Request Permissions" CreateQuoteRequestsFromOthersCarts: "Quote Request Permissions" CreateApprovalRules: "Approval Rule Permissions" UpdateApprovalRules: "Approval Rule Permissions" UpdateApprovalFlows: "Approval Flow Permissions" ViewMyShoppingLists: "Shopping List Permissions" ViewOthersShoppingLists: "Shopping List Permissions" UpdateMyShoppingLists: "Shopping List Permissions" UpdateOthersShoppingLists: "Shopping List Permissions" CreateMyShoppingLists: "Shopping List Permissions" CreateOthersShoppingLists: "Shopping List Permissions" DeleteMyShoppingLists: "Shopping List Permissions" DeleteOthersShoppingLists: "Shopping List Permissions" AssociateRoleAddPermissionAction: allOf: - $ref: '#/components/schemas/AssociateRoleUpdateAction' - type: "object" required: - permission properties: action: type: "string" permission: $ref: '#/components/schemas/Permission' AssociateRoleChangeBuyerAssignableAction: allOf: - $ref: '#/components/schemas/AssociateRoleUpdateAction' - type: "object" required: - buyerAssignable properties: action: type: "string" buyerAssignable: type: "boolean" AssociateRoleRemovePermissionAction: allOf: - $ref: '#/components/schemas/AssociateRoleUpdateAction' - type: "object" required: - permission properties: action: type: "string" permission: $ref: '#/components/schemas/Permission' AssociateRoleSetCustomFieldAction: allOf: - $ref: '#/components/schemas/AssociateRoleUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} AssociateRoleSetCustomTypeAction: allOf: - $ref: '#/components/schemas/AssociateRoleUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' AssociateRoleSetNameAction: allOf: - $ref: '#/components/schemas/AssociateRoleUpdateAction' - type: "object" properties: action: type: "string" name: type: "string" AssociateRoleSetPermissionsAction: allOf: - $ref: '#/components/schemas/AssociateRoleUpdateAction' - type: "object" properties: action: type: "string" permissions: type: "array" items: $ref: '#/components/schemas/Permission' AttributeGroup: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - attributes - createdAt - id - lastModifiedAt - name - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' name: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' attributes: type: "array" items: $ref: '#/components/schemas/AttributeReference' key: type: "string" AttributeGroupDraft: type: "object" required: - attributes - name properties: name: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' attributes: type: "array" items: $ref: '#/components/schemas/AttributeReference' key: type: "string" AttributeGroupPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/AttributeGroup' AttributeGroupReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/AttributeGroup' AttributeGroupResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" AttributeGroupUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/AttributeGroupUpdateAction' AttributeGroupUpdateAction: type: "object" discriminator: propertyName: action mapping: addAttribute: '#/components/schemas/AttributeGroupAddAttributeAction' changeName: '#/components/schemas/AttributeGroupChangeNameAction' removeAttribute: '#/components/schemas/AttributeGroupRemoveAttributeAction' setAttributes: '#/components/schemas/AttributeGroupSetAttributesAction' setDescription: '#/components/schemas/AttributeGroupSetDescriptionAction' setKey: '#/components/schemas/AttributeGroupSetKeyAction' required: - action properties: action: type: "string" AttributeReference: type: "object" required: - key properties: key: type: "string" AttributeGroupAddAttributeAction: allOf: - $ref: '#/components/schemas/AttributeGroupUpdateAction' - type: "object" required: - attribute properties: action: type: "string" attribute: $ref: '#/components/schemas/AttributeReference' AttributeGroupChangeNameAction: allOf: - $ref: '#/components/schemas/AttributeGroupUpdateAction' - type: "object" required: - name properties: action: type: "string" name: $ref: '#/components/schemas/LocalizedString' AttributeGroupRemoveAttributeAction: allOf: - $ref: '#/components/schemas/AttributeGroupUpdateAction' - type: "object" required: - attribute properties: action: type: "string" attribute: $ref: '#/components/schemas/AttributeReference' AttributeGroupSetAttributesAction: allOf: - $ref: '#/components/schemas/AttributeGroupUpdateAction' - type: "object" required: - attributes properties: action: type: "string" attributes: type: "array" items: $ref: '#/components/schemas/AttributeReference' AttributeGroupSetDescriptionAction: allOf: - $ref: '#/components/schemas/AttributeGroupUpdateAction' - type: "object" properties: action: type: "string" description: $ref: '#/components/schemas/LocalizedString' AttributeGroupSetKeyAction: allOf: - $ref: '#/components/schemas/AttributeGroupUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" BusinessUnitIndexingProgress: type: "object" required: - estimatedTotal - failed - indexed properties: indexed: type: "integer" format: "int32" failed: type: "integer" format: "int32" estimatedTotal: type: "integer" format: "int32" BusinessUnitIndexingStatus: type: "string" enum: - Scheduled - Indexing - Ready - Failed x-annotation-package: "Project" x-annotation-enumDescriptions: Scheduled: "Indexing is scheduled." Indexing: "Indexing is in progress." Ready: "Indexing is complete and the [Search Business Units](ctp:api:endpoint:/{projectKey}/business-units/search:POST) endpoint returns up-to-date results." Failed: "Indexing failed due to an internal error." BusinessUnitPagedSearchResponse: type: "object" required: - limit - offset - results - total properties: total: type: "integer" format: "int64" limit: type: "integer" format: "int32" offset: type: "integer" format: "int32" results: type: "array" items: $ref: '#/components/schemas/BusinessUnitSearchResult' BusinessUnitSearchIndexingStatusResponse: type: "object" required: - status properties: status: $ref: '#/components/schemas/BusinessUnitIndexingStatus' states: $ref: '#/components/schemas/BusinessUnitIndexingProgress' startedAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" retryCount: type: "integer" format: "int32" BusinessUnitSearchRequest: type: "object" properties: query: $ref: '#/components/schemas/SearchQuery' sort: type: "array" items: $ref: '#/components/schemas/SearchSorting' limit: type: "integer" format: "int32" offset: type: "integer" format: "int32" BusinessUnitSearchResult: type: "object" required: - id - relevance properties: id: type: "string" relevance: type: "number" format: "double" Associate: type: "object" required: - associateRoleAssignments - customer properties: associateRoleAssignments: type: "array" items: $ref: '#/components/schemas/AssociateRoleAssignment' roles: type: "array" items: $ref: '#/components/schemas/AssociateRoleDeprecated' customer: $ref: '#/components/schemas/CustomerReference' AssociateDraft: type: "object" required: - associateRoleAssignments - customer properties: associateRoleAssignments: type: "array" items: $ref: '#/components/schemas/AssociateRoleAssignmentDraft' roles: type: "array" items: $ref: '#/components/schemas/AssociateRoleDeprecated' customer: $ref: '#/components/schemas/CustomerResourceIdentifier' AssociateRoleAssignment: type: "object" required: - associateRole - inheritance properties: associateRole: $ref: '#/components/schemas/AssociateRoleKeyReference' inheritance: $ref: '#/components/schemas/AssociateRoleInheritanceMode' AssociateRoleAssignmentDraft: type: "object" required: - associateRole properties: associateRole: $ref: '#/components/schemas/AssociateRoleResourceIdentifier' inheritance: $ref: '#/components/schemas/AssociateRoleInheritanceMode' AssociateRoleDeprecated: type: "string" enum: - Admin - Buyer x-annotation-package: "BusinessUnit" x-deprecated: true x-annotation-enumDescriptions: Admin: "The Associate can update the Business Unit, create child Business Units and add or remove other Associates.n" Buyer: "The Associate can make purchases on behalf of the Business Unit.n" AssociateRoleInheritanceMode: type: "string" enum: - Enabled - Disabled x-annotation-package: "BusinessUnit" x-annotation-enumDescriptions: Enabled: "The assignment can be inherited by child Business Units.n" Disabled: "The assignment cannot be inherited by child Business Units.n" BusinessUnit: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" discriminator: propertyName: unitType mapping: Company: '#/components/schemas/Company' Division: '#/components/schemas/Division' required: - addresses - approvalRuleMode - associateMode - associates - billingAddressIds - createdAt - id - key - lastModifiedAt - name - shippingAddressIds - status - storeMode - topLevelUnit - unitType - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' key: type: "string" status: $ref: '#/components/schemas/BusinessUnitStatus' stores: type: "array" items: $ref: '#/components/schemas/StoreKeyReference' inheritedStores: type: "array" items: $ref: '#/components/schemas/StoreKeyReference' storeMode: $ref: '#/components/schemas/BusinessUnitStoreMode' unitType: $ref: '#/components/schemas/BusinessUnitType' name: type: "string" contactEmail: type: "string" custom: $ref: '#/components/schemas/CustomFields' customerGroupAssignments: type: "array" items: $ref: '#/components/schemas/CustomerGroupAssignment' addresses: type: "array" items: $ref: '#/components/schemas/Address' shippingAddressIds: type: "array" items: type: "string" defaultShippingAddressId: type: "string" billingAddressIds: type: "array" items: type: "string" defaultBillingAddressId: type: "string" associateMode: $ref: '#/components/schemas/BusinessUnitAssociateMode' associates: type: "array" items: $ref: '#/components/schemas/Associate' inheritedAssociates: type: "array" items: $ref: '#/components/schemas/InheritedAssociate' parentUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' topLevelUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' approvalRuleMode: $ref: '#/components/schemas/BusinessUnitApprovalRuleMode' BusinessUnitApprovalRuleMode: type: "string" enum: - Explicit - ExplicitAndFromParent x-annotation-package: "BusinessUnit" x-annotation-enumDescriptions: Explicit: "Approval Rules of a Business Unit must be explicitly assigned. The Business Unit cannot inherit Approval Rules from a parent.n" ExplicitAndFromParent: "Approval Rules of a Business Unit are inherited from a parent and can also be explicitly assigned.n" BusinessUnitAssociateMode: type: "string" enum: - Explicit - ExplicitAndFromParent x-annotation-package: "BusinessUnit" x-annotation-enumDescriptions: Explicit: "All Associates of a Business Unit must be explicitly assigned. The Business Unit cannot inherit Associates from a parent.n" ExplicitAndFromParent: "Associates of a Business Unit can be assigned explicitly and inherited from a parent.n" BusinessUnitAssociateResponse: type: "object" required: - associateRoles - customer - inheritedAssociateRoles - permissions properties: customer: $ref: '#/components/schemas/CustomerReference' associateRoles: type: "array" items: $ref: '#/components/schemas/AssociateRole' inheritedAssociateRoles: type: "array" items: $ref: '#/components/schemas/AssociateRole' permissions: type: "array" items: $ref: '#/components/schemas/Permission' BusinessUnitDraft: type: "object" discriminator: propertyName: unitType mapping: Company: '#/components/schemas/CompanyDraft' Division: '#/components/schemas/DivisionDraft' required: - key - name - unitType properties: key: type: "string" status: $ref: '#/components/schemas/BusinessUnitStatus' stores: type: "array" items: $ref: '#/components/schemas/StoreResourceIdentifier' storeMode: $ref: '#/components/schemas/BusinessUnitStoreMode' unitType: $ref: '#/components/schemas/BusinessUnitType' name: type: "string" contactEmail: type: "string" associateMode: $ref: '#/components/schemas/BusinessUnitAssociateMode' associates: type: "array" items: $ref: '#/components/schemas/AssociateDraft' approvalRuleMode: $ref: '#/components/schemas/BusinessUnitApprovalRuleMode' addresses: type: "array" items: $ref: '#/components/schemas/BaseAddress' shippingAddresses: type: "array" items: type: "integer" format: "int32" defaultShippingAddress: type: "integer" format: "int32" billingAddresses: type: "array" items: type: "integer" format: "int32" defaultBillingAddress: type: "integer" format: "int32" custom: $ref: '#/components/schemas/CustomFieldsDraft' customerGroupAssignments: type: "array" items: $ref: '#/components/schemas/CustomerGroupAssignmentDraft' BusinessUnitKeyReference: allOf: - $ref: '#/components/schemas/KeyReference' - type: "object" required: - key - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' key: type: "string" BusinessUnitPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/BusinessUnit' BusinessUnitReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/BusinessUnit' BusinessUnitResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" BusinessUnitStatus: type: "string" enum: - Active - Inactive x-annotation-package: "BusinessUnit" x-annotation-enumDescriptions: Active: "The Business Unit can be used in Carts, Orders, Quote Requests, and Quotes and can be edited.n" Inactive: "The Business Unit cannot be used in Carts, Orders, Quote Requests, and Quotes and can only be edited using the [general endpoint](/api/associates-overview#through-the-general-endpoints).n Status doesn't affect inheritance. Even if a parent unit is inactive, its children remain active and can inherit role assignments.n" BusinessUnitStoreMode: type: "string" enum: - Explicit - FromParent x-annotation-package: "BusinessUnit" x-annotation-enumDescriptions: Explicit: "Stores are defined on the Business Unit.n" FromParent: "Stores are inherited from the closest parent in the hierarchy that has Stores defined.n" BusinessUnitType: type: "string" enum: - Company - Division x-annotation-package: "BusinessUnit" x-annotation-enumDescriptions: Company: "Top-level Business Unit. Must not have a `parentUnit` defined.n" Division: "Business Unit with a `parentUnit` reference to a [Company](ctp:api:type:Division) or another Division.n" BusinessUnitUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/BusinessUnitUpdateAction' BusinessUnitUpdateAction: type: "object" discriminator: propertyName: action mapping: addAddress: '#/components/schemas/BusinessUnitAddAddressAction' addAssociate: '#/components/schemas/BusinessUnitAddAssociateAction' addBillingAddressId: '#/components/schemas/BusinessUnitAddBillingAddressIdAction' addCustomerGroupAssignment: '#/components/schemas/BusinessUnitAddCustomerGroupAssignmentAction' addShippingAddressId: '#/components/schemas/BusinessUnitAddShippingAddressIdAction' addStore: '#/components/schemas/BusinessUnitAddStoreAction' changeAddress: '#/components/schemas/BusinessUnitChangeAddressAction' changeApprovalRuleMode: '#/components/schemas/BusinessUnitChangeApprovalRuleModeAction' changeAssociate: '#/components/schemas/BusinessUnitChangeAssociateAction' changeAssociateMode: '#/components/schemas/BusinessUnitChangeAssociateModeAction' changeName: '#/components/schemas/BusinessUnitChangeNameAction' changeParentUnit: '#/components/schemas/BusinessUnitChangeParentUnitAction' changeStatus: '#/components/schemas/BusinessUnitChangeStatusAction' removeAddress: '#/components/schemas/BusinessUnitRemoveAddressAction' removeAssociate: '#/components/schemas/BusinessUnitRemoveAssociateAction' removeBillingAddressId: '#/components/schemas/BusinessUnitRemoveBillingAddressIdAction' removeCustomerGroupAssignment: '#/components/schemas/BusinessUnitRemoveCustomerGroupAssignmentAction' removeShippingAddressId: '#/components/schemas/BusinessUnitRemoveShippingAddressIdAction' removeStore: '#/components/schemas/BusinessUnitRemoveStoreAction' setAddressCustomField: '#/components/schemas/BusinessUnitSetAddressCustomFieldAction' setAddressCustomType: '#/components/schemas/BusinessUnitSetAddressCustomTypeAction' setAssociates: '#/components/schemas/BusinessUnitSetAssociatesAction' setContactEmail: '#/components/schemas/BusinessUnitSetContactEmailAction' setCustomField: '#/components/schemas/BusinessUnitSetCustomFieldAction' setCustomType: '#/components/schemas/BusinessUnitSetCustomTypeAction' setCustomerGroupAssignments: '#/components/schemas/BusinessUnitSetCustomerGroupAssignmentsAction' setDefaultBillingAddress: '#/components/schemas/BusinessUnitSetDefaultBillingAddressAction' setDefaultShippingAddress: '#/components/schemas/BusinessUnitSetDefaultShippingAddressAction' setStoreMode: '#/components/schemas/BusinessUnitSetStoreModeAction' setStores: '#/components/schemas/BusinessUnitSetStoresAction' setUnitType: '#/components/schemas/BusinessUnitSetUnitTypeAction' required: - action properties: action: type: "string" Company: allOf: - $ref: '#/components/schemas/BusinessUnit' - type: "object" required: - approvalRuleMode - associateMode - storeMode properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' key: type: "string" status: $ref: '#/components/schemas/BusinessUnitStatus' stores: type: "array" items: $ref: '#/components/schemas/StoreKeyReference' inheritedStores: type: "array" items: $ref: '#/components/schemas/StoreKeyReference' storeMode: $ref: '#/components/schemas/BusinessUnitStoreMode' unitType: $ref: '#/components/schemas/BusinessUnitType' name: type: "string" contactEmail: type: "string" custom: $ref: '#/components/schemas/CustomFields' customerGroupAssignments: type: "array" items: $ref: '#/components/schemas/CustomerGroupAssignment' addresses: type: "array" items: $ref: '#/components/schemas/Address' shippingAddressIds: type: "array" items: type: "string" defaultShippingAddressId: type: "string" billingAddressIds: type: "array" items: type: "string" defaultBillingAddressId: type: "string" associateMode: $ref: '#/components/schemas/BusinessUnitAssociateMode' associates: type: "array" items: $ref: '#/components/schemas/Associate' inheritedAssociates: type: "array" items: $ref: '#/components/schemas/InheritedAssociate' parentUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' topLevelUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' approvalRuleMode: $ref: '#/components/schemas/BusinessUnitApprovalRuleMode' CompanyDraft: allOf: - $ref: '#/components/schemas/BusinessUnitDraft' - type: "object" properties: key: type: "string" status: $ref: '#/components/schemas/BusinessUnitStatus' stores: type: "array" items: $ref: '#/components/schemas/StoreResourceIdentifier' storeMode: $ref: '#/components/schemas/BusinessUnitStoreMode' unitType: $ref: '#/components/schemas/BusinessUnitType' name: type: "string" contactEmail: type: "string" associateMode: $ref: '#/components/schemas/BusinessUnitAssociateMode' associates: type: "array" items: $ref: '#/components/schemas/AssociateDraft' approvalRuleMode: $ref: '#/components/schemas/BusinessUnitApprovalRuleMode' addresses: type: "array" items: $ref: '#/components/schemas/BaseAddress' shippingAddresses: type: "array" items: type: "integer" format: "int32" defaultShippingAddress: type: "integer" format: "int32" billingAddresses: type: "array" items: type: "integer" format: "int32" defaultBillingAddress: type: "integer" format: "int32" custom: $ref: '#/components/schemas/CustomFieldsDraft' customerGroupAssignments: type: "array" items: $ref: '#/components/schemas/CustomerGroupAssignmentDraft' Division: allOf: - $ref: '#/components/schemas/BusinessUnit' - type: "object" required: - approvalRuleMode - associateMode - parentUnit - storeMode properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' key: type: "string" status: $ref: '#/components/schemas/BusinessUnitStatus' stores: type: "array" items: $ref: '#/components/schemas/StoreKeyReference' inheritedStores: type: "array" items: $ref: '#/components/schemas/StoreKeyReference' storeMode: $ref: '#/components/schemas/BusinessUnitStoreMode' unitType: $ref: '#/components/schemas/BusinessUnitType' name: type: "string" contactEmail: type: "string" custom: $ref: '#/components/schemas/CustomFields' customerGroupAssignments: type: "array" items: $ref: '#/components/schemas/CustomerGroupAssignment' addresses: type: "array" items: $ref: '#/components/schemas/Address' shippingAddressIds: type: "array" items: type: "string" defaultShippingAddressId: type: "string" billingAddressIds: type: "array" items: type: "string" defaultBillingAddressId: type: "string" associateMode: $ref: '#/components/schemas/BusinessUnitAssociateMode' associates: type: "array" items: $ref: '#/components/schemas/Associate' inheritedAssociates: type: "array" items: $ref: '#/components/schemas/InheritedAssociate' parentUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' topLevelUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' approvalRuleMode: $ref: '#/components/schemas/BusinessUnitApprovalRuleMode' DivisionDraft: allOf: - $ref: '#/components/schemas/BusinessUnitDraft' - type: "object" required: - parentUnit properties: key: type: "string" status: $ref: '#/components/schemas/BusinessUnitStatus' stores: type: "array" items: $ref: '#/components/schemas/StoreResourceIdentifier' storeMode: $ref: '#/components/schemas/BusinessUnitStoreMode' unitType: $ref: '#/components/schemas/BusinessUnitType' name: type: "string" contactEmail: type: "string" associateMode: $ref: '#/components/schemas/BusinessUnitAssociateMode' associates: type: "array" items: $ref: '#/components/schemas/AssociateDraft' approvalRuleMode: $ref: '#/components/schemas/BusinessUnitApprovalRuleMode' addresses: type: "array" items: $ref: '#/components/schemas/BaseAddress' shippingAddresses: type: "array" items: type: "integer" format: "int32" defaultShippingAddress: type: "integer" format: "int32" billingAddresses: type: "array" items: type: "integer" format: "int32" defaultBillingAddress: type: "integer" format: "int32" custom: $ref: '#/components/schemas/CustomFieldsDraft' customerGroupAssignments: type: "array" items: $ref: '#/components/schemas/CustomerGroupAssignmentDraft' parentUnit: $ref: '#/components/schemas/BusinessUnitResourceIdentifier' InheritedAssociate: type: "object" required: - associateRoleAssignments - customer properties: associateRoleAssignments: type: "array" items: $ref: '#/components/schemas/InheritedAssociateRoleAssignment' customer: $ref: '#/components/schemas/CustomerReference' InheritedAssociateRoleAssignment: type: "object" required: - associateRole - source properties: associateRole: $ref: '#/components/schemas/AssociateRoleKeyReference' source: $ref: '#/components/schemas/BusinessUnitKeyReference' BusinessUnitAddAddressAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" required: - address properties: action: type: "string" address: $ref: '#/components/schemas/BaseAddress' BusinessUnitAddAssociateAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" required: - associate properties: action: type: "string" associate: $ref: '#/components/schemas/AssociateDraft' BusinessUnitAddBillingAddressIdAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" properties: action: type: "string" addressId: type: "string" addressKey: type: "string" BusinessUnitAddCustomerGroupAssignmentAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" required: - customerGroupAssignment properties: action: type: "string" customerGroupAssignment: $ref: '#/components/schemas/CustomerGroupAssignmentDraft' BusinessUnitAddShippingAddressIdAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" properties: action: type: "string" addressId: type: "string" addressKey: type: "string" BusinessUnitAddStoreAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" required: - store properties: action: type: "string" store: $ref: '#/components/schemas/StoreResourceIdentifier' BusinessUnitChangeAddressAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" required: - address properties: action: type: "string" addressId: type: "string" addressKey: type: "string" address: $ref: '#/components/schemas/BaseAddress' BusinessUnitChangeApprovalRuleModeAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" required: - approvalRuleMode properties: action: type: "string" approvalRuleMode: $ref: '#/components/schemas/BusinessUnitApprovalRuleMode' BusinessUnitChangeAssociateAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" required: - associate properties: action: type: "string" associate: $ref: '#/components/schemas/AssociateDraft' BusinessUnitChangeAssociateModeAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" required: - associateMode - makeInheritedAssociatesExplicit properties: action: type: "string" associateMode: $ref: '#/components/schemas/BusinessUnitAssociateMode' makeInheritedAssociatesExplicit: type: "boolean" BusinessUnitChangeNameAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" BusinessUnitChangeParentUnitAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" required: - parentUnit properties: action: type: "string" parentUnit: $ref: '#/components/schemas/BusinessUnitResourceIdentifier' BusinessUnitChangeStatusAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" required: - status properties: action: type: "string" status: type: "string" BusinessUnitRemoveAddressAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" properties: action: type: "string" addressId: type: "string" addressKey: type: "string" BusinessUnitRemoveAssociateAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" required: - customer properties: action: type: "string" customer: $ref: '#/components/schemas/CustomerResourceIdentifier' BusinessUnitRemoveBillingAddressIdAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" properties: action: type: "string" addressId: type: "string" addressKey: type: "string" BusinessUnitRemoveCustomerGroupAssignmentAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" required: - customerGroup properties: action: type: "string" customerGroup: $ref: '#/components/schemas/CustomerGroupResourceIdentifier' BusinessUnitRemoveShippingAddressIdAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" properties: action: type: "string" addressId: type: "string" addressKey: type: "string" BusinessUnitRemoveStoreAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" required: - store properties: action: type: "string" store: $ref: '#/components/schemas/StoreResourceIdentifier' BusinessUnitSetAddressCustomFieldAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" required: - addressId - name properties: action: type: "string" addressId: type: "string" name: type: "string" value: {} BusinessUnitSetAddressCustomTypeAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" required: - addressId properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' addressId: type: "string" BusinessUnitSetAssociatesAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" required: - associates properties: action: type: "string" associates: type: "array" items: $ref: '#/components/schemas/AssociateDraft' BusinessUnitSetContactEmailAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" properties: action: type: "string" contactEmail: type: "string" BusinessUnitSetCustomFieldAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} BusinessUnitSetCustomTypeAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' BusinessUnitSetCustomerGroupAssignmentsAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" properties: action: type: "string" customerGroupAssignments: type: "array" items: $ref: '#/components/schemas/CustomerGroupAssignmentDraft' BusinessUnitSetDefaultBillingAddressAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" properties: action: type: "string" addressId: type: "string" addressKey: type: "string" BusinessUnitSetDefaultShippingAddressAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" properties: action: type: "string" addressId: type: "string" addressKey: type: "string" BusinessUnitSetStoreModeAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" required: - storeMode properties: action: type: "string" storeMode: $ref: '#/components/schemas/BusinessUnitStoreMode' stores: type: "array" items: $ref: '#/components/schemas/StoreResourceIdentifier' BusinessUnitSetStoresAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" required: - stores properties: action: type: "string" stores: type: "array" items: $ref: '#/components/schemas/StoreResourceIdentifier' BusinessUnitSetUnitTypeAction: allOf: - $ref: '#/components/schemas/BusinessUnitUpdateAction' - type: "object" required: - unitType properties: action: type: "string" unitType: $ref: '#/components/schemas/BusinessUnitType' parentUnit: $ref: '#/components/schemas/BusinessUnitResourceIdentifier' CartDiscount: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - cartPredicate - createdAt - id - isActive - lastModifiedAt - name - recurringOrderScope - references - requiresDiscountCode - sortOrder - stackingMode - stores - value - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' name: $ref: '#/components/schemas/LocalizedString' key: type: "string" description: $ref: '#/components/schemas/LocalizedString' value: $ref: '#/components/schemas/CartDiscountValue' cartPredicate: type: "string" target: $ref: '#/components/schemas/CartDiscountTarget' sortOrder: type: "string" stores: type: "array" items: $ref: '#/components/schemas/StoreKeyReference' isActive: type: "boolean" validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" requiresDiscountCode: type: "boolean" references: type: "array" items: $ref: '#/components/schemas/Reference' stackingMode: $ref: '#/components/schemas/StackingMode' custom: $ref: '#/components/schemas/CustomFields' discountGroup: $ref: '#/components/schemas/DiscountGroupReference' recurringOrderScope: $ref: '#/components/schemas/RecurringOrderScope' CartDiscountCustomLineItemsTarget: allOf: - $ref: '#/components/schemas/CartDiscountTarget' - type: "object" required: - predicate properties: type: type: "string" predicate: type: "string" CartDiscountDraft: type: "object" required: - cartPredicate - name - value properties: name: $ref: '#/components/schemas/LocalizedString' key: type: "string" description: $ref: '#/components/schemas/LocalizedString' value: $ref: '#/components/schemas/CartDiscountValueDraft' cartPredicate: type: "string" target: $ref: '#/components/schemas/CartDiscountTarget' sortOrder: type: "string" stores: type: "array" items: $ref: '#/components/schemas/StoreResourceIdentifier' isActive: type: "boolean" validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" requiresDiscountCode: type: "boolean" stackingMode: $ref: '#/components/schemas/StackingMode' custom: $ref: '#/components/schemas/CustomFieldsDraft' discountGroup: $ref: '#/components/schemas/DiscountGroupResourceIdentifier' recurringOrderScope: $ref: '#/components/schemas/RecurringOrderScopeDraft' CartDiscountLineItemsTarget: allOf: - $ref: '#/components/schemas/CartDiscountTarget' - type: "object" required: - predicate properties: type: type: "string" predicate: type: "string" CartDiscountPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/CartDiscount' CartDiscountPatternTarget: allOf: - $ref: '#/components/schemas/CartDiscountTarget' - type: "object" required: - selectionMode - targetPattern - triggerPattern properties: type: type: "string" triggerPattern: type: "array" items: $ref: '#/components/schemas/PatternComponent' targetPattern: type: "array" items: $ref: '#/components/schemas/PatternComponent' maxOccurrence: type: "integer" format: "int32" selectionMode: $ref: '#/components/schemas/SelectionMode' CartDiscountReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/CartDiscount' CartDiscountResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" CartDiscountShippingCostTarget: allOf: - $ref: '#/components/schemas/CartDiscountTarget' - type: "object" properties: type: type: "string" CartDiscountTarget: type: "object" discriminator: propertyName: type mapping: customLineItems: '#/components/schemas/CartDiscountCustomLineItemsTarget' lineItems: '#/components/schemas/CartDiscountLineItemsTarget' pattern: '#/components/schemas/CartDiscountPatternTarget' shipping: '#/components/schemas/CartDiscountShippingCostTarget' totalPrice: '#/components/schemas/CartDiscountTotalPriceTarget' multiBuyCustomLineItems: '#/components/schemas/MultiBuyCustomLineItemsTarget' multiBuyLineItems: '#/components/schemas/MultiBuyLineItemsTarget' required: - type properties: type: type: "string" CartDiscountTotalPriceTarget: allOf: - $ref: '#/components/schemas/CartDiscountTarget' - type: "object" properties: type: type: "string" CartDiscountUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/CartDiscountUpdateAction' CartDiscountUpdateAction: type: "object" discriminator: propertyName: action mapping: addStore: '#/components/schemas/CartDiscountAddStoreAction' changeCartPredicate: '#/components/schemas/CartDiscountChangeCartPredicateAction' changeIsActive: '#/components/schemas/CartDiscountChangeIsActiveAction' changeName: '#/components/schemas/CartDiscountChangeNameAction' changeRequiresDiscountCode: '#/components/schemas/CartDiscountChangeRequiresDiscountCodeAction' changeSortOrder: '#/components/schemas/CartDiscountChangeSortOrderAction' changeStackingMode: '#/components/schemas/CartDiscountChangeStackingModeAction' changeTarget: '#/components/schemas/CartDiscountChangeTargetAction' changeValue: '#/components/schemas/CartDiscountChangeValueAction' removeStore: '#/components/schemas/CartDiscountRemoveStoreAction' setCustomField: '#/components/schemas/CartDiscountSetCustomFieldAction' setCustomType: '#/components/schemas/CartDiscountSetCustomTypeAction' setDescription: '#/components/schemas/CartDiscountSetDescriptionAction' setDiscountGroup: '#/components/schemas/CartDiscountSetDiscountGroupAction' setKey: '#/components/schemas/CartDiscountSetKeyAction' setRecurringOrderScope: '#/components/schemas/CartDiscountSetRecurringOrderScopeAction' setStores: '#/components/schemas/CartDiscountSetStoresAction' setValidFrom: '#/components/schemas/CartDiscountSetValidFromAction' setValidFromAndUntil: '#/components/schemas/CartDiscountSetValidFromAndUntilAction' setValidUntil: '#/components/schemas/CartDiscountSetValidUntilAction' required: - action properties: action: type: "string" CartDiscountValue: type: "object" discriminator: propertyName: type mapping: absolute: '#/components/schemas/CartDiscountValueAbsolute' fixed: '#/components/schemas/CartDiscountValueFixed' giftLineItem: '#/components/schemas/CartDiscountValueGiftLineItem' relative: '#/components/schemas/CartDiscountValueRelative' required: - type properties: type: type: "string" CartDiscountValueAbsolute: allOf: - $ref: '#/components/schemas/CartDiscountValue' - type: "object" required: - money properties: type: type: "string" money: type: "array" items: $ref: '#/components/schemas/CentPrecisionMoney' applicationMode: $ref: '#/components/schemas/DiscountApplicationMode' CartDiscountValueAbsoluteDraft: allOf: - $ref: '#/components/schemas/CartDiscountValueDraft' - type: "object" required: - money properties: type: type: "string" money: type: "array" items: $ref: '#/components/schemas/Money' applicationMode: $ref: '#/components/schemas/DiscountApplicationMode' CartDiscountValueDraft: type: "object" discriminator: propertyName: type mapping: absolute: '#/components/schemas/CartDiscountValueAbsoluteDraft' fixed: '#/components/schemas/CartDiscountValueFixedDraft' giftLineItem: '#/components/schemas/CartDiscountValueGiftLineItemDraft' relative: '#/components/schemas/CartDiscountValueRelativeDraft' required: - type properties: type: type: "string" CartDiscountValueFixed: allOf: - $ref: '#/components/schemas/CartDiscountValue' - type: "object" required: - money properties: type: type: "string" money: type: "array" items: $ref: '#/components/schemas/TypedMoney' applicationMode: $ref: '#/components/schemas/DiscountApplicationMode' CartDiscountValueFixedDraft: allOf: - $ref: '#/components/schemas/CartDiscountValueDraft' - type: "object" required: - money properties: type: type: "string" money: type: "array" items: $ref: '#/components/schemas/TypedMoneyDraft' applicationMode: $ref: '#/components/schemas/DiscountApplicationMode' CartDiscountValueGiftLineItem: allOf: - $ref: '#/components/schemas/CartDiscountValue' - type: "object" required: - product - variantId properties: type: type: "string" product: $ref: '#/components/schemas/ProductReference' variantId: type: "integer" format: "int64" supplyChannel: $ref: '#/components/schemas/ChannelReference' distributionChannel: $ref: '#/components/schemas/ChannelReference' CartDiscountValueGiftLineItemDraft: allOf: - $ref: '#/components/schemas/CartDiscountValueDraft' - type: "object" required: - product - variantId properties: type: type: "string" product: $ref: '#/components/schemas/ProductResourceIdentifier' variantId: type: "integer" format: "int64" supplyChannel: $ref: '#/components/schemas/ChannelResourceIdentifier' distributionChannel: $ref: '#/components/schemas/ChannelResourceIdentifier' CartDiscountValueRelative: allOf: - $ref: '#/components/schemas/CartDiscountValue' - type: "object" required: - permyriad properties: type: type: "string" permyriad: type: "integer" format: "int64" applicationMode: $ref: '#/components/schemas/DiscountApplicationMode' CartDiscountValueRelativeDraft: allOf: - $ref: '#/components/schemas/CartDiscountValueDraft' - type: "object" required: - permyriad properties: type: type: "string" permyriad: type: "integer" format: "int64" applicationMode: $ref: '#/components/schemas/DiscountApplicationMode' CountOnCustomLineItemUnits: allOf: - $ref: '#/components/schemas/PatternComponent' - type: "object" required: - predicate properties: type: type: "string" predicate: type: "string" minCount: type: "integer" format: "int32" maxCount: type: "integer" format: "int32" excludeCount: type: "integer" format: "int32" CountOnLineItemUnits: allOf: - $ref: '#/components/schemas/PatternComponent' - type: "object" required: - predicate properties: type: type: "string" predicate: type: "string" minCount: type: "integer" format: "int32" maxCount: type: "integer" format: "int32" excludeCount: type: "integer" format: "int32" DiscountApplicationMode: type: "string" enum: - ProportionateDistribution - EvenDistribution - IndividualApplication x-annotation-package: "CartDiscount" x-annotation-enumDescriptions: ProportionateDistribution: "Distributes the Discount proportionately across eligible Line Items or Custom Line Items." EvenDistribution: "Distributes the Discount evenly across eligible Line Items or Custom Line Items." IndividualApplication: "Applies the Discount individually to eligible Line Item or Custom Line Item." MultiBuyCustomLineItemsTarget: allOf: - $ref: '#/components/schemas/CartDiscountTarget' - type: "object" required: - discountedQuantity - predicate - selectionMode - triggerQuantity properties: type: type: "string" predicate: type: "string" triggerQuantity: type: "integer" format: "int32" discountedQuantity: type: "integer" format: "int32" maxOccurrence: type: "integer" format: "int32" selectionMode: $ref: '#/components/schemas/SelectionMode' MultiBuyLineItemsTarget: allOf: - $ref: '#/components/schemas/CartDiscountTarget' - type: "object" required: - discountedQuantity - predicate - selectionMode - triggerQuantity properties: type: type: "string" predicate: type: "string" triggerQuantity: type: "integer" format: "int32" discountedQuantity: type: "integer" format: "int32" maxOccurrence: type: "integer" format: "int32" selectionMode: $ref: '#/components/schemas/SelectionMode' PatternComponent: type: "object" discriminator: propertyName: type mapping: CountOnCustomLineItemUnits: '#/components/schemas/CountOnCustomLineItemUnits' CountOnLineItemUnits: '#/components/schemas/CountOnLineItemUnits' required: - type properties: type: type: "string" SelectionMode: type: "string" enum: - Cheapest - MostExpensive x-annotation-package: "CartDiscount" x-annotation-enumDescriptions: Cheapest: "Select the cheapest items." MostExpensive: "Select the most expensive items." StackingMode: type: "string" enum: - Stacking - StopAfterThisDiscount x-annotation-package: "CartDiscount" x-annotation-enumDescriptions: Stacking: "Applies other matching Discounts after applying this one." StopAfterThisDiscount: "Doesn't apply any more matching Discounts after this one if it's successfully applied." CartDiscountAddStoreAction: allOf: - $ref: '#/components/schemas/CartDiscountUpdateAction' - type: "object" required: - store properties: action: type: "string" store: $ref: '#/components/schemas/StoreResourceIdentifier' CartDiscountChangeCartPredicateAction: allOf: - $ref: '#/components/schemas/CartDiscountUpdateAction' - type: "object" required: - cartPredicate properties: action: type: "string" cartPredicate: type: "string" CartDiscountChangeIsActiveAction: allOf: - $ref: '#/components/schemas/CartDiscountUpdateAction' - type: "object" required: - isActive properties: action: type: "string" isActive: type: "boolean" CartDiscountChangeNameAction: allOf: - $ref: '#/components/schemas/CartDiscountUpdateAction' - type: "object" required: - name properties: action: type: "string" name: $ref: '#/components/schemas/LocalizedString' CartDiscountChangeRequiresDiscountCodeAction: allOf: - $ref: '#/components/schemas/CartDiscountUpdateAction' - type: "object" required: - requiresDiscountCode properties: action: type: "string" requiresDiscountCode: type: "boolean" CartDiscountChangeSortOrderAction: allOf: - $ref: '#/components/schemas/CartDiscountUpdateAction' - type: "object" required: - sortOrder properties: action: type: "string" sortOrder: type: "string" CartDiscountChangeStackingModeAction: allOf: - $ref: '#/components/schemas/CartDiscountUpdateAction' - type: "object" required: - stackingMode properties: action: type: "string" stackingMode: $ref: '#/components/schemas/StackingMode' CartDiscountChangeTargetAction: allOf: - $ref: '#/components/schemas/CartDiscountUpdateAction' - type: "object" required: - target properties: action: type: "string" target: $ref: '#/components/schemas/CartDiscountTarget' CartDiscountChangeValueAction: allOf: - $ref: '#/components/schemas/CartDiscountUpdateAction' - type: "object" required: - value properties: action: type: "string" value: $ref: '#/components/schemas/CartDiscountValueDraft' CartDiscountRemoveStoreAction: allOf: - $ref: '#/components/schemas/CartDiscountUpdateAction' - type: "object" required: - store properties: action: type: "string" store: $ref: '#/components/schemas/StoreResourceIdentifier' CartDiscountSetCustomFieldAction: allOf: - $ref: '#/components/schemas/CartDiscountUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} CartDiscountSetCustomTypeAction: allOf: - $ref: '#/components/schemas/CartDiscountUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' CartDiscountSetDescriptionAction: allOf: - $ref: '#/components/schemas/CartDiscountUpdateAction' - type: "object" properties: action: type: "string" description: $ref: '#/components/schemas/LocalizedString' CartDiscountSetDiscountGroupAction: allOf: - $ref: '#/components/schemas/CartDiscountUpdateAction' - type: "object" properties: action: type: "string" discountGroup: $ref: '#/components/schemas/DiscountGroupResourceIdentifier' sortOrder: type: "string" CartDiscountSetKeyAction: allOf: - $ref: '#/components/schemas/CartDiscountUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" CartDiscountSetRecurringOrderScopeAction: allOf: - $ref: '#/components/schemas/CartDiscountUpdateAction' - type: "object" required: - recurringOrderScope properties: action: type: "string" recurringOrderScope: $ref: '#/components/schemas/RecurringOrderScopeDraft' CartDiscountSetStoresAction: allOf: - $ref: '#/components/schemas/CartDiscountUpdateAction' - type: "object" required: - stores properties: action: type: "string" stores: type: "array" items: $ref: '#/components/schemas/StoreResourceIdentifier' CartDiscountSetValidFromAction: allOf: - $ref: '#/components/schemas/CartDiscountUpdateAction' - type: "object" properties: action: type: "string" validFrom: type: "string" format: "datetime" CartDiscountSetValidFromAndUntilAction: allOf: - $ref: '#/components/schemas/CartDiscountUpdateAction' - type: "object" properties: action: type: "string" validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" CartDiscountSetValidUntilAction: allOf: - $ref: '#/components/schemas/CartDiscountUpdateAction' - type: "object" properties: action: type: "string" validUntil: type: "string" format: "datetime" BestDeal: allOf: - $ref: '#/components/schemas/DiscountTypeCombination' - type: "object" required: - chosenDiscountType properties: type: type: "string" chosenDiscountType: type: "string" Cart: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - cartState - createdAt - customLineItems - directDiscounts - discountCodes - id - inventoryMode - itemShippingAddresses - lastModifiedAt - lineItems - origin - priceRoundingMode - refusedGifts - shipping - shippingMode - taxCalculationMode - taxMode - taxRoundingMode - totalPrice - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" key: type: "string" customerId: type: "string" customerEmail: type: "string" customerGroup: $ref: '#/components/schemas/CustomerGroupReference' anonymousId: type: "string" businessUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' store: $ref: '#/components/schemas/StoreKeyReference' lineItems: type: "array" items: $ref: '#/components/schemas/LineItem' customLineItems: type: "array" items: $ref: '#/components/schemas/CustomLineItem' totalLineItemQuantity: type: "integer" format: "int64" totalPrice: $ref: '#/components/schemas/CentPrecisionMoney' taxedPrice: $ref: '#/components/schemas/TaxedPrice' taxedShippingPrice: $ref: '#/components/schemas/TaxedPrice' discountOnTotalPrice: $ref: '#/components/schemas/DiscountOnTotalPrice' taxMode: $ref: '#/components/schemas/TaxMode' priceRoundingMode: $ref: '#/components/schemas/RoundingMode' taxRoundingMode: $ref: '#/components/schemas/RoundingMode' taxCalculationMode: $ref: '#/components/schemas/TaxCalculationMode' inventoryMode: $ref: '#/components/schemas/InventoryMode' cartState: $ref: '#/components/schemas/CartState' freezeStrategy: $ref: '#/components/schemas/FreezeStrategy' billingAddress: $ref: '#/components/schemas/Address' shippingAddress: $ref: '#/components/schemas/Address' shippingMode: $ref: '#/components/schemas/ShippingMode' shippingKey: type: "string" shippingInfo: $ref: '#/components/schemas/ShippingInfo' shippingRateInput: $ref: '#/components/schemas/ShippingRateInput' shippingCustomFields: $ref: '#/components/schemas/CustomFields' shipping: type: "array" items: $ref: '#/components/schemas/Shipping' itemShippingAddresses: type: "array" items: $ref: '#/components/schemas/Address' discountCodes: type: "array" items: $ref: '#/components/schemas/DiscountCodeInfo' directDiscounts: type: "array" items: $ref: '#/components/schemas/DirectDiscount' directDiscountsIgnoreCartDiscounts: type: "boolean" refusedGifts: type: "array" items: $ref: '#/components/schemas/CartDiscountReference' paymentInfo: $ref: '#/components/schemas/PaymentInfo' country: $ref: '#/components/schemas/CountryCode' locale: $ref: '#/components/schemas/Locale' origin: $ref: '#/components/schemas/CartOrigin' custom: $ref: '#/components/schemas/CustomFields' discountTypeCombination: $ref: '#/components/schemas/DiscountTypeCombination' lock: $ref: '#/components/schemas/CartLock' deleteDaysAfterLastModification: type: "integer" format: "int32" purchaseOrderNumber: type: "string" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' warnings: type: "array" items: $ref: '#/components/schemas/WarningObject' CartDraft: type: "object" required: - currency properties: currency: $ref: '#/components/schemas/CurrencyCode' key: type: "string" customerId: type: "string" customerEmail: type: "string" customerGroup: $ref: '#/components/schemas/CustomerGroupResourceIdentifier' anonymousId: type: "string" businessUnit: $ref: '#/components/schemas/BusinessUnitResourceIdentifier' store: $ref: '#/components/schemas/StoreResourceIdentifier' lineItems: type: "array" items: $ref: '#/components/schemas/LineItemDraft' customLineItems: type: "array" items: $ref: '#/components/schemas/CustomLineItemDraft' taxMode: $ref: '#/components/schemas/TaxMode' externalTaxRateForShippingMethod: $ref: '#/components/schemas/ExternalTaxRateDraft' priceRoundingMode: $ref: '#/components/schemas/RoundingMode' taxRoundingMode: $ref: '#/components/schemas/RoundingMode' taxCalculationMode: $ref: '#/components/schemas/TaxCalculationMode' inventoryMode: $ref: '#/components/schemas/InventoryMode' billingAddress: $ref: '#/components/schemas/BaseAddress' shippingAddress: $ref: '#/components/schemas/BaseAddress' shippingMethod: $ref: '#/components/schemas/ShippingMethodResourceIdentifier' shippingRateInput: $ref: '#/components/schemas/ShippingRateInputDraft' shippingMode: $ref: '#/components/schemas/ShippingMode' customShipping: type: "array" items: $ref: '#/components/schemas/CustomShippingDraft' shipping: type: "array" items: $ref: '#/components/schemas/ShippingDraft' itemShippingAddresses: type: "array" items: $ref: '#/components/schemas/BaseAddress' discountCodes: type: "array" items: type: "string" directDiscountsIgnoreCartDiscounts: type: "boolean" country: $ref: '#/components/schemas/CountryCode' locale: $ref: '#/components/schemas/Locale' origin: $ref: '#/components/schemas/CartOrigin' deleteDaysAfterLastModification: type: "integer" format: "int64" custom: $ref: '#/components/schemas/CustomFieldsDraft' purchaseOrderNumber: type: "string" CartLock: type: "object" required: - clientId - createdAt properties: createdAt: type: "string" format: "datetime" clientId: type: "string" CartMergeMode: type: "string" enum: - MergeWithExistingCustomerCart - UseAsNewActiveCustomerCart x-annotation-package: "Cart" x-annotation-enumDescriptions: MergeWithExistingCustomerCart: "Merges the anonymous Cart with the existing Customer Cart.n" UseAsNewActiveCustomerCart: "Uses the anonymous Cart as the new active Customer Cart, replacing the existing one. No items from the previous active Cart are merged.n" CartOrigin: type: "string" enum: - Customer - Merchant - Quote - RecurringOrder x-annotation-package: "Cart" x-annotation-enumDescriptions: Customer: "Cart was created by a Customer.nnThis is the default value.n" Merchant: "Cart was created by a merchant on behalf of a Customer.n" Quote: "Cart is the [quotationCart](ctp:api:type:StagedQuote) that was automatically created by the [Create StagedQuote](ctp:api:endpoint:/{projectKey}/staged-quotes:POST) endpoint during the quoting process.n" RecurringOrder: "Cart was created as part of a Recurring Order.n" CartPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/Cart' CartReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/Cart' CartResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" CartState: type: "string" enum: - Active - Merged - Ordered - Frozen x-annotation-package: "Cart" x-annotation-enumDescriptions: Active: "The initial state of the Cart, which allows a Cart to be updated and ordered. A [Customer](ctp:api:type:Customer) can have more than one active Cart.n" Merged: "An anonymous Cart was merged into a Customer's Cart on [sign-in](ctp:api:endpoint:/{projectKey}/login:POST), and no further operations are allowed on the Cart.n" Ordered: "A Cart was [ordered](ctp:api:endpoint:/{projectKey}/orders:POST), and no further operations are allowed on the Cart.n" Frozen: "A Cart is [frozen](ctp:api:type:FrozenCarts). Update actions that can change the price of (Custom) Line Items are not allowed.nn - [Add LineItem](ctp:api:type:CartAddLineItemAction)n - [Change LineItem Quantity](ctp:api:type:CartChangeLineItemQuantityAction)n - [Remove LineItem](ctp:api:type:CartRemoveLineItemAction)n - [Set LineItem DistributionChannel](ctp:api:type:CartSetLineItemDistributionChannelAction)n - [Set LineItem SupplyChannel](ctp:api:type:CartSetLineItemSupplyChannelAction)n - [Add CustomLineItem](ctp:api:type:CartAddCustomLineItemAction)n - [Change CustomLineItem Quantity](ctp:api:type:CartChangeCustomLineItemQuantityAction)n - [Remove CustomLineItem](ctp:api:type:CartRemoveCustomLineItemAction)n - [Change TaxMode](ctp:api:type:CartChangeTaxModeAction)n - [Set LineItem Price](ctp:api:type:CartSetLineItemPriceAction)n - [Set LineItem TotalPrice](ctp:api:type:CartSetLineItemTotalPriceAction)nn Additionally, when using the `HardFreeze` [FreezeStrategy](ctp:api:type:FreezeStrategy), the following update actions are also not allowed:n - [Set ShippingMethod](ctp:api:type:CartSetShippingMethodAction)n - [Set CustomShippingMethod](ctp:api:type:CartSetCustomShippingMethodAction)n" CartUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/CartUpdateAction' CartUpdateAction: type: "object" discriminator: propertyName: action mapping: addCustomLineItem: '#/components/schemas/CartAddCustomLineItemAction' addCustomShippingMethod: '#/components/schemas/CartAddCustomShippingMethodAction' addDiscountCode: '#/components/schemas/CartAddDiscountCodeAction' addItemShippingAddress: '#/components/schemas/CartAddItemShippingAddressAction' addLineItem: '#/components/schemas/CartAddLineItemAction' addPayment: '#/components/schemas/CartAddPaymentAction' addShippingMethod: '#/components/schemas/CartAddShippingMethodAction' addShoppingList: '#/components/schemas/CartAddShoppingListAction' applyDeltaToCustomLineItemShippingDetailsTargets: '#/components/schemas/CartApplyDeltaToCustomLineItemShippingDetailsTargetsAction' applyDeltaToLineItemShippingDetailsTargets: '#/components/schemas/CartApplyDeltaToLineItemShippingDetailsTargetsAction' changeCustomLineItemMoney: '#/components/schemas/CartChangeCustomLineItemMoneyAction' changeCustomLineItemPriceMode: '#/components/schemas/CartChangeCustomLineItemPriceModeAction' changeCustomLineItemQuantity: '#/components/schemas/CartChangeCustomLineItemQuantityAction' changeLineItemQuantity: '#/components/schemas/CartChangeLineItemQuantityAction' changeLineItemsOrder: '#/components/schemas/CartChangeLineItemsOrderAction' changePriceRoundingMode: '#/components/schemas/CartChangePriceRoundingModeAction' changeTaxCalculationMode: '#/components/schemas/CartChangeTaxCalculationModeAction' changeTaxMode: '#/components/schemas/CartChangeTaxModeAction' changeTaxRoundingMode: '#/components/schemas/CartChangeTaxRoundingModeAction' freezeCart: '#/components/schemas/CartFreezeCartAction' lockCart: '#/components/schemas/CartLockCartAction' recalculate: '#/components/schemas/CartRecalculateAction' removeCustomLineItem: '#/components/schemas/CartRemoveCustomLineItemAction' removeDiscountCode: '#/components/schemas/CartRemoveDiscountCodeAction' removeItemShippingAddress: '#/components/schemas/CartRemoveItemShippingAddressAction' removeLineItem: '#/components/schemas/CartRemoveLineItemAction' removePayment: '#/components/schemas/CartRemovePaymentAction' removeShippingMethod: '#/components/schemas/CartRemoveShippingMethodAction' setAnonymousId: '#/components/schemas/CartSetAnonymousIdAction' setBillingAddress: '#/components/schemas/CartSetBillingAddressAction' setBillingAddressCustomField: '#/components/schemas/CartSetBillingAddressCustomFieldAction' setBillingAddressCustomType: '#/components/schemas/CartSetBillingAddressCustomTypeAction' setBusinessUnit: '#/components/schemas/CartSetBusinessUnitAction' setCartTotalTax: '#/components/schemas/CartSetCartTotalTaxAction' setCountry: '#/components/schemas/CartSetCountryAction' setCustomField: '#/components/schemas/CartSetCustomFieldAction' setCustomLineItemCustomField: '#/components/schemas/CartSetCustomLineItemCustomFieldAction' setCustomLineItemCustomType: '#/components/schemas/CartSetCustomLineItemCustomTypeAction' setCustomLineItemRecurrenceInfo: '#/components/schemas/CartSetCustomLineItemRecurrenceInfoAction' setCustomLineItemShippingDetails: '#/components/schemas/CartSetCustomLineItemShippingDetailsAction' setCustomLineItemTaxAmount: '#/components/schemas/CartSetCustomLineItemTaxAmountAction' setCustomLineItemTaxRate: '#/components/schemas/CartSetCustomLineItemTaxRateAction' setCustomShippingMethod: '#/components/schemas/CartSetCustomShippingMethodAction' setCustomType: '#/components/schemas/CartSetCustomTypeAction' setCustomerEmail: '#/components/schemas/CartSetCustomerEmailAction' setCustomerGroup: '#/components/schemas/CartSetCustomerGroupAction' setCustomerId: '#/components/schemas/CartSetCustomerIdAction' setDeleteDaysAfterLastModification: '#/components/schemas/CartSetDeleteDaysAfterLastModificationAction' setDirectDiscounts: '#/components/schemas/CartSetDirectDiscountsAction' setDirectDiscountsIgnoreCartDiscounts: '#/components/schemas/CartSetDirectDiscountsIgnoreCartDiscountsAction' setEstimatedDelivery: '#/components/schemas/CartSetEstimatedDeliveryAction' setItemShippingAddressCustomField: '#/components/schemas/CartSetItemShippingAddressCustomFieldAction' setItemShippingAddressCustomType: '#/components/schemas/CartSetItemShippingAddressCustomTypeAction' setKey: '#/components/schemas/CartSetKeyAction' setLineItemCustomField: '#/components/schemas/CartSetLineItemCustomFieldAction' setLineItemCustomType: '#/components/schemas/CartSetLineItemCustomTypeAction' setLineItemDistributionChannel: '#/components/schemas/CartSetLineItemDistributionChannelAction' setLineItemInventoryMode: '#/components/schemas/CartSetLineItemInventoryModeAction' setLineItemPrice: '#/components/schemas/CartSetLineItemPriceAction' setLineItemRecurrenceInfo: '#/components/schemas/CartSetLineItemRecurrenceInfoAction' setLineItemShippingDetails: '#/components/schemas/CartSetLineItemShippingDetailsAction' setLineItemSupplyChannel: '#/components/schemas/CartSetLineItemSupplyChannelAction' setLineItemTaxAmount: '#/components/schemas/CartSetLineItemTaxAmountAction' setLineItemTaxRate: '#/components/schemas/CartSetLineItemTaxRateAction' setLineItemTotalPrice: '#/components/schemas/CartSetLineItemTotalPriceAction' setLocale: '#/components/schemas/CartSetLocaleAction' setPurchaseOrderNumber: '#/components/schemas/CartSetPurchaseOrderNumberAction' setReservationExpirationInMinutes: '#/components/schemas/CartSetReservationExpirationInMinutesAction' setShippingAddress: '#/components/schemas/CartSetShippingAddressAction' setShippingAddressCustomField: '#/components/schemas/CartSetShippingAddressCustomFieldAction' setShippingAddressCustomType: '#/components/schemas/CartSetShippingAddressCustomTypeAction' setShippingCustomField: '#/components/schemas/CartSetShippingCustomFieldAction' setShippingCustomType: '#/components/schemas/CartSetShippingCustomTypeAction' setShippingMethod: '#/components/schemas/CartSetShippingMethodAction' setShippingMethodTaxAmount: '#/components/schemas/CartSetShippingMethodTaxAmountAction' setShippingMethodTaxRate: '#/components/schemas/CartSetShippingMethodTaxRateAction' setShippingRateInput: '#/components/schemas/CartSetShippingRateInputAction' unfreezeCart: '#/components/schemas/CartUnfreezeCartAction' unlockCart: '#/components/schemas/CartUnlockCartAction' updateItemShippingAddress: '#/components/schemas/CartUpdateItemShippingAddressAction' required: - action properties: action: type: "string" ClassificationShippingRateInput: allOf: - $ref: '#/components/schemas/ShippingRateInput' - type: "object" required: - key - label properties: type: type: "string" key: type: "string" label: $ref: '#/components/schemas/LocalizedString' ClassificationShippingRateInputDraft: allOf: - $ref: '#/components/schemas/ShippingRateInputDraft' - type: "object" required: - key properties: type: type: "string" key: type: "string" CustomLineItem: type: "object" required: - discountedPricePerQuantity - id - money - name - perMethodTaxRate - priceMode - quantity - slug - state - taxedPricePortions - totalPrice properties: id: type: "string" key: type: "string" name: $ref: '#/components/schemas/LocalizedString' money: $ref: '#/components/schemas/TypedMoney' taxedPrice: $ref: '#/components/schemas/TaxedItemPrice' taxedPricePortions: type: "array" items: $ref: '#/components/schemas/MethodTaxedPrice' totalPrice: $ref: '#/components/schemas/CentPrecisionMoney' slug: type: "string" quantity: type: "integer" format: "int64" state: type: "array" items: $ref: '#/components/schemas/ItemState' taxCategory: $ref: '#/components/schemas/TaxCategoryReference' taxRate: $ref: '#/components/schemas/TaxRate' perMethodTaxRate: type: "array" items: $ref: '#/components/schemas/MethodTaxRate' discountedPricePerQuantity: type: "array" items: $ref: '#/components/schemas/DiscountedLineItemPriceForQuantity' custom: $ref: '#/components/schemas/CustomFields' shippingDetails: $ref: '#/components/schemas/ItemShippingDetails' priceMode: $ref: '#/components/schemas/CustomLineItemPriceMode' recurrenceInfo: $ref: '#/components/schemas/CustomLineItemRecurrenceInfo' CustomLineItemDraft: type: "object" required: - money - name - slug properties: name: $ref: '#/components/schemas/LocalizedString' key: type: "string" quantity: type: "integer" format: "int64" money: $ref: '#/components/schemas/Money' slug: type: "string" taxCategory: $ref: '#/components/schemas/TaxCategoryResourceIdentifier' externalTaxRate: $ref: '#/components/schemas/ExternalTaxRateDraft' custom: $ref: '#/components/schemas/CustomFieldsDraft' shippingDetails: $ref: '#/components/schemas/ItemShippingDetailsDraft' priceMode: $ref: '#/components/schemas/CustomLineItemPriceMode' recurrenceInfo: $ref: '#/components/schemas/CustomLineItemRecurrenceInfoDraft' CustomLineItemPriceMode: type: "string" enum: - Standard - External x-annotation-package: "Cart" x-annotation-enumDescriptions: Standard: "Allows application of [Cart Discounts](/api/projects/cartDiscounts) for the Custom Line Item.nnThis is the default mode for backwards compatibility.n" External: "Deactivates application of Cart Discounts for the Custom Line Item despite a matching [CartDiscountCustomLineItemsTarget](ctp:api:type:CartDiscountCustomLineItemsTarget), [MultiBuyCustomLineItemsTarget](ctp:api:type:MultiBuyCustomLineItemsTarget), or [CartDiscountPatternTarget](ctp:api:type:CartDiscountPatternTarget).n" CustomShippingDraft: type: "object" required: - key - shippingMethodName - shippingRate properties: key: type: "string" shippingMethodName: type: "string" shippingAddress: $ref: '#/components/schemas/BaseAddress' shippingRate: $ref: '#/components/schemas/ShippingRateDraft' shippingRateInput: $ref: '#/components/schemas/ShippingRateInputDraft' taxCategory: $ref: '#/components/schemas/TaxCategoryResourceIdentifier' externalTaxRate: $ref: '#/components/schemas/ExternalTaxRateDraft' deliveries: type: "array" items: $ref: '#/components/schemas/DeliveryDraft' custom: $ref: '#/components/schemas/CustomFieldsDraft' DirectDiscount: type: "object" required: - id - value properties: id: type: "string" value: $ref: '#/components/schemas/CartDiscountValue' target: $ref: '#/components/schemas/CartDiscountTarget' participateInBestDealSelection: type: "boolean" DirectDiscountDraft: type: "object" required: - value properties: value: $ref: '#/components/schemas/CartDiscountValueDraft' target: $ref: '#/components/schemas/CartDiscountTarget' participateInBestDealSelection: type: "boolean" DirectDiscountReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" DiscountCodeInfo: type: "object" required: - discountCode - state properties: discountCode: $ref: '#/components/schemas/DiscountCodeReference' state: $ref: '#/components/schemas/DiscountCodeState' DiscountCodeState: type: "string" enum: - NotActive - NotValid - DoesNotMatchCart - MatchesCart - MaxApplicationReached - ApplicationStoppedByPreviousDiscount - ApplicationStoppedByGroupBestDeal x-annotation-package: "Cart" x-annotation-enumDescriptions: NotActive: "The Discount Code is not active or does not contain any active Cart Discounts.n" NotValid: "The Discount Code is not valid or does not contain any valid Cart Discounts.n Validity is determined by the [CartDiscount](ctp:api:type:CartDiscount) `validFrom` and `validUntil` dates.n" DoesNotMatchCart: "The Discount Code is active and contains at least one active and valid Cart Discount.nThe [DiscountCode](ctp:api:type:DiscountCode) `cartPredicate` does not match the Cart or the contained active discount's cart predicates do not match the Cart.n" MatchesCart: "The Discount Code is active and contains at least one active and valid Cart Discount.nThe [DiscountCode](ctp:api:type:DiscountCode) `cartPredicate` matches the Cart and at least one of the contained active discount's cart predicates matches the Cart.n" MaxApplicationReached: "The `maxApplications` or `maxApplicationsPerCustomer` for a [DiscountCode](ctp:api:type:DiscountCode) has been reached.n" ApplicationStoppedByPreviousDiscount: "The Discount Code is active, but further Cart Discounts are not applied as a Cart Discount with `StopAfterThisDiscount` [StackingMode](ctp:api:type:StackingMode) is applied.n" ApplicationStoppedByGroupBestDeal: "The Discount Code is active, but Cart Discounts from a Discount Group are not applied as another Cart Discount from that Discount Group, offering a better deal, is applied.n" DiscountOnTotalPrice: type: "object" required: - discountedAmount - includedDiscounts properties: discountedAmount: $ref: '#/components/schemas/TypedMoney' includedDiscounts: type: "array" items: $ref: '#/components/schemas/DiscountedTotalPricePortion' discountedNetAmount: $ref: '#/components/schemas/TypedMoney' discountedGrossAmount: $ref: '#/components/schemas/TypedMoney' DiscountTypeCombination: type: "object" discriminator: propertyName: type mapping: BestDeal: '#/components/schemas/BestDeal' Stacking: '#/components/schemas/Stacking' required: - type properties: type: type: "string" DiscountedLineItemPortion: type: "object" required: - discount - discountedAmount properties: discount: $ref: '#/components/schemas/Reference' discountedAmount: $ref: '#/components/schemas/TypedMoney' DiscountedLineItemPortionDraft: type: "object" required: - discount - discountedAmount properties: discount: $ref: '#/components/schemas/Reference' discountedAmount: $ref: '#/components/schemas/TypedMoneyDraft' DiscountedLineItemPrice: type: "object" required: - includedDiscounts - value properties: value: $ref: '#/components/schemas/TypedMoney' includedDiscounts: type: "array" items: $ref: '#/components/schemas/DiscountedLineItemPortion' DiscountedLineItemPriceForQuantity: type: "object" required: - discountedPrice - quantity properties: quantity: type: "integer" format: "int64" discountedPrice: $ref: '#/components/schemas/DiscountedLineItemPrice' DiscountedTotalPricePortion: type: "object" required: - discount - discountedAmount properties: discount: $ref: '#/components/schemas/Reference' discountedAmount: $ref: '#/components/schemas/TypedMoney' EstimatedDelivery: type: "object" properties: from: type: "string" format: "datetime" until: type: "string" format: "datetime" ExternalLineItemTotalPrice: type: "object" required: - price - totalPrice properties: price: $ref: '#/components/schemas/Money' totalPrice: $ref: '#/components/schemas/Money' ExternalTaxAmountDraft: type: "object" required: - taxRate - totalGross properties: totalGross: $ref: '#/components/schemas/Money' taxRate: $ref: '#/components/schemas/ExternalTaxRateDraft' ExternalTaxRateDraft: type: "object" required: - country - name properties: name: type: "string" amount: type: "number" format: "double" includedInPrice: type: "boolean" country: $ref: '#/components/schemas/CountryCode' state: type: "string" subRates: type: "array" items: $ref: '#/components/schemas/SubRate' taxRoundingTarget: $ref: '#/components/schemas/TaxRoundingTarget' FreezeStrategy: type: "string" enum: - SoftFreeze - HardFreeze x-annotation-package: "Cart" x-annotation-enumDescriptions: SoftFreeze: "More lenient Cart freeze strategy that locks prices as they were when the Cart was frozen. This is the default strategy when not explicitly specified, ensuring backwards compatibility.n" HardFreeze: "Stricter Cart freeze strategy that, in addition to the `SoftFreeze` behavior, also freezes Cart Discounts, Discount Codes, and Shipping Methods, ensuring the final price remains unchanged.n" InventoryMode: type: "string" enum: - None - TrackOnly - ReserveOnOrder - ReserveOnCart x-annotation-package: "Cart" x-annotation-enumDescriptions: None: "Adding and ordering items from a Cart are independent of the Inventory with no inventory checks or modifications.nThis is the default mode.n" TrackOnly: "Orders are tracked on the Inventory, and ordering a [LineItem](ctp:api:type:LineItem) deducts the available quantity on the respective [InventoryEntry](ctp:api:type:InventoryEntry).n nAn [Order can be created](ctp:api:endpoint:/{projectKey}/orders:POST) even if the Inventory Entry quantity is zero or negative. However, if no matching Inventory Entry exists for the Line Item, an [OutOfStock](ctp:api:type:OutOfStockError) error is returned.n" ReserveOnOrder: "Line Items in a Cart are only reserved for the duration of the ordering transaction.nIf a Line Item is not available when [creating an Order](ctp:api:endpoint:/{projectKey}/orders:POST), an [OutOfStock](ctp:api:type:OutOfStockError) error is returned.nThis is because the [InventoryEntry](ctp:api:type:InventoryEntry) `availableQuantity` is insufficient (but is still updated) for the ordered Line Item quantity.nnHowever, an Order can be created if the [InventoryEntry](ctp:api:type:InventoryEntry) `restockableInDays` is set (including `0`).n" ReserveOnCart: "When Line Items are added to a Cart, they are automatically reserved. The reservation can be released by [removing](ctp:api:type:CartRemoveLineItemAction) the Line Item from the Cart or [changing](ctp:api:type:CartSetLineItemInventoryModeAction) their inventory mode to something other than `ReserveOnCart`. Reservations expire after the time specified in the Project's [`reservationExpirationInMinutes`](ctp:api:type:InventoryConfiguration) setting.nnTo use this inventory mode, you must set the reservation expiration time on the [Project](ctp:api:type:Project) using the [Set Reservation Expiration In Minutes](ctp:api:type:ProjectSetReservationExpirationInMinutesAction) update action.n" ItemShippingDetails: type: "object" required: - targets - valid properties: targets: type: "array" items: $ref: '#/components/schemas/ItemShippingTarget' valid: type: "boolean" ItemShippingDetailsDraft: type: "object" required: - targets properties: targets: type: "array" items: $ref: '#/components/schemas/ItemShippingTarget' ItemShippingTarget: type: "object" required: - addressKey - quantity properties: addressKey: type: "string" quantity: type: "integer" format: "int64" shippingMethodKey: type: "string" LineItem: type: "object" required: - discountedPricePerQuantity - id - lineItemMode - name - perMethodTaxRate - price - priceMode - productId - productType - quantity - state - taxedPricePortions - totalPrice - variant properties: id: type: "string" key: type: "string" productId: type: "string" productKey: type: "string" name: $ref: '#/components/schemas/LocalizedString' productSlug: $ref: '#/components/schemas/LocalizedString' productType: $ref: '#/components/schemas/ProductTypeReference' variant: $ref: '#/components/schemas/ProductVariant' price: $ref: '#/components/schemas/Price' quantity: type: "integer" format: "int64" totalPrice: $ref: '#/components/schemas/CentPrecisionMoney' discountedPricePerQuantity: type: "array" items: $ref: '#/components/schemas/DiscountedLineItemPriceForQuantity' taxedPrice: $ref: '#/components/schemas/TaxedItemPrice' taxedPricePortions: type: "array" items: $ref: '#/components/schemas/MethodTaxedPrice' state: type: "array" items: $ref: '#/components/schemas/ItemState' taxRate: $ref: '#/components/schemas/TaxRate' perMethodTaxRate: type: "array" items: $ref: '#/components/schemas/MethodTaxRate' supplyChannel: $ref: '#/components/schemas/ChannelReference' distributionChannel: $ref: '#/components/schemas/ChannelReference' priceMode: $ref: '#/components/schemas/LineItemPriceMode' lineItemMode: $ref: '#/components/schemas/LineItemMode' inventoryMode: $ref: '#/components/schemas/InventoryMode' shippingDetails: $ref: '#/components/schemas/ItemShippingDetails' reservation: $ref: '#/components/schemas/ReservationReference' custom: $ref: '#/components/schemas/CustomFields' addedAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" recurrenceInfo: $ref: '#/components/schemas/LineItemRecurrenceInfo' LineItemDraft: type: "object" properties: key: type: "string" productId: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" quantity: type: "integer" format: "int64" addedAt: type: "string" format: "datetime" distributionChannel: $ref: '#/components/schemas/ChannelResourceIdentifier' supplyChannel: $ref: '#/components/schemas/ChannelResourceIdentifier' externalPrice: $ref: '#/components/schemas/Money' externalTotalPrice: $ref: '#/components/schemas/ExternalLineItemTotalPrice' externalTaxRate: $ref: '#/components/schemas/ExternalTaxRateDraft' perMethodExternalTaxRate: type: "array" items: $ref: '#/components/schemas/MethodExternalTaxRateDraft' inventoryMode: $ref: '#/components/schemas/InventoryMode' shippingDetails: $ref: '#/components/schemas/ItemShippingDetailsDraft' custom: $ref: '#/components/schemas/CustomFieldsDraft' recurrenceInfo: $ref: '#/components/schemas/LineItemRecurrenceInfoDraft' LineItemMode: type: "string" enum: - Standard - GiftLineItem x-annotation-package: "Cart" x-annotation-enumDescriptions: Standard: "The Line Item was added during [Cart creation](ctp:api:endpoint:/{projectKey}/carts:POST) or the [Add LineItem](ctp:api:type:CartAddLineItemAction) update action.nThe Line Item quantity can be changed without restriction.n" GiftLineItem: "One Line Item was added automatically to a Cart by a Cart Discount with [CartDiscountValueGiftLineItemDraft](ctp:api:type:CartDiscountValueGiftLineItemDraft).n nThe quantity cannot be [increased](ctp:api:type:CartChangeLineItemQuantityAction), and it won't be merged when [adding](ctp:api:type:CartAddLineItemAction) the same Line Item to the Cart.nIf the gift is [removed](ctp:api:type:CartRemoveLineItemAction), an entry is added to the `refusedGifts` array and the discount won't be applied to the Cart.nnThe `totalPrice` is always `0` and cannot be changed externally via the [setLineItemTotalPrice](ctp:api:type:CartSetLineItemTotalPriceAction) action.nnAll other updates, such as the ones related to Custom Fields, can be used.n" LineItemPriceMode: type: "string" enum: - Platform - ExternalPrice - ExternalTotal x-annotation-package: "Cart" x-annotation-enumDescriptions: Platform: "The price is [selected](/api/pricing-and-discounts-overview#line-item-price-selection) from the Product Variant.nThis is the default mode.n" ExternalPrice: "The Line Item price is set externally.nCart Discounts can apply to Line Items with this price mode.nAll update actions that change the quantity of a Line Item with this price mode require the `externalPrice` field to be given.n" ExternalTotal: "The Line Item price with the total is set externally.nCart Discounts are deactivated for Line Items with this price mode, despite a matching [CartDiscountLineItemsTarget](ctp:api:type:CartDiscountLineItemsTarget) or [MultiBuyLineItemsTarget](ctp:api:type:MultiBuyLineItemsTarget).nAlthough a Line Item with this price mode has both `price` and `totalPrice` set externally, only `totalPrice` is used to calculate the total price of a Cart.nAll update actions that change the quantity of a Line Item with this price mode can set the new price with the `externalTotalPrice` field.nIf the `externalTotalPrice` field is not given in the update actions, the external price is unset and the price mode is set to `Platform`.n" MergeCartDraft: type: "object" properties: anonymousCart: $ref: '#/components/schemas/CartResourceIdentifier' mergeMode: $ref: '#/components/schemas/CartMergeMode' updateProductData: type: "boolean" anonymousId: type: "string" MethodExternalTaxRateDraft: type: "object" required: - shippingMethodKey properties: shippingMethodKey: type: "string" taxRate: $ref: '#/components/schemas/ExternalTaxRateDraft' MethodTaxRate: type: "object" required: - shippingMethodKey properties: shippingMethodKey: type: "string" taxRate: $ref: '#/components/schemas/TaxRate' MethodTaxedPrice: type: "object" required: - shippingMethodKey properties: shippingMethodKey: type: "string" taxedPrice: $ref: '#/components/schemas/TaxedItemPrice' ReplicaCartDraft: type: "object" required: - reference properties: reference: oneOf: - $ref: '#/components/schemas/CartReference' - $ref: '#/components/schemas/OrderReference' key: type: "string" ReservationReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/Reservation' RoundingMode: type: "string" enum: - HalfEven - HalfUp - HalfDown x-annotation-package: "Cart" x-annotation-enumDescriptions: HalfEven: "[Round half to even](https://en.wikipedia.org/wiki/Rounding#Rounding_half_to_even)n nDefault mode for a new Cart.n" HalfUp: "[Round half up](https://en.wikipedia.org/wiki/Rounding#Rounding_half_up)n" HalfDown: "[Round half down](https://en.wikipedia.org/wiki/Rounding#Rounding_half_down)n" ScoreShippingRateInput: allOf: - $ref: '#/components/schemas/ShippingRateInput' - type: "object" required: - score properties: type: type: "string" score: type: "integer" format: "int64" ScoreShippingRateInputDraft: allOf: - $ref: '#/components/schemas/ShippingRateInputDraft' - type: "object" required: - score properties: type: type: "string" score: type: "integer" format: "int64" Shipping: type: "object" required: - shippingAddress - shippingInfo - shippingKey properties: shippingKey: type: "string" shippingInfo: $ref: '#/components/schemas/ShippingInfo' shippingAddress: $ref: '#/components/schemas/Address' shippingRateInput: $ref: '#/components/schemas/ShippingRateInput' shippingCustomFields: $ref: '#/components/schemas/CustomFields' ShippingDraft: type: "object" required: - key - shippingAddress properties: key: type: "string" shippingMethod: $ref: '#/components/schemas/ShippingMethodReference' shippingAddress: $ref: '#/components/schemas/BaseAddress' shippingRateInput: $ref: '#/components/schemas/ShippingRateInputDraft' externalTaxRate: $ref: '#/components/schemas/ExternalTaxRateDraft' deliveries: type: "array" items: $ref: '#/components/schemas/DeliveryDraft' custom: $ref: '#/components/schemas/CustomFieldsDraft' ShippingInfo: type: "object" required: - price - shippingMethodName - shippingMethodState - shippingRate properties: shippingMethodName: type: "string" price: $ref: '#/components/schemas/CentPrecisionMoney' shippingRate: $ref: '#/components/schemas/ShippingRate' taxedPrice: $ref: '#/components/schemas/TaxedItemPrice' taxRate: $ref: '#/components/schemas/TaxRate' taxCategory: $ref: '#/components/schemas/TaxCategoryReference' shippingMethod: $ref: '#/components/schemas/ShippingMethodReference' deliveries: type: "array" items: $ref: '#/components/schemas/Delivery' discountedPrice: $ref: '#/components/schemas/DiscountedLineItemPrice' shippingMethodState: $ref: '#/components/schemas/ShippingMethodState' estimatedDelivery: $ref: '#/components/schemas/EstimatedDelivery' ShippingMethodState: type: "string" enum: - DoesNotMatchCart - MatchesCart x-annotation-package: "Cart" x-annotation-enumDescriptions: DoesNotMatchCart: "The [ShippingMethod](ctp:api:type:ShippingMethod) `predicate` does not match the Cart.nnOrdering this Cart returns an [ShippingMethodDoesNotMatchCart](ctp:api:type:ShippingMethodDoesNotMatchCartError) error.n" MatchesCart: "Either the [ShippingMethod](ctp:api:type:ShippingMethod) `predicate` matches the Cart or there is no `predicate` defined." ShippingMode: type: "string" enum: - Single - Multiple x-annotation-package: "Cart" x-annotation-enumDescriptions: Single: "Cart can contain only a single Shipping Method.nThis is the default mode for backwards compatibility.n" Multiple: "Cart can contain multiple Shipping Methods.n" ShippingRateInput: type: "object" discriminator: propertyName: type mapping: Classification: '#/components/schemas/ClassificationShippingRateInput' Score: '#/components/schemas/ScoreShippingRateInput' required: - type properties: type: type: "string" ShippingRateInputDraft: type: "object" discriminator: propertyName: type mapping: Classification: '#/components/schemas/ClassificationShippingRateInputDraft' Score: '#/components/schemas/ScoreShippingRateInputDraft' required: - type properties: type: type: "string" Stacking: allOf: - $ref: '#/components/schemas/DiscountTypeCombination' - type: "object" properties: type: type: "string" TaxCalculationMode: type: "string" enum: - LineItemLevel - UnitPriceLevel x-annotation-package: "Cart" x-annotation-enumDescriptions: LineItemLevel: "Taxes are calculated **after** the unit price is multiplied by the quantity. This is the default mode.nnFor example, `($1.08 * 3 = $3.24) * 1.19 = $3.8556 -> $3.86 rounded`n" UnitPriceLevel: "Taxes are calculated on the unit price **before** multiplying by the quantity.nnFor example, `($1.08 * 1.19 = $1.2852 -> $1.29 rounded) * 3 = $3.87`n" TaxMode: type: "string" enum: - Platform - External - ExternalAmount - Disabled x-annotation-package: "Cart" x-annotation-enumDescriptions: Platform: "- Tax Rates are selected automatically from the [TaxCategories](ctp:api:type:TaxCategory) based on the [Cart](ctp:api:type:Cart) `shippingAddress`.nThis is the default tax mode for a new Cart.nn- The `totalNet`, `totalGross`, and `taxPortions` fields are calculated based on the `taxRoundingMode`.n" External: "- Tax Rates are set externally with [ExternalTaxRateDraft](ctp:api:type:ExternalTaxRateDraft).n A Cart can be ordered only if all Line Items, Custom Line Items, and the Shipping Method have an external Tax Rate set.nn- The `totalNet`, `totalGross`, and `taxPortions` fields are calculated based on the `taxRoundingMode`.n" ExternalAmount: "- Tax amounts, Tax Rates, and tax portions are set externally with [ExternalTaxAmountDraft](ctp:api:type:ExternalTaxAmountDraft).nA Cart can be ordered only if the Cart and all Line Items, Custom Line Items, and the Shipping Method have an external tax amount and rate set.nn- The Cart `taxedPrice` field must be set using [Set Cart Total Tax](ctp:api:type:CartSetCartTotalTaxAction). The Cart `taxedShippingPrice` field is always empty in this tax mode.nn- Price-affecting update actions on Carts require external recalculation of the total gross price. In these cases, `taxedPrice` and `taxRate` are removed and must be set again. The order in which the individual update actions are issued is important:n 1. Issue the price-affecting update action(s).n 2. Update the tax amounts using [Set LineItem TaxAmount](ctp:api:type:CartSetLineItemTaxAmountAction), [Set CustomLineItem TaxAmount](ctp:api:type:CartSetCustomLineItemTaxAmountAction), or [Set ShippingMethod TaxAmount](ctp:api:type:CartSetShippingMethodTaxAmountAction).nn - If the update action changes the Line Item price, for Line Items with `Platform` [LineItemPriceMode](ctp:api:type:LineItemPriceMode), you must issue [Set LineItem TaxAmount](ctp:api:type:CartSetLineItemTaxAmountAction) in a _separate_ request.nn - If the update action removes the externally set tax amount for the Shipping Method, you must issue [Set ShippingMethod TaxAmount](ctp:api:type:CartSetShippingMethodTaxAmountAction) in a _separate_ request.nn 3. Update the `taxedPrice` on Cart using [Set Cart Total Tax](ctp:api:type:CartSetCartTotalTaxAction).nn- Tax-inclusive pricing should be avoided when using TaxMode `ExternalAmount` because `taxedItemPrice.totalNet` is automatically set by the platform to the Line Item's `totalPrice`.n" Disabled: "- No taxes are added to the Cart.n- This tax mode cannot be set on the [My Carts](/api/projects/me-carts) API.n" TaxPortion: type: "object" required: - amount - rate properties: name: type: "string" rate: type: "number" format: "double" amount: $ref: '#/components/schemas/CentPrecisionMoney' TaxPortionDraft: type: "object" required: - amount - rate properties: name: type: "string" rate: type: "number" format: "double" amount: $ref: '#/components/schemas/Money' TaxedItemPrice: type: "object" required: - taxPortions - totalGross - totalNet properties: totalNet: $ref: '#/components/schemas/CentPrecisionMoney' totalGross: $ref: '#/components/schemas/CentPrecisionMoney' taxPortions: type: "array" items: $ref: '#/components/schemas/TaxPortion' totalTax: $ref: '#/components/schemas/CentPrecisionMoney' TaxedPrice: type: "object" required: - taxPortions - totalGross - totalNet properties: totalNet: $ref: '#/components/schemas/CentPrecisionMoney' totalGross: $ref: '#/components/schemas/CentPrecisionMoney' taxPortions: type: "array" items: $ref: '#/components/schemas/TaxPortion' totalTax: $ref: '#/components/schemas/CentPrecisionMoney' TaxedPriceDraft: type: "object" required: - taxPortions - totalGross - totalNet properties: totalNet: $ref: '#/components/schemas/Money' totalGross: $ref: '#/components/schemas/Money' taxPortions: type: "array" items: $ref: '#/components/schemas/TaxPortionDraft' totalTax: $ref: '#/components/schemas/TypedMoneyDraft' CartAddCustomLineItemAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - money - name - slug properties: action: type: "string" money: $ref: '#/components/schemas/Money' name: $ref: '#/components/schemas/LocalizedString' key: type: "string" quantity: type: "integer" format: "int64" slug: type: "string" taxCategory: $ref: '#/components/schemas/TaxCategoryResourceIdentifier' externalTaxRate: $ref: '#/components/schemas/ExternalTaxRateDraft' shippingDetails: $ref: '#/components/schemas/ItemShippingDetailsDraft' custom: $ref: '#/components/schemas/CustomFieldsDraft' priceMode: $ref: '#/components/schemas/CustomLineItemPriceMode' recurrenceInfo: $ref: '#/components/schemas/CustomLineItemRecurrenceInfoDraft' CartAddCustomShippingMethodAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - shippingAddress - shippingKey - shippingMethodName - shippingRate properties: action: type: "string" shippingKey: type: "string" shippingMethodName: type: "string" shippingAddress: $ref: '#/components/schemas/BaseAddress' shippingRate: $ref: '#/components/schemas/ShippingRateDraft' shippingRateInput: $ref: '#/components/schemas/ShippingRateInputDraft' taxCategory: $ref: '#/components/schemas/TaxCategoryResourceIdentifier' externalTaxRate: $ref: '#/components/schemas/ExternalTaxRateDraft' deliveries: type: "array" items: $ref: '#/components/schemas/DeliveryDraft' custom: $ref: '#/components/schemas/CustomFieldsDraft' CartAddDiscountCodeAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - code properties: action: type: "string" code: type: "string" CartAddItemShippingAddressAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - address properties: action: type: "string" address: $ref: '#/components/schemas/BaseAddress' CartAddLineItemAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" productId: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" quantity: type: "integer" format: "int64" addedAt: type: "string" format: "datetime" distributionChannel: $ref: '#/components/schemas/ChannelResourceIdentifier' supplyChannel: $ref: '#/components/schemas/ChannelResourceIdentifier' externalPrice: $ref: '#/components/schemas/Money' externalTotalPrice: $ref: '#/components/schemas/ExternalLineItemTotalPrice' externalTaxRate: $ref: '#/components/schemas/ExternalTaxRateDraft' perMethodExternalTaxRate: type: "array" items: $ref: '#/components/schemas/MethodExternalTaxRateDraft' inventoryMode: $ref: '#/components/schemas/InventoryMode' shippingDetails: $ref: '#/components/schemas/ItemShippingDetailsDraft' recurrenceInfo: $ref: '#/components/schemas/LineItemRecurrenceInfoDraft' custom: $ref: '#/components/schemas/CustomFieldsDraft' CartAddPaymentAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - payment properties: action: type: "string" payment: $ref: '#/components/schemas/PaymentResourceIdentifier' CartAddShippingMethodAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - shippingAddress - shippingKey - shippingMethod properties: action: type: "string" shippingKey: type: "string" shippingMethod: $ref: '#/components/schemas/ShippingMethodResourceIdentifier' shippingAddress: $ref: '#/components/schemas/BaseAddress' shippingRateInput: $ref: '#/components/schemas/ShippingRateInputDraft' externalTaxRate: $ref: '#/components/schemas/ExternalTaxRateDraft' deliveries: type: "array" items: $ref: '#/components/schemas/DeliveryDraft' custom: $ref: '#/components/schemas/CustomFieldsDraft' estimatedDelivery: $ref: '#/components/schemas/EstimatedDelivery' CartAddShoppingListAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - shoppingList properties: action: type: "string" shoppingList: $ref: '#/components/schemas/ShoppingListResourceIdentifier' distributionChannel: $ref: '#/components/schemas/ChannelResourceIdentifier' supplyChannel: $ref: '#/components/schemas/ChannelResourceIdentifier' CartApplyDeltaToCustomLineItemShippingDetailsTargetsAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - targetsDelta properties: action: type: "string" customLineItemId: type: "string" customLineItemKey: type: "string" targetsDelta: type: "array" items: $ref: '#/components/schemas/ItemShippingTarget' CartApplyDeltaToLineItemShippingDetailsTargetsAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - targetsDelta properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" targetsDelta: type: "array" items: $ref: '#/components/schemas/ItemShippingTarget' CartChangeCustomLineItemMoneyAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - money properties: action: type: "string" customLineItemId: type: "string" customLineItemKey: type: "string" money: $ref: '#/components/schemas/Money' CartChangeCustomLineItemPriceModeAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - mode properties: action: type: "string" customLineItemId: type: "string" customLineItemKey: type: "string" mode: $ref: '#/components/schemas/CustomLineItemPriceMode' CartChangeCustomLineItemQuantityAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - quantity properties: action: type: "string" customLineItemId: type: "string" customLineItemKey: type: "string" quantity: type: "integer" format: "int64" CartChangeLineItemQuantityAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - quantity properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" quantity: type: "integer" format: "int64" externalPrice: $ref: '#/components/schemas/Money' externalTotalPrice: $ref: '#/components/schemas/ExternalLineItemTotalPrice' CartChangeLineItemsOrderAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - lineItemOrder properties: action: type: "string" lineItemOrder: type: "array" items: type: "string" CartChangePriceRoundingModeAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - priceRoundingMode properties: action: type: "string" priceRoundingMode: $ref: '#/components/schemas/RoundingMode' CartChangeTaxCalculationModeAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - taxCalculationMode properties: action: type: "string" taxCalculationMode: $ref: '#/components/schemas/TaxCalculationMode' CartChangeTaxModeAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - taxMode properties: action: type: "string" taxMode: $ref: '#/components/schemas/TaxMode' CartChangeTaxRoundingModeAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - taxRoundingMode properties: action: type: "string" taxRoundingMode: $ref: '#/components/schemas/RoundingMode' CartFreezeCartAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" strategy: $ref: '#/components/schemas/FreezeStrategy' CartLockCartAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" CartRecalculateAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" updateProductData: type: "boolean" CartRemoveCustomLineItemAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" customLineItemId: type: "string" customLineItemKey: type: "string" CartRemoveDiscountCodeAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - discountCode properties: action: type: "string" discountCode: $ref: '#/components/schemas/DiscountCodeReference' CartRemoveItemShippingAddressAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - addressKey properties: action: type: "string" addressKey: type: "string" CartRemoveLineItemAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" quantity: type: "integer" format: "int64" externalPrice: $ref: '#/components/schemas/Money' externalTotalPrice: $ref: '#/components/schemas/ExternalLineItemTotalPrice' shippingDetailsToRemove: $ref: '#/components/schemas/ItemShippingDetailsDraft' CartRemovePaymentAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - payment properties: action: type: "string" payment: $ref: '#/components/schemas/PaymentResourceIdentifier' CartRemoveShippingMethodAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - shippingKey properties: action: type: "string" shippingKey: type: "string" CartSetAnonymousIdAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" anonymousId: type: "string" CartSetBillingAddressAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" address: $ref: '#/components/schemas/BaseAddress' CartSetBillingAddressCustomFieldAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} CartSetBillingAddressCustomTypeAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' CartSetBusinessUnitAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - businessUnit properties: action: type: "string" businessUnit: $ref: '#/components/schemas/BusinessUnitResourceIdentifier' CartSetCartTotalTaxAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - externalTotalGross properties: action: type: "string" externalTotalGross: $ref: '#/components/schemas/Money' externalTaxPortions: type: "array" items: $ref: '#/components/schemas/TaxPortionDraft' CartSetCountryAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" country: $ref: '#/components/schemas/CountryCode' CartSetCustomFieldAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} CartSetCustomLineItemCustomFieldAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - name properties: action: type: "string" customLineItemId: type: "string" customLineItemKey: type: "string" name: type: "string" value: {} CartSetCustomLineItemCustomTypeAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" customLineItemId: type: "string" customLineItemKey: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' CartSetCustomLineItemRecurrenceInfoAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" customLineItemId: type: "string" customLineItemKey: type: "string" recurrenceInfo: $ref: '#/components/schemas/CustomLineItemRecurrenceInfoDraft' CartSetCustomLineItemShippingDetailsAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" customLineItemId: type: "string" customLineItemKey: type: "string" shippingDetails: $ref: '#/components/schemas/ItemShippingDetailsDraft' CartSetCustomLineItemTaxAmountAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" customLineItemId: type: "string" customLineItemKey: type: "string" externalTaxAmount: $ref: '#/components/schemas/ExternalTaxAmountDraft' shippingKey: type: "string" CartSetCustomLineItemTaxRateAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" customLineItemId: type: "string" customLineItemKey: type: "string" externalTaxRate: $ref: '#/components/schemas/ExternalTaxRateDraft' shippingKey: type: "string" CartSetCustomShippingMethodAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - shippingMethodName - shippingRate properties: action: type: "string" shippingMethodName: type: "string" shippingRate: $ref: '#/components/schemas/ShippingRateDraft' taxCategory: $ref: '#/components/schemas/TaxCategoryResourceIdentifier' externalTaxRate: $ref: '#/components/schemas/ExternalTaxRateDraft' custom: $ref: '#/components/schemas/CustomFieldsDraft' estimatedDelivery: $ref: '#/components/schemas/EstimatedDelivery' CartSetCustomTypeAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' CartSetCustomerEmailAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" email: type: "string" CartSetCustomerGroupAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" customerGroup: $ref: '#/components/schemas/CustomerGroupResourceIdentifier' CartSetCustomerIdAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" customerId: type: "string" CartSetDeleteDaysAfterLastModificationAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" deleteDaysAfterLastModification: type: "integer" format: "int32" CartSetDirectDiscountsAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - discounts properties: action: type: "string" discounts: type: "array" items: $ref: '#/components/schemas/DirectDiscountDraft' CartSetDirectDiscountsIgnoreCartDiscountsAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" directDiscountsIgnoreCartDiscounts: type: "boolean" CartSetEstimatedDeliveryAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" shippingKey: type: "string" estimatedDelivery: $ref: '#/components/schemas/EstimatedDelivery' CartSetItemShippingAddressCustomFieldAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - addressKey - name properties: action: type: "string" addressKey: type: "string" name: type: "string" value: {} CartSetItemShippingAddressCustomTypeAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - addressKey properties: action: type: "string" addressKey: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' CartSetKeyAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" CartSetLineItemCustomFieldAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - name properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" name: type: "string" value: {} CartSetLineItemCustomTypeAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' CartSetLineItemDistributionChannelAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" distributionChannel: $ref: '#/components/schemas/ChannelResourceIdentifier' CartSetLineItemInventoryModeAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" inventoryMode: $ref: '#/components/schemas/InventoryMode' CartSetLineItemPriceAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" externalPrice: $ref: '#/components/schemas/Money' CartSetLineItemRecurrenceInfoAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" recurrenceInfo: $ref: '#/components/schemas/LineItemRecurrenceInfoDraft' CartSetLineItemShippingDetailsAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" shippingDetails: $ref: '#/components/schemas/ItemShippingDetailsDraft' CartSetLineItemSupplyChannelAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" supplyChannel: $ref: '#/components/schemas/ChannelResourceIdentifier' CartSetLineItemTaxAmountAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" externalTaxAmount: $ref: '#/components/schemas/ExternalTaxAmountDraft' shippingKey: type: "string" CartSetLineItemTaxRateAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" externalTaxRate: $ref: '#/components/schemas/ExternalTaxRateDraft' shippingKey: type: "string" CartSetLineItemTotalPriceAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" externalTotalPrice: $ref: '#/components/schemas/ExternalLineItemTotalPrice' CartSetLocaleAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" locale: $ref: '#/components/schemas/Locale' CartSetPurchaseOrderNumberAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" purchaseOrderNumber: type: "string" CartSetReservationExpirationInMinutesAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - reservationExpirationInMinutes properties: action: type: "string" reservationExpirationInMinutes: type: "integer" format: "int32" CartSetShippingAddressAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" address: $ref: '#/components/schemas/BaseAddress' CartSetShippingAddressCustomFieldAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} CartSetShippingAddressCustomTypeAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' CartSetShippingCustomFieldAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - name properties: action: type: "string" shippingKey: type: "string" name: type: "string" value: {} CartSetShippingCustomTypeAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" shippingKey: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' CartSetShippingMethodAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" shippingMethod: $ref: '#/components/schemas/ShippingMethodResourceIdentifier' externalTaxRate: $ref: '#/components/schemas/ExternalTaxRateDraft' estimatedDelivery: $ref: '#/components/schemas/EstimatedDelivery' CartSetShippingMethodTaxAmountAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" shippingKey: type: "string" externalTaxAmount: $ref: '#/components/schemas/ExternalTaxAmountDraft' CartSetShippingMethodTaxRateAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" shippingKey: type: "string" externalTaxRate: $ref: '#/components/schemas/ExternalTaxRateDraft' CartSetShippingRateInputAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" shippingRateInput: $ref: '#/components/schemas/ShippingRateInputDraft' CartUnfreezeCartAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" CartUnlockCartAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" properties: action: type: "string" CartUpdateItemShippingAddressAction: allOf: - $ref: '#/components/schemas/CartUpdateAction' - type: "object" required: - address properties: action: type: "string" address: $ref: '#/components/schemas/BaseAddress' Category: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - ancestors - createdAt - id - lastModifiedAt - name - orderHint - slug - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' name: $ref: '#/components/schemas/LocalizedString' slug: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' ancestors: type: "array" items: $ref: '#/components/schemas/CategoryReference' parent: $ref: '#/components/schemas/CategoryReference' orderHint: type: "string" externalId: type: "string" metaTitle: $ref: '#/components/schemas/LocalizedString' metaDescription: $ref: '#/components/schemas/LocalizedString' metaKeywords: $ref: '#/components/schemas/LocalizedString' custom: $ref: '#/components/schemas/CustomFields' assets: type: "array" items: $ref: '#/components/schemas/Asset' key: type: "string" CategoryDraft: type: "object" required: - name - slug properties: name: $ref: '#/components/schemas/LocalizedString' slug: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' parent: $ref: '#/components/schemas/CategoryResourceIdentifier' orderHint: type: "string" externalId: type: "string" metaTitle: $ref: '#/components/schemas/LocalizedString' metaDescription: $ref: '#/components/schemas/LocalizedString' metaKeywords: $ref: '#/components/schemas/LocalizedString' custom: $ref: '#/components/schemas/CustomFieldsDraft' assets: type: "array" items: $ref: '#/components/schemas/AssetDraft' key: type: "string" CategoryPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/Category' CategoryReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/Category' CategoryResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" CategoryUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/CategoryUpdateAction' CategoryUpdateAction: type: "object" discriminator: propertyName: action mapping: addAsset: '#/components/schemas/CategoryAddAssetAction' changeAssetName: '#/components/schemas/CategoryChangeAssetNameAction' changeAssetOrder: '#/components/schemas/CategoryChangeAssetOrderAction' changeName: '#/components/schemas/CategoryChangeNameAction' changeOrderHint: '#/components/schemas/CategoryChangeOrderHintAction' changeParent: '#/components/schemas/CategoryChangeParentAction' changeSlug: '#/components/schemas/CategoryChangeSlugAction' removeAsset: '#/components/schemas/CategoryRemoveAssetAction' setAssetCustomField: '#/components/schemas/CategorySetAssetCustomFieldAction' setAssetCustomType: '#/components/schemas/CategorySetAssetCustomTypeAction' setAssetDescription: '#/components/schemas/CategorySetAssetDescriptionAction' setAssetKey: '#/components/schemas/CategorySetAssetKeyAction' setAssetSources: '#/components/schemas/CategorySetAssetSourcesAction' setAssetTags: '#/components/schemas/CategorySetAssetTagsAction' setCustomField: '#/components/schemas/CategorySetCustomFieldAction' setCustomType: '#/components/schemas/CategorySetCustomTypeAction' setDescription: '#/components/schemas/CategorySetDescriptionAction' setExternalId: '#/components/schemas/CategorySetExternalIdAction' setKey: '#/components/schemas/CategorySetKeyAction' setMetaDescription: '#/components/schemas/CategorySetMetaDescriptionAction' setMetaKeywords: '#/components/schemas/CategorySetMetaKeywordsAction' setMetaTitle: '#/components/schemas/CategorySetMetaTitleAction' required: - action properties: action: type: "string" CategoryAddAssetAction: allOf: - $ref: '#/components/schemas/CategoryUpdateAction' - type: "object" required: - asset properties: action: type: "string" asset: $ref: '#/components/schemas/AssetDraft' position: type: "integer" format: "int32" CategoryChangeAssetNameAction: allOf: - $ref: '#/components/schemas/CategoryUpdateAction' - type: "object" required: - name properties: action: type: "string" assetId: type: "string" assetKey: type: "string" name: $ref: '#/components/schemas/LocalizedString' CategoryChangeAssetOrderAction: allOf: - $ref: '#/components/schemas/CategoryUpdateAction' - type: "object" required: - assetOrder properties: action: type: "string" assetOrder: type: "array" items: type: "string" CategoryChangeNameAction: allOf: - $ref: '#/components/schemas/CategoryUpdateAction' - type: "object" required: - name properties: action: type: "string" name: $ref: '#/components/schemas/LocalizedString' CategoryChangeOrderHintAction: allOf: - $ref: '#/components/schemas/CategoryUpdateAction' - type: "object" required: - orderHint properties: action: type: "string" orderHint: type: "string" CategoryChangeParentAction: allOf: - $ref: '#/components/schemas/CategoryUpdateAction' - type: "object" required: - parent properties: action: type: "string" parent: $ref: '#/components/schemas/CategoryResourceIdentifier' CategoryChangeSlugAction: allOf: - $ref: '#/components/schemas/CategoryUpdateAction' - type: "object" required: - slug properties: action: type: "string" slug: $ref: '#/components/schemas/LocalizedString' CategoryRemoveAssetAction: allOf: - $ref: '#/components/schemas/CategoryUpdateAction' - type: "object" properties: action: type: "string" assetId: type: "string" assetKey: type: "string" CategorySetAssetCustomFieldAction: allOf: - $ref: '#/components/schemas/CategoryUpdateAction' - type: "object" required: - name properties: action: type: "string" assetId: type: "string" assetKey: type: "string" name: type: "string" value: {} CategorySetAssetCustomTypeAction: allOf: - $ref: '#/components/schemas/CategoryUpdateAction' - type: "object" properties: action: type: "string" assetId: type: "string" assetKey: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' CategorySetAssetDescriptionAction: allOf: - $ref: '#/components/schemas/CategoryUpdateAction' - type: "object" properties: action: type: "string" assetId: type: "string" assetKey: type: "string" description: $ref: '#/components/schemas/LocalizedString' CategorySetAssetKeyAction: allOf: - $ref: '#/components/schemas/CategoryUpdateAction' - type: "object" required: - assetId properties: action: type: "string" assetId: type: "string" assetKey: type: "string" CategorySetAssetSourcesAction: allOf: - $ref: '#/components/schemas/CategoryUpdateAction' - type: "object" required: - sources properties: action: type: "string" assetId: type: "string" assetKey: type: "string" sources: type: "array" items: $ref: '#/components/schemas/AssetSource' CategorySetAssetTagsAction: allOf: - $ref: '#/components/schemas/CategoryUpdateAction' - type: "object" properties: action: type: "string" assetId: type: "string" assetKey: type: "string" tags: type: "array" items: type: "string" CategorySetCustomFieldAction: allOf: - $ref: '#/components/schemas/CategoryUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} CategorySetCustomTypeAction: allOf: - $ref: '#/components/schemas/CategoryUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' CategorySetDescriptionAction: allOf: - $ref: '#/components/schemas/CategoryUpdateAction' - type: "object" properties: action: type: "string" description: $ref: '#/components/schemas/LocalizedString' CategorySetExternalIdAction: allOf: - $ref: '#/components/schemas/CategoryUpdateAction' - type: "object" properties: action: type: "string" externalId: type: "string" CategorySetKeyAction: allOf: - $ref: '#/components/schemas/CategoryUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" CategorySetMetaDescriptionAction: allOf: - $ref: '#/components/schemas/CategoryUpdateAction' - type: "object" properties: action: type: "string" metaDescription: $ref: '#/components/schemas/LocalizedString' CategorySetMetaKeywordsAction: allOf: - $ref: '#/components/schemas/CategoryUpdateAction' - type: "object" properties: action: type: "string" metaKeywords: $ref: '#/components/schemas/LocalizedString' CategorySetMetaTitleAction: allOf: - $ref: '#/components/schemas/CategoryUpdateAction' - type: "object" properties: action: type: "string" metaTitle: $ref: '#/components/schemas/LocalizedString' Channel: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - createdAt - id - key - lastModifiedAt - roles - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' key: type: "string" roles: type: "array" items: $ref: '#/components/schemas/ChannelRoleEnum' name: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' address: $ref: '#/components/schemas/Address' reviewRatingStatistics: $ref: '#/components/schemas/ReviewRatingStatistics' custom: $ref: '#/components/schemas/CustomFields' geoLocation: $ref: '#/components/schemas/GeoJson' ChannelDraft: type: "object" required: - key properties: key: type: "string" roles: type: "array" items: $ref: '#/components/schemas/ChannelRoleEnum' name: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' address: $ref: '#/components/schemas/BaseAddress' custom: $ref: '#/components/schemas/CustomFieldsDraft' geoLocation: $ref: '#/components/schemas/GeoJson' ChannelPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/Channel' ChannelReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/Channel' ChannelResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" ChannelRoleEnum: type: "string" enum: - InventorySupply - ProductDistribution - OrderExport - OrderImport - Primary x-annotation-package: "Channel" x-annotation-enumDescriptions: InventorySupply: "Channel can be used to track inventory entries (for example, Channels with this role can be treated as warehouses).n" ProductDistribution: "Channel can be used to expose Products to a specific distribution Channel.nThe Channel can be used by a Cart to [select](/api/pricing-and-discounts-overview#line-item-price-selection) a Product Price.n" OrderExport: "Channel identifies a synchronization destination used when storing export information in [SyncInfo](ctp:api:type:SyncInfo).nYou can reference it with [Update SyncInfo](ctp:api:type:OrderUpdateSyncInfoAction) on Orders and Order Edits.n" OrderImport: "Channel identifies a synchronization destination used when storing import information in [SyncInfo](ctp:api:type:SyncInfo).nYou can reference it with [Update SyncInfo](ctp:api:type:OrderUpdateSyncInfoAction) on Orders and Order Edits.n" Primary: "Marks the Channel as the default or preferred Channel among Channels with the same role.nIt can be combined with another role, for example `InventorySupply`.n" ChannelUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/ChannelUpdateAction' ChannelUpdateAction: type: "object" discriminator: propertyName: action mapping: addRoles: '#/components/schemas/ChannelAddRolesAction' changeDescription: '#/components/schemas/ChannelChangeDescriptionAction' changeKey: '#/components/schemas/ChannelChangeKeyAction' changeName: '#/components/schemas/ChannelChangeNameAction' removeRoles: '#/components/schemas/ChannelRemoveRolesAction' setAddress: '#/components/schemas/ChannelSetAddressAction' setAddressCustomField: '#/components/schemas/ChannelSetAddressCustomFieldAction' setAddressCustomType: '#/components/schemas/ChannelSetAddressCustomTypeAction' setCustomField: '#/components/schemas/ChannelSetCustomFieldAction' setCustomType: '#/components/schemas/ChannelSetCustomTypeAction' setGeoLocation: '#/components/schemas/ChannelSetGeoLocationAction' setRoles: '#/components/schemas/ChannelSetRolesAction' required: - action properties: action: type: "string" ChannelAddRolesAction: allOf: - $ref: '#/components/schemas/ChannelUpdateAction' - type: "object" required: - roles properties: action: type: "string" roles: type: "array" items: $ref: '#/components/schemas/ChannelRoleEnum' ChannelChangeDescriptionAction: allOf: - $ref: '#/components/schemas/ChannelUpdateAction' - type: "object" required: - description properties: action: type: "string" description: $ref: '#/components/schemas/LocalizedString' ChannelChangeKeyAction: allOf: - $ref: '#/components/schemas/ChannelUpdateAction' - type: "object" required: - key properties: action: type: "string" key: type: "string" ChannelChangeNameAction: allOf: - $ref: '#/components/schemas/ChannelUpdateAction' - type: "object" required: - name properties: action: type: "string" name: $ref: '#/components/schemas/LocalizedString' ChannelRemoveRolesAction: allOf: - $ref: '#/components/schemas/ChannelUpdateAction' - type: "object" required: - roles properties: action: type: "string" roles: type: "array" items: $ref: '#/components/schemas/ChannelRoleEnum' ChannelSetAddressAction: allOf: - $ref: '#/components/schemas/ChannelUpdateAction' - type: "object" properties: action: type: "string" address: $ref: '#/components/schemas/BaseAddress' ChannelSetAddressCustomFieldAction: allOf: - $ref: '#/components/schemas/ChannelUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} ChannelSetAddressCustomTypeAction: allOf: - $ref: '#/components/schemas/ChannelUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' ChannelSetCustomFieldAction: allOf: - $ref: '#/components/schemas/ChannelUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} ChannelSetCustomTypeAction: allOf: - $ref: '#/components/schemas/ChannelUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' ChannelSetGeoLocationAction: allOf: - $ref: '#/components/schemas/ChannelUpdateAction' - type: "object" properties: action: type: "string" geoLocation: $ref: '#/components/schemas/GeoJson' ChannelSetRolesAction: allOf: - $ref: '#/components/schemas/ChannelUpdateAction' - type: "object" required: - roles properties: action: type: "string" roles: type: "array" items: $ref: '#/components/schemas/ChannelRoleEnum' Address: allOf: - $ref: '#/components/schemas/BaseAddress' - type: "object" properties: id: type: "string" key: type: "string" country: $ref: '#/components/schemas/CountryCode' title: type: "string" salutation: type: "string" firstName: type: "string" lastName: type: "string" streetName: type: "string" streetNumber: type: "string" additionalStreetInfo: type: "string" postalCode: type: "string" city: type: "string" region: type: "string" state: type: "string" company: type: "string" department: type: "string" building: type: "string" apartment: type: "string" pOBox: type: "string" phone: type: "string" mobile: type: "string" email: type: "string" fax: type: "string" additionalAddressInfo: type: "string" externalId: type: "string" custom: $ref: '#/components/schemas/CustomFields' AddressDraft: allOf: - $ref: '#/components/schemas/BaseAddress' - type: "object" properties: id: type: "string" key: type: "string" country: $ref: '#/components/schemas/CountryCode' title: type: "string" salutation: type: "string" firstName: type: "string" lastName: type: "string" streetName: type: "string" streetNumber: type: "string" additionalStreetInfo: type: "string" postalCode: type: "string" city: type: "string" region: type: "string" state: type: "string" company: type: "string" department: type: "string" building: type: "string" apartment: type: "string" pOBox: type: "string" phone: type: "string" mobile: type: "string" email: type: "string" fax: type: "string" additionalAddressInfo: type: "string" externalId: type: "string" custom: $ref: '#/components/schemas/CustomFieldsDraft' AddressRole: type: "string" enum: - Shipping - Billing x-annotation-package: "Common" x-annotation-enumDescriptions: Shipping: "The address is used as a shipping address.n" Billing: "The address is used as a billing address.n" Asset: type: "object" required: - id - name - sources properties: id: type: "string" sources: type: "array" items: $ref: '#/components/schemas/AssetSource' name: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' tags: type: "array" items: type: "string" custom: $ref: '#/components/schemas/CustomFields' key: type: "string" AssetDimensions: type: "object" required: - h - w properties: w: type: "integer" format: "int32" h: type: "integer" format: "int32" AssetDraft: type: "object" required: - name - sources properties: sources: type: "array" items: $ref: '#/components/schemas/AssetSource' name: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' tags: type: "array" items: type: "string" custom: $ref: '#/components/schemas/CustomFieldsDraft' key: type: "string" AssetSource: type: "object" required: - uri properties: uri: type: "string" key: type: "string" dimensions: $ref: '#/components/schemas/AssetDimensions' contentType: type: "string" Attribution: type: "object" required: - source properties: clientId: type: "string" source: $ref: '#/components/schemas/AttributionSource' AttributionSource: type: "string" enum: - Import - Export x-annotation-package: "Common" x-annotation-enumDescriptions: Import: "Resource was created or updated during import." Export: "Resource was created or updated during export." BaseAddress: type: "object" required: - country properties: id: type: "string" key: type: "string" country: $ref: '#/components/schemas/CountryCode' title: type: "string" salutation: type: "string" firstName: type: "string" lastName: type: "string" streetName: type: "string" streetNumber: type: "string" additionalStreetInfo: type: "string" postalCode: type: "string" city: type: "string" region: type: "string" state: type: "string" company: type: "string" department: type: "string" building: type: "string" apartment: type: "string" pOBox: type: "string" phone: type: "string" mobile: type: "string" email: type: "string" fax: type: "string" additionalAddressInfo: type: "string" externalId: type: "string" BaseResource: type: "object" required: - createdAt - id - lastModifiedAt - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" CentPrecisionMoney: allOf: - $ref: '#/components/schemas/TypedMoney' - type: "object" required: - fractionDigits properties: centAmount: type: "integer" format: "int64" currencyCode: $ref: '#/components/schemas/CurrencyCode' type: $ref: '#/components/schemas/MoneyType' fractionDigits: type: "integer" format: "int32" CentPrecisionMoneyDraft: allOf: - $ref: '#/components/schemas/TypedMoneyDraft' - type: "object" properties: centAmount: type: "integer" format: "int64" currencyCode: $ref: '#/components/schemas/CurrencyCode' type: $ref: '#/components/schemas/MoneyType' fractionDigits: type: "integer" format: "int32" ClientLogging: type: "object" properties: clientId: type: "string" externalUserId: type: "string" customer: $ref: '#/components/schemas/CustomerReference' anonymousId: type: "string" associate: $ref: '#/components/schemas/CustomerReference' CountryCode: type: "string" CreatedBy: allOf: - $ref: '#/components/schemas/ClientLogging' - type: "object" properties: clientId: type: "string" externalUserId: type: "string" customer: $ref: '#/components/schemas/CustomerReference' anonymousId: type: "string" associate: $ref: '#/components/schemas/CustomerReference' attributedTo: $ref: '#/components/schemas/Attribution' CurrencyCode: type: "string" DiscountedPrice: type: "object" required: - discount - value properties: value: $ref: '#/components/schemas/TypedMoney' discount: $ref: '#/components/schemas/ProductDiscountReference' DiscountedPriceDraft: type: "object" required: - discount - value properties: value: $ref: '#/components/schemas/Money' discount: $ref: '#/components/schemas/ProductDiscountReference' GeoJson: type: "object" discriminator: propertyName: type mapping: Point: '#/components/schemas/GeoJsonPoint' required: - type properties: type: type: "string" GeoJsonPoint: allOf: - $ref: '#/components/schemas/GeoJson' - type: "object" required: - coordinates properties: type: type: "string" coordinates: type: "array" items: type: "number" format: "double" HighPrecisionMoney: allOf: - $ref: '#/components/schemas/TypedMoney' - type: "object" required: - fractionDigits - preciseAmount properties: centAmount: type: "integer" format: "int64" currencyCode: $ref: '#/components/schemas/CurrencyCode' type: $ref: '#/components/schemas/MoneyType' fractionDigits: type: "integer" format: "int32" preciseAmount: type: "integer" format: "int64" HighPrecisionMoneyDraft: allOf: - $ref: '#/components/schemas/TypedMoneyDraft' - type: "object" required: - fractionDigits - preciseAmount properties: centAmount: type: "integer" format: "int64" currencyCode: $ref: '#/components/schemas/CurrencyCode' type: $ref: '#/components/schemas/MoneyType' fractionDigits: type: "integer" format: "int32" preciseAmount: type: "integer" format: "int64" Image: type: "object" required: - dimensions - url properties: url: type: "string" dimensions: $ref: '#/components/schemas/ImageDimensions' label: type: "string" ImageDimensions: type: "object" required: - h - w properties: w: type: "integer" format: "int32" h: type: "integer" format: "int32" KeyReference: type: "object" discriminator: propertyName: typeId mapping: associate-role: '#/components/schemas/AssociateRoleKeyReference' business-unit: '#/components/schemas/BusinessUnitKeyReference' store: '#/components/schemas/StoreKeyReference' required: - key - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' key: type: "string" LastModifiedBy: allOf: - $ref: '#/components/schemas/ClientLogging' - type: "object" properties: clientId: type: "string" externalUserId: type: "string" customer: $ref: '#/components/schemas/CustomerReference' anonymousId: type: "string" associate: $ref: '#/components/schemas/CustomerReference' attributedTo: $ref: '#/components/schemas/Attribution' Locale: type: "string" LocalizedString: type: "object" required: - /^[a-z]{2}(-[A-Z]{2})?$/ additionalProperties: type: "string" Money: type: "object" required: - centAmount - currencyCode properties: centAmount: type: "integer" format: "int64" currencyCode: $ref: '#/components/schemas/CurrencyCode' MoneyType: type: "string" enum: - centPrecision - highPrecision x-annotation-package: "Common" x-annotation-enumDescriptions: centPrecision: "Use to set currency in cent precision." highPrecision: "Use to set currency in high precision." NonStandardCurrency: type: "string" enum: - CZK0 - HUF0 - ILS0 - KZT0 - TRY0 - TWD0 x-annotation-package: "Common" x-annotation-enumDescriptions: CZK0: "Czech Koruna with `0` fraction digitsn" HUF0: "Hungarian Forint with `0` fraction digitsn" ILS0: "Israeli New Shekel with `0` fraction digitsn" KZT0: "Kazakhstani Tenge with `0` fraction digitsn" TRY0: "Turkish Lira with `0` fraction digitsn" TWD0: "Taiwan Dollar with `0` fraction digitsn" Price: type: "object" required: - id - value properties: id: type: "string" key: type: "string" value: $ref: '#/components/schemas/TypedMoney' country: $ref: '#/components/schemas/CountryCode' customerGroup: $ref: '#/components/schemas/CustomerGroupReference' channel: $ref: '#/components/schemas/ChannelReference' validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" discounted: $ref: '#/components/schemas/DiscountedPrice' tiers: type: "array" items: $ref: '#/components/schemas/PriceTier' custom: $ref: '#/components/schemas/CustomFields' recurrencePolicy: $ref: '#/components/schemas/RecurrencePolicyReference' PriceDraft: type: "object" required: - value properties: key: type: "string" value: $ref: '#/components/schemas/Money' country: $ref: '#/components/schemas/CountryCode' customerGroup: $ref: '#/components/schemas/CustomerGroupResourceIdentifier' channel: $ref: '#/components/schemas/ChannelResourceIdentifier' validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" discounted: $ref: '#/components/schemas/DiscountedPriceDraft' tiers: type: "array" items: $ref: '#/components/schemas/PriceTierDraft' custom: $ref: '#/components/schemas/CustomFieldsDraft' recurrencePolicy: $ref: '#/components/schemas/RecurrencePolicyResourceIdentifier' PriceTier: type: "object" required: - minimumQuantity - value properties: minimumQuantity: type: "integer" format: "int64" value: $ref: '#/components/schemas/TypedMoney' PriceTierDraft: type: "object" required: - minimumQuantity - value properties: minimumQuantity: type: "integer" format: "int64" value: $ref: '#/components/schemas/Money' QueryPrice: type: "object" required: - value properties: id: type: "string" value: $ref: '#/components/schemas/Money' country: $ref: '#/components/schemas/CountryCode' customerGroup: $ref: '#/components/schemas/CustomerGroupReference' channel: $ref: '#/components/schemas/ChannelReference' validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" discounted: $ref: '#/components/schemas/DiscountedPriceDraft' custom: $ref: '#/components/schemas/CustomFields' tiers: type: "array" items: $ref: '#/components/schemas/PriceTierDraft' Reference: type: "object" discriminator: propertyName: typeId mapping: associate-role: '#/components/schemas/AssociateRoleReference' attribute-group: '#/components/schemas/AttributeGroupReference' business-unit: '#/components/schemas/BusinessUnitReference' cart-discount: '#/components/schemas/CartDiscountReference' cart: '#/components/schemas/CartReference' category: '#/components/schemas/CategoryReference' channel: '#/components/schemas/ChannelReference' key-value-document: '#/components/schemas/CustomObjectReference' customer-email-token: '#/components/schemas/CustomerEmailTokenReference' customer-group: '#/components/schemas/CustomerGroupReference' customer-password-token: '#/components/schemas/CustomerPasswordTokenReference' customer: '#/components/schemas/CustomerReference' direct-discount: '#/components/schemas/DirectDiscountReference' discount-code: '#/components/schemas/DiscountCodeReference' discount-group: '#/components/schemas/DiscountGroupReference' extension: '#/components/schemas/ExtensionReference' inventory-entry: '#/components/schemas/InventoryEntryReference' order-edit: '#/components/schemas/OrderEditReference' order: '#/components/schemas/OrderReference' payment-method: '#/components/schemas/PaymentMethodReference' payment: '#/components/schemas/PaymentReference' product-discount: '#/components/schemas/ProductDiscountReference' product: '#/components/schemas/ProductReference' product-selection: '#/components/schemas/ProductSelectionReference' product-tailoring: '#/components/schemas/ProductTailoringReference' product-type: '#/components/schemas/ProductTypeReference' quote: '#/components/schemas/QuoteReference' quote-request: '#/components/schemas/QuoteRequestReference' recurrence-policy: '#/components/schemas/RecurrencePolicyReference' recurring-order: '#/components/schemas/RecurringOrderReference' reservation: '#/components/schemas/ReservationReference' review: '#/components/schemas/ReviewReference' shipping-method: '#/components/schemas/ShippingMethodReference' shopping-list: '#/components/schemas/ShoppingListReference' staged-quote: '#/components/schemas/StagedQuoteReference' standalone-price: '#/components/schemas/StandalonePriceReference' state: '#/components/schemas/StateReference' store: '#/components/schemas/StoreReference' tax-category: '#/components/schemas/TaxCategoryReference' type: '#/components/schemas/TypeReference' variant: '#/components/schemas/VariantReference' zone: '#/components/schemas/ZoneReference' required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" ReferenceTypeId: type: "string" enum: - approval-flow - approval-rule - associate-role - attribute-group - business-unit - cart - cart-discount - category - channel - customer - customer-email-token - customer-group - customer-password-token - direct-discount - discount-code - discount-group - extension - inventory-entry - key-value-document - mcp-server - order - order-edit - payment-method - payment - product - product-discount - product-price - product-selection - product-tailoring - product-type - quote - quote-request - recurrence-policy - recurring-order - reservation - review - shipping-method - shopping-list - staged-quote - standalone-price - state - store - subscription - tax-category - type - variant - zone x-annotation-package: "Common" x-annotation-enumDescriptions: approval-flow: "References an [ApprovalFlow](ctp:api:type:ApprovalFlow). Only available for [B2B](/offering/commerce-b2b)-enabled Projects.n" approval-rule: "References an [ApprovalRule](ctp:api:type:ApprovalRule). Only available for [B2B](/offering/commerce-b2b)-enabled Projects.n" associate-role: "References an [AssociateRole](ctp:api:type:AssociateRole). Only available for [B2B](/offering/commerce-b2b)-enabled Projects.n" attribute-group: "References an [AttributeGroup](ctp:api:type:AttributeGroup).n" business-unit: "References a [BusinessUnit](ctp:api:type:BusinessUnit). Only available for [B2B](/offering/commerce-b2b)-enabled Projects.n" cart: "References a [Cart](ctp:api:type:Cart).n" cart-discount: "References a [CartDiscount](ctp:api:type:CartDiscount).n" category: "References a [Category](ctp:api:type:Category).n" channel: "References a [Channel](ctp:api:type:Channel).n" customer: "References a [Customer](ctp:api:type:Customer).n" customer-email-token: "References a [CustomerToken](ctp:api:type:CustomerToken) for [email verification](/api/projects/customers#email-verification-of-customer).n" customer-group: "References a [CustomerGroup](ctp:api:type:CustomerGroup).n" customer-password-token: "References a [CustomerToken](ctp:api:type:CustomerToken) for [password reset](/api/projects/customers#password-reset-of-customer).n" direct-discount: "References a [DirectDiscount](ctp:api:type:DirectDiscount).n" discount-code: "References a [DiscountCode](ctp:api:type:DiscountCode).n" discount-group: "References a [DiscountGroup](ctp:api:type:DiscountGroup).n" extension: "References an [Extension](ctp:api:type:Extension).n" inventory-entry: "References an [InventoryEntry](ctp:api:type:InventoryEntry).n" key-value-document: "References a [CustomObject](ctp:api:type:CustomObject).n" mcp-server: "References an [McpServer](ctp:api:type:McpServer).n" order: "References an [Order](ctp:api:type:Order).n" order-edit: "References an [Order Edit](ctp:api:type:OrderEdit).n" payment-method: "References a [PaymentMethod](ctp:api:type:PaymentMethod).n" payment: "References a [Payment](ctp:api:type:Payment).n" product: "References a [Product](ctp:api:type:Product).n" product-discount: "References a [ProductDiscount](ctp:api:type:ProductDiscount).n" product-price: "References an [Embedded Price](ctp:api:type:Price).n" product-selection: "References a [ProductSelection](ctp:api:type:ProductSelection).n" product-tailoring: "References a [ProductTailoring](ctp:api:type:ProductTailoring).n" product-type: "References a [ProductType](ctp:api:type:ProductType).n" quote: "References a [Quote](ctp:api:type:Quote).n" quote-request: "References a [QuoteRequest](ctp:api:type:QuoteRequest).n" recurring-order: "References a [RecurringOrder](ctp:api:type:RecurringOrder).n" recurrence-policy: "References a [RecurrencePolicy](ctp:api:type:RecurrencePolicy).n" reservation: "References a [Reservation](ctp:api:type:Reservation).n" review: "References a [Review](ctp:api:type:Review).n" shipping-method: "References a [ShippingMethod](ctp:api:type:ShippingMethod).n" shopping-list: "References a [ShoppingList](ctp:api:type:ShoppingList).n" staged-quote: "References a [StagedQuote](ctp:api:type:StagedQuote).n" standalone-price: "References a [StandalonePrice](ctp:api:type:StandalonePrice).n" state: "References a [State](ctp:api:type:State).n" store: "References a [Store](ctp:api:type:Store).n" subscription: "References a [Subscription](ctp:api:type:Subscription).n" tax-category: "References a [TaxCategory](ctp:api:type:TaxCategory).n" type: "References a [Type](ctp:api:type:Type).n" variant: "References a [Variant](ctp:api:type:Variant).n" zone: "References a [Zone](ctp:api:type:Zone).n" ResourceIdentifier: type: "object" discriminator: propertyName: typeId mapping: associate-role: '#/components/schemas/AssociateRoleResourceIdentifier' attribute-group: '#/components/schemas/AttributeGroupResourceIdentifier' business-unit: '#/components/schemas/BusinessUnitResourceIdentifier' cart-discount: '#/components/schemas/CartDiscountResourceIdentifier' cart: '#/components/schemas/CartResourceIdentifier' category: '#/components/schemas/CategoryResourceIdentifier' channel: '#/components/schemas/ChannelResourceIdentifier' customer-group: '#/components/schemas/CustomerGroupResourceIdentifier' customer: '#/components/schemas/CustomerResourceIdentifier' discount-code: '#/components/schemas/DiscountCodeResourceIdentifier' discount-group: '#/components/schemas/DiscountGroupResourceIdentifier' extension: '#/components/schemas/ExtensionResourceIdentifier' inventory-entry: '#/components/schemas/InventoryEntryResourceIdentifier' order-edit: '#/components/schemas/OrderEditResourceIdentifier' payment: '#/components/schemas/PaymentResourceIdentifier' product-discount: '#/components/schemas/ProductDiscountResourceIdentifier' product: '#/components/schemas/ProductResourceIdentifier' product-selection: '#/components/schemas/ProductSelectionResourceIdentifier' product-tailoring: '#/components/schemas/ProductTailoringResourceIdentifier' product-type: '#/components/schemas/ProductTypeResourceIdentifier' quote-request: '#/components/schemas/QuoteRequestResourceIdentifier' quote: '#/components/schemas/QuoteResourceIdentifier' recurrence-policy: '#/components/schemas/RecurrencePolicyResourceIdentifier' recurring-order: '#/components/schemas/RecurringOrderResourceIdentifier' review: '#/components/schemas/ReviewResourceIdentifier' shipping-method: '#/components/schemas/ShippingMethodResourceIdentifier' shopping-list: '#/components/schemas/ShoppingListResourceIdentifier' staged-quote: '#/components/schemas/StagedQuoteResourceIdentifier' standalone-price: '#/components/schemas/StandalonePriceResourceIdentifier' state: '#/components/schemas/StateResourceIdentifier' store: '#/components/schemas/StoreResourceIdentifier' tax-category: '#/components/schemas/TaxCategoryResourceIdentifier' type: '#/components/schemas/TypeResourceIdentifier' variant: '#/components/schemas/VariantResourceIdentifier' zone: '#/components/schemas/ZoneResourceIdentifier' required: - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" ScopedPrice: type: "object" required: - currentValue - id - value properties: id: type: "string" value: $ref: '#/components/schemas/TypedMoney' currentValue: $ref: '#/components/schemas/TypedMoney' country: $ref: '#/components/schemas/CountryCode' customerGroup: $ref: '#/components/schemas/CustomerGroupReference' channel: $ref: '#/components/schemas/ChannelReference' validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" discounted: $ref: '#/components/schemas/DiscountedPrice' custom: $ref: '#/components/schemas/CustomFields' TypedMoney: allOf: - $ref: '#/components/schemas/Money' - type: "object" discriminator: propertyName: type mapping: centPrecision: '#/components/schemas/CentPrecisionMoney' highPrecision: '#/components/schemas/HighPrecisionMoney' required: - fractionDigits - type properties: centAmount: type: "integer" format: "int64" currencyCode: $ref: '#/components/schemas/CurrencyCode' type: $ref: '#/components/schemas/MoneyType' fractionDigits: type: "integer" format: "int32" TypedMoneyDraft: allOf: - $ref: '#/components/schemas/Money' - type: "object" discriminator: propertyName: type mapping: centPrecision: '#/components/schemas/CentPrecisionMoneyDraft' highPrecision: '#/components/schemas/HighPrecisionMoneyDraft' required: - type properties: centAmount: type: "integer" format: "int64" currencyCode: $ref: '#/components/schemas/CurrencyCode' type: $ref: '#/components/schemas/MoneyType' fractionDigits: type: "integer" format: "int32" CustomObject: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - container - createdAt - id - key - lastModifiedAt - value - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' container: type: "string" key: type: "string" value: {} CustomObjectDraft: type: "object" required: - container - key - value properties: container: type: "string" key: type: "string" value: {} version: type: "integer" format: "int64" CustomObjectPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/CustomObject' CustomObjectReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/CustomObject' CustomerGroup: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - createdAt - id - lastModifiedAt - name - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' key: type: "string" name: type: "string" custom: $ref: '#/components/schemas/CustomFields' CustomerGroupDraft: type: "object" required: - groupName properties: key: type: "string" groupName: type: "string" custom: $ref: '#/components/schemas/CustomFieldsDraft' CustomerGroupPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/CustomerGroup' CustomerGroupReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/CustomerGroup' CustomerGroupResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" CustomerGroupUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/CustomerGroupUpdateAction' CustomerGroupUpdateAction: type: "object" discriminator: propertyName: action mapping: changeName: '#/components/schemas/CustomerGroupChangeNameAction' setCustomField: '#/components/schemas/CustomerGroupSetCustomFieldAction' setCustomType: '#/components/schemas/CustomerGroupSetCustomTypeAction' setKey: '#/components/schemas/CustomerGroupSetKeyAction' required: - action properties: action: type: "string" CustomerGroupChangeNameAction: allOf: - $ref: '#/components/schemas/CustomerGroupUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" CustomerGroupSetCustomFieldAction: allOf: - $ref: '#/components/schemas/CustomerGroupUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} CustomerGroupSetCustomTypeAction: allOf: - $ref: '#/components/schemas/CustomerGroupUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' CustomerGroupSetKeyAction: allOf: - $ref: '#/components/schemas/CustomerGroupUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" CustomerIndexingProgress: type: "object" required: - estimatedTotal - failed - indexed properties: indexed: type: "integer" format: "int32" failed: type: "integer" format: "int32" estimatedTotal: type: "integer" format: "int32" CustomerIndexingStatus: type: "string" enum: - Scheduled - Indexing - Ready - Failed x-annotation-package: "Project" x-annotation-enumDescriptions: Scheduled: "Indexing is scheduled." Indexing: "Indexing is in progress." Ready: "Indexing is complete and the [Search Customers](ctp:api:endpoint:/{projectKey}/customers/search:POST) endpoint returns up-to-date results." Failed: "Indexing failed due to an internal error." CustomerPagedSearchResponse: type: "object" required: - limit - offset - results - total properties: total: type: "integer" format: "int64" limit: type: "integer" format: "int32" offset: type: "integer" format: "int32" results: type: "array" items: $ref: '#/components/schemas/CustomerSearchResult' CustomerSearchIndexingStatusResponse: type: "object" required: - status properties: status: $ref: '#/components/schemas/CustomerIndexingStatus' states: $ref: '#/components/schemas/CustomerIndexingProgress' startedAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" retryCount: type: "integer" format: "int32" CustomerSearchRequest: type: "object" properties: query: $ref: '#/components/schemas/SearchQuery' sort: type: "array" items: $ref: '#/components/schemas/SearchSorting' limit: type: "integer" format: "int32" offset: type: "integer" format: "int32" CustomerSearchResult: type: "object" required: - id - relevance properties: id: type: "string" relevance: type: "number" format: "double" AnonymousCartSignInMode: type: "string" enum: - MergeWithExistingCustomerCart - UseAsNewActiveCustomerCart x-annotation-package: "Customer" x-annotation-enumDescriptions: MergeWithExistingCustomerCart: "The content of an anonymous [Cart is merged during sign-in](/api/customers-overview#cart-merge-during-sign-in-and-sign-up) with the Customer's most recently modified active Cart.n" UseAsNewActiveCustomerCart: "Uses the anonymous Cart as the new active Customer Cart, replacing the existing one. No items from the previous active Cart are merged.n" AuthenticationMode: type: "string" enum: - Password - ExternalAuth x-annotation-package: "Customer" x-annotation-enumDescriptions: Password: "This is the default value. If set, the `password` field is required on [CustomerDraft](ctp:api:type:CustomerDraft) and is present on [Customer](ctp:api:type:Customer)." ExternalAuth: "If set, the `password` field is optional on [CustomerDraft](ctp:api:type:CustomerDraft) and is not present on [Customer](ctp:api:type:Customer)." Customer: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - addresses - authenticationMode - billingAddressIds - createdAt - customerGroupAssignments - email - id - isEmailVerified - lastModifiedAt - shippingAddressIds - stores - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" key: type: "string" customerNumber: type: "string" externalId: type: "string" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' email: type: "string" password: type: "string" firstName: type: "string" lastName: type: "string" middleName: type: "string" title: type: "string" dateOfBirth: type: "string" format: "date-only" companyName: type: "string" vatId: type: "string" addresses: type: "array" items: $ref: '#/components/schemas/Address' defaultShippingAddressId: type: "string" shippingAddressIds: type: "array" items: type: "string" defaultBillingAddressId: type: "string" billingAddressIds: type: "array" items: type: "string" isEmailVerified: type: "boolean" customerGroup: $ref: '#/components/schemas/CustomerGroupReference' customerGroupAssignments: type: "array" items: $ref: '#/components/schemas/CustomerGroupAssignment' custom: $ref: '#/components/schemas/CustomFields' locale: $ref: '#/components/schemas/Locale' salutation: type: "string" stores: type: "array" items: $ref: '#/components/schemas/StoreKeyReference' authenticationMode: $ref: '#/components/schemas/AuthenticationMode' CustomerChangePassword: type: "object" required: - currentPassword - id - newPassword - version properties: id: type: "string" version: type: "integer" format: "int64" currentPassword: type: "string" newPassword: type: "string" CustomerCreateEmailToken: type: "object" required: - id - ttlMinutes properties: id: type: "string" version: type: "integer" format: "int64" ttlMinutes: type: "integer" format: "int64" invalidateOlderTokens: type: "boolean" CustomerCreatePasswordResetToken: type: "object" required: - email properties: email: type: "string" ttlMinutes: type: "integer" format: "int64" invalidateOlderTokens: type: "boolean" CustomerDraft: type: "object" required: - email properties: key: type: "string" customerNumber: type: "string" externalId: type: "string" email: type: "string" password: type: "string" firstName: type: "string" lastName: type: "string" middleName: type: "string" title: type: "string" anonymousCartId: type: "string" anonymousCart: $ref: '#/components/schemas/CartResourceIdentifier' anonymousId: type: "string" dateOfBirth: type: "string" format: "date-only" companyName: type: "string" vatId: type: "string" addresses: type: "array" items: $ref: '#/components/schemas/BaseAddress' defaultShippingAddress: type: "integer" format: "int32" shippingAddresses: type: "array" items: type: "integer" format: "int32" defaultBillingAddress: type: "integer" format: "int32" billingAddresses: type: "array" items: type: "integer" format: "int32" isEmailVerified: type: "boolean" customerGroup: $ref: '#/components/schemas/CustomerGroupResourceIdentifier' customerGroupAssignments: type: "array" items: $ref: '#/components/schemas/CustomerGroupAssignmentDraft' custom: $ref: '#/components/schemas/CustomFieldsDraft' locale: $ref: '#/components/schemas/Locale' salutation: type: "string" stores: type: "array" items: $ref: '#/components/schemas/StoreResourceIdentifier' authenticationMode: $ref: '#/components/schemas/AuthenticationMode' CustomerEmailTokenReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" CustomerEmailVerify: type: "object" required: - tokenValue properties: version: type: "integer" format: "int64" tokenValue: type: "string" CustomerGroupAssignment: type: "object" required: - customerGroup properties: customerGroup: $ref: '#/components/schemas/CustomerGroupReference' CustomerGroupAssignmentDraft: type: "object" required: - customerGroup properties: customerGroup: $ref: '#/components/schemas/CustomerGroupResourceIdentifier' CustomerPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/Customer' CustomerPasswordTokenReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" CustomerReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/Customer' CustomerResetPassword: type: "object" required: - newPassword - tokenValue properties: tokenValue: type: "string" newPassword: type: "string" version: type: "integer" format: "int64" CustomerResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" CustomerSignInResult: type: "object" required: - customer properties: customer: $ref: '#/components/schemas/Customer' cart: $ref: '#/components/schemas/Cart' CustomerSignin: type: "object" required: - email - password properties: email: type: "string" password: type: "string" anonymousCartId: type: "string" anonymousCart: $ref: '#/components/schemas/CartResourceIdentifier' anonymousCartSignInMode: $ref: '#/components/schemas/AnonymousCartSignInMode' anonymousId: type: "string" updateProductData: type: "boolean" CustomerToken: type: "object" required: - createdAt - customerId - expiresAt - id - invalidateOlderTokens - value properties: id: type: "string" customerId: type: "string" value: type: "string" expiresAt: type: "string" format: "datetime" invalidateOlderTokens: type: "boolean" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" CustomerUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/CustomerUpdateAction' CustomerUpdateAction: type: "object" discriminator: propertyName: action mapping: addAddress: '#/components/schemas/CustomerAddAddressAction' addBillingAddressId: '#/components/schemas/CustomerAddBillingAddressIdAction' addCustomerGroupAssignment: '#/components/schemas/CustomerAddCustomerGroupAssignmentAction' addShippingAddressId: '#/components/schemas/CustomerAddShippingAddressIdAction' addStore: '#/components/schemas/CustomerAddStoreAction' changeAddress: '#/components/schemas/CustomerChangeAddressAction' changeEmail: '#/components/schemas/CustomerChangeEmailAction' removeAddress: '#/components/schemas/CustomerRemoveAddressAction' removeBillingAddressId: '#/components/schemas/CustomerRemoveBillingAddressIdAction' removeCustomerGroupAssignment: '#/components/schemas/CustomerRemoveCustomerGroupAssignmentAction' removeShippingAddressId: '#/components/schemas/CustomerRemoveShippingAddressIdAction' removeStore: '#/components/schemas/CustomerRemoveStoreAction' setAddressCustomField: '#/components/schemas/CustomerSetAddressCustomFieldAction' setAddressCustomType: '#/components/schemas/CustomerSetAddressCustomTypeAction' setAuthenticationMode: '#/components/schemas/CustomerSetAuthenticationModeAction' setCompanyName: '#/components/schemas/CustomerSetCompanyNameAction' setCustomField: '#/components/schemas/CustomerSetCustomFieldAction' setCustomType: '#/components/schemas/CustomerSetCustomTypeAction' setCustomerGroup: '#/components/schemas/CustomerSetCustomerGroupAction' setCustomerGroupAssignments: '#/components/schemas/CustomerSetCustomerGroupAssignmentsAction' setCustomerNumber: '#/components/schemas/CustomerSetCustomerNumberAction' setDateOfBirth: '#/components/schemas/CustomerSetDateOfBirthAction' setDefaultBillingAddress: '#/components/schemas/CustomerSetDefaultBillingAddressAction' setDefaultShippingAddress: '#/components/schemas/CustomerSetDefaultShippingAddressAction' setExternalId: '#/components/schemas/CustomerSetExternalIdAction' setFirstName: '#/components/schemas/CustomerSetFirstNameAction' setKey: '#/components/schemas/CustomerSetKeyAction' setLastName: '#/components/schemas/CustomerSetLastNameAction' setLocale: '#/components/schemas/CustomerSetLocaleAction' setMiddleName: '#/components/schemas/CustomerSetMiddleNameAction' setSalutation: '#/components/schemas/CustomerSetSalutationAction' setStores: '#/components/schemas/CustomerSetStoresAction' setTitle: '#/components/schemas/CustomerSetTitleAction' setVatId: '#/components/schemas/CustomerSetVatIdAction' required: - action properties: action: type: "string" MyCustomerChangePassword: type: "object" required: - currentPassword - newPassword - version properties: version: type: "integer" format: "int64" currentPassword: type: "string" newPassword: type: "string" MyCustomerEmailVerify: type: "object" required: - tokenValue properties: tokenValue: type: "string" MyCustomerResetPassword: type: "object" required: - newPassword - tokenValue properties: tokenValue: type: "string" newPassword: type: "string" MyCustomerSignin: type: "object" required: - email - password properties: email: type: "string" password: type: "string" activeCartSignInMode: $ref: '#/components/schemas/AnonymousCartSignInMode' updateProductData: type: "boolean" CustomerAddAddressAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" required: - address properties: action: type: "string" address: $ref: '#/components/schemas/BaseAddress' CustomerAddBillingAddressIdAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" properties: action: type: "string" addressId: type: "string" addressKey: type: "string" CustomerAddCustomerGroupAssignmentAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" required: - customerGroupAssignment properties: action: type: "string" customerGroupAssignment: $ref: '#/components/schemas/CustomerGroupAssignmentDraft' CustomerAddShippingAddressIdAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" properties: action: type: "string" addressId: type: "string" addressKey: type: "string" CustomerAddStoreAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" required: - store properties: action: type: "string" store: $ref: '#/components/schemas/StoreResourceIdentifier' CustomerChangeAddressAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" required: - address properties: action: type: "string" addressId: type: "string" addressKey: type: "string" address: $ref: '#/components/schemas/BaseAddress' CustomerChangeEmailAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" required: - email properties: action: type: "string" email: type: "string" CustomerRemoveAddressAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" properties: action: type: "string" addressId: type: "string" addressKey: type: "string" CustomerRemoveBillingAddressIdAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" properties: action: type: "string" addressId: type: "string" addressKey: type: "string" CustomerRemoveCustomerGroupAssignmentAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" required: - customerGroup properties: action: type: "string" customerGroup: $ref: '#/components/schemas/CustomerGroupResourceIdentifier' CustomerRemoveShippingAddressIdAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" properties: action: type: "string" addressId: type: "string" addressKey: type: "string" CustomerRemoveStoreAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" required: - store properties: action: type: "string" store: $ref: '#/components/schemas/StoreResourceIdentifier' CustomerSetAddressCustomFieldAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" required: - addressId - name properties: action: type: "string" addressId: type: "string" name: type: "string" value: {} CustomerSetAddressCustomTypeAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" required: - addressId properties: action: type: "string" addressId: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' CustomerSetAuthenticationModeAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" required: - authMode properties: action: type: "string" authMode: $ref: '#/components/schemas/AuthenticationMode' password: type: "string" CustomerSetCompanyNameAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" properties: action: type: "string" companyName: type: "string" CustomerSetCustomFieldAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} CustomerSetCustomTypeAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' CustomerSetCustomerGroupAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" properties: action: type: "string" customerGroup: $ref: '#/components/schemas/CustomerGroupResourceIdentifier' CustomerSetCustomerGroupAssignmentsAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" required: - customerGroupAssignments properties: action: type: "string" customerGroupAssignments: type: "array" items: $ref: '#/components/schemas/CustomerGroupAssignmentDraft' CustomerSetCustomerNumberAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" properties: action: type: "string" customerNumber: type: "string" CustomerSetDateOfBirthAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" properties: action: type: "string" dateOfBirth: type: "string" format: "date-only" CustomerSetDefaultBillingAddressAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" properties: action: type: "string" addressId: type: "string" addressKey: type: "string" CustomerSetDefaultShippingAddressAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" properties: action: type: "string" addressId: type: "string" addressKey: type: "string" CustomerSetExternalIdAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" properties: action: type: "string" externalId: type: "string" CustomerSetFirstNameAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" properties: action: type: "string" firstName: type: "string" CustomerSetKeyAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" CustomerSetLastNameAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" properties: action: type: "string" lastName: type: "string" CustomerSetLocaleAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" properties: action: type: "string" locale: $ref: '#/components/schemas/Locale' CustomerSetMiddleNameAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" properties: action: type: "string" middleName: type: "string" CustomerSetSalutationAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" properties: action: type: "string" salutation: type: "string" CustomerSetStoresAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" required: - stores properties: action: type: "string" stores: type: "array" items: $ref: '#/components/schemas/StoreResourceIdentifier' CustomerSetTitleAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" properties: action: type: "string" title: type: "string" CustomerSetVatIdAction: allOf: - $ref: '#/components/schemas/CustomerUpdateAction' - type: "object" properties: action: type: "string" vatId: type: "string" DiscountCode: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - cartDiscounts - code - createdAt - groups - id - isActive - lastModifiedAt - references - stores - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" key: type: "string" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' name: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' code: type: "string" cartDiscounts: type: "array" items: $ref: '#/components/schemas/CartDiscountReference' stores: type: "array" items: $ref: '#/components/schemas/StoreKeyReference' cartPredicate: type: "string" isActive: type: "boolean" references: type: "array" items: $ref: '#/components/schemas/Reference' maxApplications: type: "integer" format: "int64" maxApplicationsPerCustomer: type: "integer" format: "int64" custom: $ref: '#/components/schemas/CustomFields' groups: type: "array" items: type: "string" validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" applicationVersion: type: "integer" format: "int64" DiscountCodeDraft: type: "object" required: - cartDiscounts - code properties: key: type: "string" name: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' code: type: "string" cartDiscounts: type: "array" items: $ref: '#/components/schemas/CartDiscountResourceIdentifier' cartPredicate: type: "string" isActive: type: "boolean" maxApplications: type: "integer" format: "int64" maxApplicationsPerCustomer: type: "integer" format: "int64" custom: $ref: '#/components/schemas/CustomFieldsDraft' groups: type: "array" items: type: "string" validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" DiscountCodePagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/DiscountCode' DiscountCodeReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/DiscountCode' DiscountCodeResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" DiscountCodeUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/DiscountCodeUpdateAction' DiscountCodeUpdateAction: type: "object" discriminator: propertyName: action mapping: changeCartDiscounts: '#/components/schemas/DiscountCodeChangeCartDiscountsAction' changeGroups: '#/components/schemas/DiscountCodeChangeGroupsAction' changeIsActive: '#/components/schemas/DiscountCodeChangeIsActiveAction' setCartPredicate: '#/components/schemas/DiscountCodeSetCartPredicateAction' setCustomField: '#/components/schemas/DiscountCodeSetCustomFieldAction' setCustomType: '#/components/schemas/DiscountCodeSetCustomTypeAction' setDescription: '#/components/schemas/DiscountCodeSetDescriptionAction' setKey: '#/components/schemas/DiscountCodeSetKeyAction' setMaxApplications: '#/components/schemas/DiscountCodeSetMaxApplicationsAction' setMaxApplicationsPerCustomer: '#/components/schemas/DiscountCodeSetMaxApplicationsPerCustomerAction' setName: '#/components/schemas/DiscountCodeSetNameAction' setValidFrom: '#/components/schemas/DiscountCodeSetValidFromAction' setValidFromAndUntil: '#/components/schemas/DiscountCodeSetValidFromAndUntilAction' setValidUntil: '#/components/schemas/DiscountCodeSetValidUntilAction' required: - action properties: action: type: "string" DiscountCodeChangeCartDiscountsAction: allOf: - $ref: '#/components/schemas/DiscountCodeUpdateAction' - type: "object" required: - cartDiscounts properties: action: type: "string" cartDiscounts: type: "array" items: $ref: '#/components/schemas/CartDiscountResourceIdentifier' DiscountCodeChangeGroupsAction: allOf: - $ref: '#/components/schemas/DiscountCodeUpdateAction' - type: "object" required: - groups properties: action: type: "string" groups: type: "array" items: type: "string" DiscountCodeChangeIsActiveAction: allOf: - $ref: '#/components/schemas/DiscountCodeUpdateAction' - type: "object" required: - isActive properties: action: type: "string" isActive: type: "boolean" DiscountCodeSetCartPredicateAction: allOf: - $ref: '#/components/schemas/DiscountCodeUpdateAction' - type: "object" properties: action: type: "string" cartPredicate: type: "string" DiscountCodeSetCustomFieldAction: allOf: - $ref: '#/components/schemas/DiscountCodeUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} DiscountCodeSetCustomTypeAction: allOf: - $ref: '#/components/schemas/DiscountCodeUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' DiscountCodeSetDescriptionAction: allOf: - $ref: '#/components/schemas/DiscountCodeUpdateAction' - type: "object" properties: action: type: "string" description: $ref: '#/components/schemas/LocalizedString' DiscountCodeSetKeyAction: allOf: - $ref: '#/components/schemas/DiscountCodeUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" DiscountCodeSetMaxApplicationsAction: allOf: - $ref: '#/components/schemas/DiscountCodeUpdateAction' - type: "object" properties: action: type: "string" maxApplications: type: "integer" format: "int64" DiscountCodeSetMaxApplicationsPerCustomerAction: allOf: - $ref: '#/components/schemas/DiscountCodeUpdateAction' - type: "object" properties: action: type: "string" maxApplicationsPerCustomer: type: "integer" format: "int64" DiscountCodeSetNameAction: allOf: - $ref: '#/components/schemas/DiscountCodeUpdateAction' - type: "object" properties: action: type: "string" name: $ref: '#/components/schemas/LocalizedString' DiscountCodeSetValidFromAction: allOf: - $ref: '#/components/schemas/DiscountCodeUpdateAction' - type: "object" properties: action: type: "string" validFrom: type: "string" format: "datetime" DiscountCodeSetValidFromAndUntilAction: allOf: - $ref: '#/components/schemas/DiscountCodeUpdateAction' - type: "object" properties: action: type: "string" validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" DiscountCodeSetValidUntilAction: allOf: - $ref: '#/components/schemas/DiscountCodeUpdateAction' - type: "object" properties: action: type: "string" validUntil: type: "string" format: "datetime" DiscountGroup: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - createdAt - id - isActive - key - lastModifiedAt - sortOrder - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" name: $ref: '#/components/schemas/LocalizedString' key: type: "string" description: $ref: '#/components/schemas/LocalizedString' sortOrder: type: "string" isActive: type: "boolean" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' DiscountGroupDraft: type: "object" required: - key - sortOrder properties: name: $ref: '#/components/schemas/LocalizedString' key: type: "string" description: $ref: '#/components/schemas/LocalizedString' sortOrder: type: "string" isActive: type: "boolean" DiscountGroupPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/DiscountGroup' DiscountGroupReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/DiscountGroup' DiscountGroupResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" DiscountGroupUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/DiscountGroupUpdateAction' DiscountGroupUpdateAction: type: "object" discriminator: propertyName: action mapping: setDescription: '#/components/schemas/DiscountGroupSetDescriptionAction' setIsActive: '#/components/schemas/DiscountGroupSetIsActiveAction' setKey: '#/components/schemas/DiscountGroupSetKeyAction' setName: '#/components/schemas/DiscountGroupSetNameAction' setSortOrder: '#/components/schemas/DiscountGroupSetSortOrderAction' required: - action properties: action: type: "string" DiscountGroupSetDescriptionAction: allOf: - $ref: '#/components/schemas/DiscountGroupUpdateAction' - type: "object" properties: action: type: "string" description: $ref: '#/components/schemas/LocalizedString' DiscountGroupSetIsActiveAction: allOf: - $ref: '#/components/schemas/DiscountGroupUpdateAction' - type: "object" required: - isActive properties: action: type: "string" isActive: type: "boolean" DiscountGroupSetKeyAction: allOf: - $ref: '#/components/schemas/DiscountGroupUpdateAction' - type: "object" required: - key properties: action: type: "string" key: type: "string" DiscountGroupSetNameAction: allOf: - $ref: '#/components/schemas/DiscountGroupUpdateAction' - type: "object" properties: action: type: "string" name: $ref: '#/components/schemas/LocalizedString' DiscountGroupSetSortOrderAction: allOf: - $ref: '#/components/schemas/DiscountGroupUpdateAction' - type: "object" required: - sortOrder properties: action: type: "string" sortOrder: type: "string" AnonymousIdAlreadyInUseError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" AssociateMissingPermissionError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - associate - businessUnit - code - message - permissions properties: code: type: "string" message: type: "string" associate: $ref: '#/components/schemas/CustomerResourceIdentifier' businessUnit: $ref: '#/components/schemas/BusinessUnitResourceIdentifier' associateOnBehalf: $ref: '#/components/schemas/CustomerResourceIdentifier' permissions: type: "array" items: $ref: '#/components/schemas/Permission' additionalProperties: type: "string" AttributeDefinitionAlreadyExistsError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - conflictingAttributeName - conflictingProductTypeId - conflictingProductTypeName - message properties: code: type: "string" message: type: "string" conflictingProductTypeId: type: "string" conflictingProductTypeName: type: "string" conflictingAttributeName: type: "string" additionalProperties: type: "string" AttributeDefinitionTypeConflictError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - conflictingAttributeName - conflictingProductTypeId - conflictingProductTypeName - message properties: code: type: "string" message: type: "string" conflictingProductTypeId: type: "string" conflictingProductTypeName: type: "string" conflictingAttributeName: type: "string" additionalProperties: type: "string" AttributeNameDoesNotExistError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - invalidAttributeName - message properties: code: type: "string" message: type: "string" invalidAttributeName: type: "string" additionalProperties: type: "string" AuthErrorResponse: allOf: - $ref: '#/components/schemas/ErrorResponse' - type: "object" required: - error - errors properties: statusCode: type: "integer" format: "int32" message: type: "string" errors: type: "array" items: $ref: '#/components/schemas/ErrorObject' error: type: "string" error_description: type: "string" BadGatewayError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" BulkOperationMaxItemsExceededError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - limit - message - provided properties: code: type: "string" message: type: "string" limit: type: "integer" format: "int32" provided: type: "integer" format: "int32" additionalProperties: type: "string" ConcurrentModificationError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" currentVersion: type: "integer" format: "int64" additionalProperties: type: "string" ContentTooLargeError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" CountryNotConfiguredInStoreError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - country - message - storeCountries properties: code: type: "string" message: type: "string" storeCountries: type: "array" items: $ref: '#/components/schemas/CountryCode' country: $ref: '#/components/schemas/CountryCode' additionalProperties: type: "string" DiscountCodeNonApplicableError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" discountCode: type: "string" reason: type: "string" discountCodeId: type: "string" validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" validityCheckTime: type: "string" format: "datetime" additionalProperties: type: "string" DuplicateAttributeValueError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - attribute - code - message properties: code: type: "string" message: type: "string" attribute: $ref: '#/components/schemas/Attribute' additionalProperties: type: "string" DuplicateAttributeValuesError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - attributes - code - message properties: code: type: "string" message: type: "string" attributes: type: "array" items: $ref: '#/components/schemas/Attribute' additionalProperties: type: "string" DuplicateEnumValuesError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - duplicates - message properties: code: type: "string" message: type: "string" duplicates: type: "array" items: type: "string" additionalProperties: type: "string" DuplicateFieldError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - duplicateValue - field - message properties: code: type: "string" message: type: "string" field: type: "string" duplicateValue: {} additionalProperties: type: "string" DuplicateFieldWithConflictingResourceError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - conflictingResource - duplicateValue - field - message properties: code: type: "string" message: type: "string" field: type: "string" duplicateValue: {} conflictingResource: $ref: '#/components/schemas/Reference' additionalProperties: type: "string" DuplicatePriceKeyError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - conflictingPrice - message properties: code: type: "string" message: type: "string" conflictingPrice: $ref: '#/components/schemas/Price' additionalProperties: type: "string" DuplicatePriceScopeError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - conflictingPrice - message properties: code: type: "string" message: type: "string" conflictingPrice: $ref: '#/components/schemas/Price' additionalProperties: type: "string" DuplicateStandalonePriceScopeError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - conflictingStandalonePrice - currency - message - sku properties: code: type: "string" message: type: "string" conflictingStandalonePrice: $ref: '#/components/schemas/StandalonePriceReference' sku: type: "string" currency: $ref: '#/components/schemas/CurrencyCode' country: $ref: '#/components/schemas/CountryCode' customerGroup: $ref: '#/components/schemas/CustomerGroupResourceIdentifier' channel: $ref: '#/components/schemas/ChannelResourceIdentifier' validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" additionalProperties: type: "string" DuplicateVariantValuesError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message - variantValues properties: code: type: "string" message: type: "string" variantValues: $ref: '#/components/schemas/VariantValues' additionalProperties: type: "string" EditPreviewFailedError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message - result properties: code: type: "string" message: type: "string" result: $ref: '#/components/schemas/OrderEditPreviewFailure' additionalProperties: type: "string" EnumKeyAlreadyExistsError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - conflictingAttributeName - conflictingEnumKey - message properties: code: type: "string" message: type: "string" conflictingEnumKey: type: "string" conflictingAttributeName: type: "string" additionalProperties: type: "string" EnumKeyDoesNotExistError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - conflictingAttributeName - conflictingEnumKey - message properties: code: type: "string" message: type: "string" conflictingEnumKey: type: "string" conflictingAttributeName: type: "string" additionalProperties: type: "string" EnumValueIsUsedError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" EnumValuesMustMatchError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" ErrorByExtension: type: "object" required: - id properties: id: type: "string" key: type: "string" ErrorObject: type: "object" discriminator: propertyName: code mapping: BusinessUnitAmbiguous: '#/components/schemas/AgentBusinessUnitAmbiguousError' BusinessUnitLimitExceeded: '#/components/schemas/AgentBusinessUnitLimitExceededError' BusinessUnitUnresolved: '#/components/schemas/AgentBusinessUnitUnresolvedError' ExtractionFailed: '#/components/schemas/AgentExtractionFailedError' FeatureDisabled: '#/components/schemas/AgentFeatureDisabledError' MissingCountry: '#/components/schemas/AgentMissingCountryError' MissingCustomerEmail: '#/components/schemas/AgentMissingCustomerEmailError' MissingEntityType: '#/components/schemas/AgentMissingEntityTypeError' NoLineItemsExtracted: '#/components/schemas/AgentNoLineItemsExtractedError' OutOfScope: '#/components/schemas/AgentOutOfScopeError' ProductSearchNotEnabled: '#/components/schemas/AgentProductSearchNotEnabledError' ProductsNotFound: '#/components/schemas/AgentProductsNotFoundError' QuoteRequestCreationFailed: '#/components/schemas/AgentQuoteRequestCreationFailedError' StoreAmbiguous: '#/components/schemas/AgentStoreAmbiguousError' StoreDistributionChannelsUnsupported: '#/components/schemas/AgentStoreDistributionChannelsUnsupportedError' StoreUnresolved: '#/components/schemas/AgentStoreUnresolvedError' AnonymousIdAlreadyInUse: '#/components/schemas/AnonymousIdAlreadyInUseError' AssociateMissingPermission: '#/components/schemas/AssociateMissingPermissionError' AttributeDefinitionAlreadyExists: '#/components/schemas/AttributeDefinitionAlreadyExistsError' AttributeDefinitionTypeConflict: '#/components/schemas/AttributeDefinitionTypeConflictError' AttributeNameDoesNotExist: '#/components/schemas/AttributeNameDoesNotExistError' BadGateway: '#/components/schemas/BadGatewayError' BulkOperationMaxItemsExceeded: '#/components/schemas/BulkOperationMaxItemsExceededError' ConcurrentModification: '#/components/schemas/ConcurrentModificationError' ContentTooLarge: '#/components/schemas/ContentTooLargeError' CountryNotConfiguredInStore: '#/components/schemas/CountryNotConfiguredInStoreError' DiscountCodeNonApplicable: '#/components/schemas/DiscountCodeNonApplicableError' DuplicateAttributeValue: '#/components/schemas/DuplicateAttributeValueError' DuplicateAttributeValues: '#/components/schemas/DuplicateAttributeValuesError' DuplicateEnumValues: '#/components/schemas/DuplicateEnumValuesError' DuplicateField: '#/components/schemas/DuplicateFieldError' DuplicateFieldWithConflictingResource: '#/components/schemas/DuplicateFieldWithConflictingResourceError' DuplicatePriceKey: '#/components/schemas/DuplicatePriceKeyError' DuplicatePriceScope: '#/components/schemas/DuplicatePriceScopeError' DuplicateStandalonePriceScope: '#/components/schemas/DuplicateStandalonePriceScopeError' DuplicateVariantValues: '#/components/schemas/DuplicateVariantValuesError' EditPreviewFailed: '#/components/schemas/EditPreviewFailedError' EnumKeyAlreadyExists: '#/components/schemas/EnumKeyAlreadyExistsError' EnumKeyDoesNotExist: '#/components/schemas/EnumKeyDoesNotExistError' EnumValueIsUsed: '#/components/schemas/EnumValueIsUsedError' EnumValuesMustMatch: '#/components/schemas/EnumValuesMustMatchError' ExactLockConflict: '#/components/schemas/ExactLockConflictError' ExpiredCustomerEmailToken: '#/components/schemas/ExpiredCustomerEmailTokenError' ExpiredCustomerPasswordToken: '#/components/schemas/ExpiredCustomerPasswordTokenError' ExtensionBadResponse: '#/components/schemas/ExtensionBadResponseError' ExtensionChainTooDeep: '#/components/schemas/ExtensionChainTooDeepError' ExtensionChainTooWide: '#/components/schemas/ExtensionChainTooWideError' ExtensionCircularDependency: '#/components/schemas/ExtensionCircularDependencyError' ExtensionDependencyExists: '#/components/schemas/ExtensionDependencyExistsError' ExtensionNoResponse: '#/components/schemas/ExtensionNoResponseError' ExtensionPredicateEvaluationFailed: '#/components/schemas/ExtensionPredicateEvaluationFailedError' ExtensionUpdateActionsFailed: '#/components/schemas/ExtensionUpdateActionsFailedError' ExternalOAuthFailed: '#/components/schemas/ExternalOAuthFailedError' FeatureRemoved: '#/components/schemas/FeatureRemovedError' General: '#/components/schemas/GeneralError' insufficient_scope: '#/components/schemas/InsufficientScopeError' InternalConstraintViolated: '#/components/schemas/InternalConstraintViolatedError' InvalidCredentials: '#/components/schemas/InvalidCredentialsError' InvalidCurrentPassword: '#/components/schemas/InvalidCurrentPasswordError' InvalidField: '#/components/schemas/InvalidFieldError' InvalidInput: '#/components/schemas/InvalidInputError' InvalidItemShippingDetails: '#/components/schemas/InvalidItemShippingDetailsError' InvalidJsonInput: '#/components/schemas/InvalidJsonInputError' InvalidOperation: '#/components/schemas/InvalidOperationError' InvalidSubject: '#/components/schemas/InvalidSubjectError' invalid_token: '#/components/schemas/InvalidTokenError' LanguageUsedInStores: '#/components/schemas/LanguageUsedInStoresError' LineItemQuantityAboveLimit: '#/components/schemas/LineItemQuantityAboveLimitError' LineItemQuantityBelowLimit: '#/components/schemas/LineItemQuantityBelowLimitError' LockedField: '#/components/schemas/LockedFieldError' MatchingPriceNotFound: '#/components/schemas/MatchingPriceNotFoundError' MaxCartDiscountsReached: '#/components/schemas/MaxCartDiscountsReachedError' MaxDiscountGroupsReached: '#/components/schemas/MaxDiscountGroupsReachedError' MaxResourceLimitExceeded: '#/components/schemas/MaxResourceLimitExceededError' MaxStoreReferencesReached: '#/components/schemas/MaxStoreReferencesReachedError' MissingRoleOnChannel: '#/components/schemas/MissingRoleOnChannelError' MissingTaxRateForCountry: '#/components/schemas/MissingTaxRateForCountryError' MoneyOverflow: '#/components/schemas/MoneyOverflowError' NoMatchingProductDiscountFound: '#/components/schemas/NoMatchingProductDiscountFoundError' ObjectNotFound: '#/components/schemas/ObjectNotFoundError' OutOfStock: '#/components/schemas/OutOfStockError' OverCapacity: '#/components/schemas/OverCapacityError' OverlappingPriceValidity: '#/components/schemas/OverlappingPriceValidityError' OverlappingStandalonePriceValidity: '#/components/schemas/OverlappingStandalonePriceValidityError' PendingOperation: '#/components/schemas/PendingOperationError' PriceChanged: '#/components/schemas/PriceChangedError' ProductAssignmentMissing: '#/components/schemas/ProductAssignmentMissingError' ProductPresentWithDifferentVariantSelection: '#/components/schemas/ProductPresentWithDifferentVariantSelectionError' ProjectNotConfiguredForLanguages: '#/components/schemas/ProjectNotConfiguredForLanguagesError' QueryComplexityLimitExceeded: '#/components/schemas/QueryComplexityLimitExceededError' QueryTimedOut: '#/components/schemas/QueryTimedOutError' RecurringOrderFailure: '#/components/schemas/RecurringOrderFailureError' ReferenceExists: '#/components/schemas/ReferenceExistsError' ReferencedResourceNotFound: '#/components/schemas/ReferencedResourceNotFoundError' RequiredField: '#/components/schemas/RequiredFieldError' ResourceNotFound: '#/components/schemas/ResourceNotFoundError' ResourceSizeLimitExceeded: '#/components/schemas/ResourceSizeLimitExceededError' SearchDeactivated: '#/components/schemas/SearchDeactivatedError' SearchExecutionFailure: '#/components/schemas/SearchExecutionFailureError' SearchFacetPathNotFound: '#/components/schemas/SearchFacetPathNotFoundError' SearchIndexingInProgress: '#/components/schemas/SearchIndexingInProgressError' SearchNotReady: '#/components/schemas/SearchNotReadyError' SemanticError: '#/components/schemas/SemanticErrorError' ShippingMethodDoesNotMatchCart: '#/components/schemas/ShippingMethodDoesNotMatchCartError' StoreCartDiscountsLimitReached: '#/components/schemas/StoreCartDiscountsLimitReachedError' SyntaxError: '#/components/schemas/SyntaxErrorError' Unauthorized: '#/components/schemas/UnauthorizedError' ValidityLockConflict: '#/components/schemas/ValidityLockConflictError' required: - // - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" ErrorResponse: type: "object" required: - message - statusCode properties: statusCode: type: "integer" format: "int32" message: type: "string" errors: type: "array" items: $ref: '#/components/schemas/ErrorObject' ExactLockConflictError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - currency - message - sku properties: code: type: "string" message: type: "string" sku: type: "string" currency: $ref: '#/components/schemas/CurrencyCode' country: $ref: '#/components/schemas/CountryCode' customerGroup: $ref: '#/components/schemas/CustomerGroupResourceIdentifier' channel: $ref: '#/components/schemas/ChannelResourceIdentifier' validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" recurrencePolicy: $ref: '#/components/schemas/RecurrencePolicyReference' additionalProperties: type: "string" ExpiredCustomerEmailTokenError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" ExpiredCustomerPasswordTokenError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" ExtensionBadResponseError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - extensionErrors - extensionId - message properties: code: type: "string" message: type: "string" localizedMessage: $ref: '#/components/schemas/LocalizedString' extensionExtraInfo: type: "object" extensionErrors: type: "array" items: $ref: '#/components/schemas/ExtensionError' extensionBody: type: "string" extensionStatusCode: type: "integer" format: "int32" extensionId: type: "string" extensionKey: type: "string" additionalProperties: type: "string" ExtensionChainTooDeepError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" ExtensionChainTooWideError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" ExtensionCircularDependencyError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" ExtensionDependencyExistsError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" ExtensionError: type: "object" required: - // - code - extensionId - message properties: code: type: "string" message: type: "string" extensionId: type: "string" extensionKey: type: "string" additionalProperties: type: "string" ExtensionNoResponseError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - extensionId - message properties: code: type: "string" message: type: "string" extensionId: type: "string" extensionKey: type: "string" additionalProperties: type: "string" ExtensionPredicateEvaluationFailedError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - errorByExtension - message properties: code: type: "string" message: type: "string" errorByExtension: $ref: '#/components/schemas/ErrorByExtension' additionalProperties: type: "string" ExtensionUpdateActionsFailedError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - extensionErrors - message properties: code: type: "string" message: type: "string" localizedMessage: $ref: '#/components/schemas/LocalizedString' extensionExtraInfo: type: "object" extensionErrors: type: "array" items: $ref: '#/components/schemas/ExtensionError' additionalProperties: type: "string" ExternalOAuthFailedError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" FeatureRemovedError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" GeneralError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" InsufficientScopeError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" InternalConstraintViolatedError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" InvalidCredentialsError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" InvalidCurrentPasswordError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" InvalidFieldError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - field - invalidValue - message properties: code: type: "string" message: type: "string" field: type: "string" invalidValue: {} allowedValues: type: "array" items: {} additionalProperties: type: "string" InvalidInputError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" InvalidItemShippingDetailsError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - itemId - message - subject properties: code: type: "string" message: type: "string" subject: type: "string" itemId: type: "string" additionalProperties: type: "string" InvalidJsonInputError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - detailedErrorMessage - message properties: code: type: "string" message: type: "string" detailedErrorMessage: type: "string" additionalProperties: type: "string" InvalidOperationError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" InvalidSubjectError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" properties: code: type: "string" message: type: "string" additionalProperties: type: "string" InvalidTokenError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" properties: code: type: "string" message: type: "string" additionalProperties: type: "string" LanguageUsedInStoresError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" LineItemQuantityAboveLimitError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - maxCartQuantity - message - quantity properties: code: type: "string" message: type: "string" quantity: type: "integer" format: "int32" maxCartQuantity: type: "integer" format: "int32" lineItem: type: "string" additionalProperties: type: "string" LineItemQuantityBelowLimitError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message - minCartQuantity - quantity properties: code: type: "string" message: type: "string" quantity: type: "integer" format: "int32" minCartQuantity: type: "integer" format: "int32" lineItem: type: "string" additionalProperties: type: "string" LockedFieldError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - field - message properties: code: type: "string" message: type: "string" field: type: "string" additionalProperties: type: "string" MatchingPriceNotFoundError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message - productId - variantId properties: code: type: "string" message: type: "string" productId: type: "string" variantId: type: "integer" format: "int32" currency: $ref: '#/components/schemas/CurrencyCode' country: $ref: '#/components/schemas/CountryCode' customerGroup: $ref: '#/components/schemas/CustomerGroupReference' channel: $ref: '#/components/schemas/ChannelReference' additionalProperties: type: "string" MaxCartDiscountsReachedError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" MaxDiscountGroupsReachedError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" MaxResourceLimitExceededError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - exceededResource - message properties: code: type: "string" message: type: "string" exceededResource: $ref: '#/components/schemas/ReferenceTypeId' additionalProperties: type: "string" MaxStoreReferencesReachedError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" MissingRoleOnChannelError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message - missingRole properties: code: type: "string" message: type: "string" channel: $ref: '#/components/schemas/ChannelResourceIdentifier' missingRole: $ref: '#/components/schemas/ChannelRoleEnum' additionalProperties: type: "string" MissingTaxRateForCountryError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message - taxCategoryId properties: code: type: "string" message: type: "string" taxCategoryId: type: "string" country: $ref: '#/components/schemas/CountryCode' state: type: "string" additionalProperties: type: "string" MoneyOverflowError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" NoMatchingProductDiscountFoundError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" ObjectNotFoundError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" OutOfStockError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - lineItems - message - skus properties: code: type: "string" message: type: "string" lineItems: type: "array" items: type: "string" skus: type: "array" items: type: "string" additionalProperties: type: "string" OverCapacityError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" OverlappingPriceValidityError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - conflictingPrice - currency - message properties: code: type: "string" message: type: "string" conflictingPrice: type: "string" currency: $ref: '#/components/schemas/CurrencyCode' country: $ref: '#/components/schemas/CountryCode' customerGroup: $ref: '#/components/schemas/CustomerGroupResourceIdentifier' channel: $ref: '#/components/schemas/ChannelResourceIdentifier' validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" conflictingValidFrom: type: "string" format: "datetime" conflictingValidUntil: type: "string" format: "datetime" additionalProperties: type: "string" OverlappingStandalonePriceValidityError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - conflictingStandalonePrice - currency - message - sku properties: code: type: "string" message: type: "string" conflictingStandalonePrice: $ref: '#/components/schemas/StandalonePriceReference' sku: type: "string" currency: $ref: '#/components/schemas/CurrencyCode' country: $ref: '#/components/schemas/CountryCode' customerGroup: $ref: '#/components/schemas/CustomerGroupResourceIdentifier' channel: $ref: '#/components/schemas/ChannelResourceIdentifier' validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" conflictingValidFrom: type: "string" format: "datetime" conflictingValidUntil: type: "string" format: "datetime" additionalProperties: type: "string" PendingOperationError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" PriceChangedError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - lineItems - message - shipping properties: code: type: "string" message: type: "string" lineItems: type: "array" items: type: "string" shipping: type: "boolean" additionalProperties: type: "string" ProductAssignmentMissingError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message - product properties: code: type: "string" message: type: "string" product: $ref: '#/components/schemas/ProductReference' additionalProperties: type: "string" ProductPresentWithDifferentVariantSelectionError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - existingVariantSelection - message - product properties: code: type: "string" message: type: "string" product: $ref: '#/components/schemas/ProductReference' existingVariantSelection: $ref: '#/components/schemas/ProductVariantSelection' additionalProperties: type: "string" ProjectNotConfiguredForLanguagesError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" languages: type: "array" items: $ref: '#/components/schemas/Locale' additionalProperties: type: "string" QueryComplexityLimitExceededError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" QueryTimedOutError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" RecurringOrderFailureError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - details - message properties: code: type: "string" message: type: "string" details: {} additionalProperties: type: "string" ReferenceExistsError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" referencedBy: $ref: '#/components/schemas/ReferenceTypeId' additionalProperties: type: "string" ReferencedResourceNotFoundError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message - typeId properties: code: type: "string" message: type: "string" typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" additionalProperties: type: "string" RequiredFieldError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - field - message properties: code: type: "string" message: type: "string" field: type: "string" additionalProperties: type: "string" ResourceNotFoundError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" ResourceSizeLimitExceededError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" SearchDeactivatedError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" SearchExecutionFailureError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" SearchFacetPathNotFoundError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" SearchIndexingInProgressError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" SearchNotReadyError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" SemanticErrorError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" ShippingMethodDoesNotMatchCartError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" StoreCartDiscountsLimitReachedError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message - stores properties: code: type: "string" message: type: "string" stores: type: "array" items: $ref: '#/components/schemas/StoreKeyReference' additionalProperties: type: "string" SyntaxErrorError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" additionalProperties: type: "string" UnauthorizedError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" storesWithoutPermission: type: "array" items: type: "string" additionalProperties: type: "string" ValidityLockConflictError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - code - currency - message - sku properties: code: type: "string" message: type: "string" sku: type: "string" currency: $ref: '#/components/schemas/CurrencyCode' country: $ref: '#/components/schemas/CountryCode' customerGroup: $ref: '#/components/schemas/CustomerGroupResourceIdentifier' channel: $ref: '#/components/schemas/ChannelResourceIdentifier' recurrencePolicy: $ref: '#/components/schemas/RecurrencePolicyResourceIdentifier' additionalProperties: type: "string" VariantValues: type: "object" required: - attributes - prices properties: sku: type: "string" prices: type: "array" items: $ref: '#/components/schemas/PriceDraft' attributes: type: "array" items: $ref: '#/components/schemas/Attribute' GraphQLAnonymousIdAlreadyInUseError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLAssociateMissingPermissionError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - associate - businessUnit - code - permissions properties: code: type: "string" associate: $ref: '#/components/schemas/CustomerResourceIdentifier' businessUnit: $ref: '#/components/schemas/BusinessUnitResourceIdentifier' associateOnBehalf: $ref: '#/components/schemas/CustomerResourceIdentifier' permissions: type: "array" items: $ref: '#/components/schemas/Permission' additionalProperties: type: "string" GraphQLAttributeDefinitionAlreadyExistsError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - conflictingAttributeName - conflictingProductTypeId - conflictingProductTypeName properties: code: type: "string" conflictingProductTypeId: type: "string" conflictingProductTypeName: type: "string" conflictingAttributeName: type: "string" additionalProperties: type: "string" GraphQLAttributeDefinitionTypeConflictError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - conflictingAttributeName - conflictingProductTypeId - conflictingProductTypeName properties: code: type: "string" conflictingProductTypeId: type: "string" conflictingProductTypeName: type: "string" conflictingAttributeName: type: "string" additionalProperties: type: "string" GraphQLAttributeNameDoesNotExistError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - invalidAttributeName properties: code: type: "string" invalidAttributeName: type: "string" additionalProperties: type: "string" GraphQLBadGatewayError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLBulkOperationMaxItemsExceededError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - limit - provided properties: code: type: "string" limit: type: "integer" format: "int32" provided: type: "integer" format: "int32" additionalProperties: type: "string" GraphQLConcurrentModificationError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" currentVersion: type: "integer" format: "int64" additionalProperties: type: "string" GraphQLContentTooLargeError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLCountryNotConfiguredInStoreError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - country - storeCountries properties: code: type: "string" storeCountries: type: "array" items: $ref: '#/components/schemas/CountryCode' country: $ref: '#/components/schemas/CountryCode' additionalProperties: type: "string" GraphQLDiscountCodeNonApplicableError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" discountCode: type: "string" reason: type: "string" discountCodeId: type: "string" validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" validityCheckTime: type: "string" format: "datetime" additionalProperties: type: "string" GraphQLDuplicateAttributeValueError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - attribute - code properties: code: type: "string" attribute: $ref: '#/components/schemas/Attribute' additionalProperties: type: "string" GraphQLDuplicateAttributeValuesError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - attributes - code properties: code: type: "string" attributes: type: "array" items: $ref: '#/components/schemas/Attribute' additionalProperties: type: "string" GraphQLDuplicateEnumValuesError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - duplicates properties: code: type: "string" duplicates: type: "array" items: type: "string" additionalProperties: type: "string" GraphQLDuplicateFieldError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - duplicateValue - field properties: code: type: "string" field: type: "string" duplicateValue: {} additionalProperties: type: "string" GraphQLDuplicateFieldWithConflictingResourceError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - conflictingResource - duplicateValue - field properties: code: type: "string" field: type: "string" duplicateValue: {} conflictingResource: $ref: '#/components/schemas/Reference' additionalProperties: type: "string" GraphQLDuplicatePriceKeyError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - conflictingPrice properties: code: type: "string" conflictingPrice: $ref: '#/components/schemas/Price' additionalProperties: type: "string" GraphQLDuplicatePriceScopeError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - conflictingPrice properties: code: type: "string" conflictingPrice: $ref: '#/components/schemas/Price' additionalProperties: type: "string" GraphQLDuplicateStandalonePriceScopeError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - conflictingStandalonePrice - currency - sku properties: code: type: "string" conflictingStandalonePrice: $ref: '#/components/schemas/StandalonePriceReference' sku: type: "string" currency: $ref: '#/components/schemas/CurrencyCode' country: $ref: '#/components/schemas/CountryCode' customerGroup: $ref: '#/components/schemas/CustomerGroupResourceIdentifier' channel: $ref: '#/components/schemas/ChannelResourceIdentifier' validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" additionalProperties: type: "string" GraphQLDuplicateVariantValuesError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - variantValues properties: code: type: "string" variantValues: $ref: '#/components/schemas/VariantValues' additionalProperties: type: "string" GraphQLEditPreviewFailedError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - result properties: code: type: "string" result: $ref: '#/components/schemas/OrderEditPreviewFailure' additionalProperties: type: "string" GraphQLEnumKeyAlreadyExistsError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - conflictingAttributeName - conflictingEnumKey properties: code: type: "string" conflictingEnumKey: type: "string" conflictingAttributeName: type: "string" additionalProperties: type: "string" GraphQLEnumKeyDoesNotExistError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - conflictingAttributeName - conflictingEnumKey properties: code: type: "string" conflictingEnumKey: type: "string" conflictingAttributeName: type: "string" additionalProperties: type: "string" GraphQLEnumValueIsUsedError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLEnumValuesMustMatchError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLErrorObject: type: "object" discriminator: propertyName: code mapping: BusinessUnitAmbiguous: '#/components/schemas/GraphQLAgentBusinessUnitAmbiguousError' BusinessUnitLimitExceeded: '#/components/schemas/GraphQLAgentBusinessUnitLimitExceededError' BusinessUnitUnresolved: '#/components/schemas/GraphQLAgentBusinessUnitUnresolvedError' ExtractionFailed: '#/components/schemas/GraphQLAgentExtractionFailedError' FeatureDisabled: '#/components/schemas/GraphQLAgentFeatureDisabledError' MissingCountry: '#/components/schemas/GraphQLAgentMissingCountryError' MissingCustomerEmail: '#/components/schemas/GraphQLAgentMissingCustomerEmailError' MissingEntityType: '#/components/schemas/GraphQLAgentMissingEntityTypeError' NoLineItemsExtracted: '#/components/schemas/GraphQLAgentNoLineItemsExtractedError' OutOfScope: '#/components/schemas/GraphQLAgentOutOfScopeError' ProductSearchNotEnabled: '#/components/schemas/GraphQLAgentProductSearchNotEnabledError' ProductsNotFound: '#/components/schemas/GraphQLAgentProductsNotFoundError' QuoteRequestCreationFailed: '#/components/schemas/GraphQLAgentQuoteRequestCreationFailedError' StoreAmbiguous: '#/components/schemas/GraphQLAgentStoreAmbiguousError' StoreDistributionChannelsUnsupported: '#/components/schemas/GraphQLAgentStoreDistributionChannelsUnsupportedError' StoreUnresolved: '#/components/schemas/GraphQLAgentStoreUnresolvedError' AnonymousIdAlreadyInUse: '#/components/schemas/GraphQLAnonymousIdAlreadyInUseError' AssociateMissingPermission: '#/components/schemas/GraphQLAssociateMissingPermissionError' AttributeDefinitionAlreadyExists: '#/components/schemas/GraphQLAttributeDefinitionAlreadyExistsError' AttributeDefinitionTypeConflict: '#/components/schemas/GraphQLAttributeDefinitionTypeConflictError' AttributeNameDoesNotExist: '#/components/schemas/GraphQLAttributeNameDoesNotExistError' BadGateway: '#/components/schemas/GraphQLBadGatewayError' BulkOperationMaxItemsExceeded: '#/components/schemas/GraphQLBulkOperationMaxItemsExceededError' ConcurrentModification: '#/components/schemas/GraphQLConcurrentModificationError' ContentTooLarge: '#/components/schemas/GraphQLContentTooLargeError' CountryNotConfiguredInStore: '#/components/schemas/GraphQLCountryNotConfiguredInStoreError' DiscountCodeNonApplicable: '#/components/schemas/GraphQLDiscountCodeNonApplicableError' DuplicateAttributeValue: '#/components/schemas/GraphQLDuplicateAttributeValueError' DuplicateAttributeValues: '#/components/schemas/GraphQLDuplicateAttributeValuesError' DuplicateEnumValues: '#/components/schemas/GraphQLDuplicateEnumValuesError' DuplicateField: '#/components/schemas/GraphQLDuplicateFieldError' DuplicateFieldWithConflictingResource: '#/components/schemas/GraphQLDuplicateFieldWithConflictingResourceError' DuplicatePriceKey: '#/components/schemas/GraphQLDuplicatePriceKeyError' DuplicatePriceScope: '#/components/schemas/GraphQLDuplicatePriceScopeError' DuplicateStandalonePriceScope: '#/components/schemas/GraphQLDuplicateStandalonePriceScopeError' DuplicateVariantValues: '#/components/schemas/GraphQLDuplicateVariantValuesError' EditPreviewFailed: '#/components/schemas/GraphQLEditPreviewFailedError' EnumKeyAlreadyExists: '#/components/schemas/GraphQLEnumKeyAlreadyExistsError' EnumKeyDoesNotExist: '#/components/schemas/GraphQLEnumKeyDoesNotExistError' EnumValueIsUsed: '#/components/schemas/GraphQLEnumValueIsUsedError' EnumValuesMustMatch: '#/components/schemas/GraphQLEnumValuesMustMatchError' ExactLockConflict: '#/components/schemas/GraphQLExactLockConflictError' ExpiredCustomerEmailToken: '#/components/schemas/GraphQLExpiredCustomerEmailTokenError' ExpiredCustomerPasswordToken: '#/components/schemas/GraphQLExpiredCustomerPasswordTokenError' ExtensionBadResponse: '#/components/schemas/GraphQLExtensionBadResponseError' ExtensionChainTooDeep: '#/components/schemas/GraphQLExtensionChainTooDeepError' ExtensionChainTooWide: '#/components/schemas/GraphQLExtensionChainTooWideError' ExtensionCircularDependency: '#/components/schemas/GraphQLExtensionCircularDependencyError' ExtensionDependencyExists: '#/components/schemas/GraphQLExtensionDependencyExistsError' ExtensionNoResponse: '#/components/schemas/GraphQLExtensionNoResponseError' ExtensionPredicateEvaluationFailed: '#/components/schemas/GraphQLExtensionPredicateEvaluationFailedError' ExtensionUpdateActionsFailed: '#/components/schemas/GraphQLExtensionUpdateActionsFailedError' ExternalOAuthFailed: '#/components/schemas/GraphQLExternalOAuthFailedError' FeatureRemoved: '#/components/schemas/GraphQLFeatureRemovedError' General: '#/components/schemas/GraphQLGeneralError' insufficient_scope: '#/components/schemas/GraphQLInsufficientScopeError' InternalConstraintViolated: '#/components/schemas/GraphQLInternalConstraintViolatedError' InvalidCredentials: '#/components/schemas/GraphQLInvalidCredentialsError' InvalidCurrentPassword: '#/components/schemas/GraphQLInvalidCurrentPasswordError' InvalidField: '#/components/schemas/GraphQLInvalidFieldError' InvalidInput: '#/components/schemas/GraphQLInvalidInputError' InvalidItemShippingDetails: '#/components/schemas/GraphQLInvalidItemShippingDetailsError' InvalidJsonInput: '#/components/schemas/GraphQLInvalidJsonInputError' InvalidOperation: '#/components/schemas/GraphQLInvalidOperationError' InvalidSubject: '#/components/schemas/GraphQLInvalidSubjectError' invalid_token: '#/components/schemas/GraphQLInvalidTokenError' LanguageUsedInStores: '#/components/schemas/GraphQLLanguageUsedInStoresError' LineItemQuantityAboveLimit: '#/components/schemas/GraphQLLineItemQuantityAboveLimitError' LineItemQuantityBelowLimit: '#/components/schemas/GraphQLLineItemQuantityBelowLimitError' LockedField: '#/components/schemas/GraphQLLockedFieldError' MatchingPriceNotFound: '#/components/schemas/GraphQLMatchingPriceNotFoundError' MaxCartDiscountsReached: '#/components/schemas/GraphQLMaxCartDiscountsReachedError' MaxDiscountGroupsReached: '#/components/schemas/GraphQLMaxDiscountGroupsReachedError' MaxResourceLimitExceeded: '#/components/schemas/GraphQLMaxResourceLimitExceededError' MaxStoreReferencesReached: '#/components/schemas/GraphQLMaxStoreReferencesReachedError' MissingRoleOnChannel: '#/components/schemas/GraphQLMissingRoleOnChannelError' MissingTaxRateForCountry: '#/components/schemas/GraphQLMissingTaxRateForCountryError' MoneyOverflow: '#/components/schemas/GraphQLMoneyOverflowError' NoMatchingProductDiscountFound: '#/components/schemas/GraphQLNoMatchingProductDiscountFoundError' ObjectNotFound: '#/components/schemas/GraphQLObjectNotFoundError' OutOfStock: '#/components/schemas/GraphQLOutOfStockError' OverCapacity: '#/components/schemas/GraphQLOverCapacityError' OverlappingPriceValidity: '#/components/schemas/GraphQLOverlappingPriceValidityError' OverlappingStandalonePriceValidity: '#/components/schemas/GraphQLOverlappingStandalonePriceValidityError' PendingOperation: '#/components/schemas/GraphQLPendingOperationError' PriceChanged: '#/components/schemas/GraphQLPriceChangedError' ProductAssignmentMissing: '#/components/schemas/GraphQLProductAssignmentMissingError' ProductPresentWithDifferentVariantSelection: '#/components/schemas/GraphQLProductPresentWithDifferentVariantSelectionError' ProjectNotConfiguredForLanguages: '#/components/schemas/GraphQLProjectNotConfiguredForLanguagesError' QueryComplexityLimitExceeded: '#/components/schemas/GraphQLQueryComplexityLimitExceededError' QueryTimedOut: '#/components/schemas/GraphQLQueryTimedOutError' RecurringOrderFailure: '#/components/schemas/GraphQLRecurringOrderFailureError' ReferenceExists: '#/components/schemas/GraphQLReferenceExistsError' ReferencedResourceNotFound: '#/components/schemas/GraphQLReferencedResourceNotFoundError' RequiredField: '#/components/schemas/GraphQLRequiredFieldError' ResourceNotFound: '#/components/schemas/GraphQLResourceNotFoundError' ResourceSizeLimitExceeded: '#/components/schemas/GraphQLResourceSizeLimitExceededError' SearchDeactivated: '#/components/schemas/GraphQLSearchDeactivatedError' SearchExecutionFailure: '#/components/schemas/GraphQLSearchExecutionFailureError' SearchFacetPathNotFound: '#/components/schemas/GraphQLSearchFacetPathNotFoundError' SearchIndexingInProgress: '#/components/schemas/GraphQLSearchIndexingInProgressError' SearchNotReady: '#/components/schemas/GraphQLSearchNotReadyError' SemanticError: '#/components/schemas/GraphQLSemanticErrorError' ShippingMethodDoesNotMatchCart: '#/components/schemas/GraphQLShippingMethodDoesNotMatchCartError' StoreCartDiscountsLimitReached: '#/components/schemas/GraphQLStoreCartDiscountsLimitReachedError' SyntaxError: '#/components/schemas/GraphQLSyntaxErrorError' Unauthorized: '#/components/schemas/GraphQLUnauthorizedError' ValidityLockConflict: '#/components/schemas/GraphQLValidityLockConflictError' required: - // - code properties: code: type: "string" additionalProperties: type: "string" GraphQLExactLockConflictError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - currency - sku properties: code: type: "string" sku: type: "string" currency: $ref: '#/components/schemas/CurrencyCode' country: $ref: '#/components/schemas/CountryCode' customerGroup: $ref: '#/components/schemas/CustomerGroupResourceIdentifier' channel: $ref: '#/components/schemas/ChannelResourceIdentifier' validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" recurrencePolicy: $ref: '#/components/schemas/RecurrencePolicyReference' additionalProperties: type: "string" GraphQLExpiredCustomerEmailTokenError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLExpiredCustomerPasswordTokenError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLExtensionBadResponseError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - extensionErrors - extensionId properties: code: type: "string" localizedMessage: $ref: '#/components/schemas/LocalizedString' extensionExtraInfo: type: "object" extensionErrors: type: "array" items: $ref: '#/components/schemas/ExtensionError' extensionBody: type: "string" extensionStatusCode: type: "integer" format: "int32" extensionId: type: "string" extensionKey: type: "string" additionalProperties: type: "string" GraphQLExtensionChainTooDeepError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLExtensionChainTooWideError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLExtensionCircularDependencyError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLExtensionDependencyExistsError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLExtensionNoResponseError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - extensionId properties: code: type: "string" extensionId: type: "string" extensionKey: type: "string" additionalProperties: type: "string" GraphQLExtensionPredicateEvaluationFailedError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - errorByExtension properties: code: type: "string" errorByExtension: $ref: '#/components/schemas/ErrorByExtension' additionalProperties: type: "string" GraphQLExtensionUpdateActionsFailedError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - extensionErrors properties: code: type: "string" localizedMessage: $ref: '#/components/schemas/LocalizedString' extensionExtraInfo: type: "object" extensionErrors: type: "array" items: $ref: '#/components/schemas/ExtensionError' additionalProperties: type: "string" GraphQLExternalOAuthFailedError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLFeatureRemovedError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLGeneralError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLInsufficientScopeError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLInternalConstraintViolatedError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLInvalidCredentialsError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLInvalidCurrentPasswordError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLInvalidFieldError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - field - invalidValue properties: code: type: "string" field: type: "string" invalidValue: {} allowedValues: type: "array" items: {} additionalProperties: type: "string" GraphQLInvalidInputError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLInvalidItemShippingDetailsError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - itemId - subject properties: code: type: "string" subject: type: "string" itemId: type: "string" additionalProperties: type: "string" GraphQLInvalidJsonInputError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - detailedErrorMessage properties: code: type: "string" detailedErrorMessage: type: "string" additionalProperties: type: "string" GraphQLInvalidOperationError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLInvalidSubjectError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" properties: code: type: "string" additionalProperties: type: "string" GraphQLInvalidTokenError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" properties: code: type: "string" additionalProperties: type: "string" GraphQLLanguageUsedInStoresError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLLineItemQuantityAboveLimitError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - maxCartQuantity - quantity properties: code: type: "string" quantity: type: "integer" format: "int32" maxCartQuantity: type: "integer" format: "int32" lineItem: type: "string" additionalProperties: type: "string" GraphQLLineItemQuantityBelowLimitError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - minCartQuantity - quantity properties: code: type: "string" quantity: type: "integer" format: "int32" minCartQuantity: type: "integer" format: "int32" lineItem: type: "string" additionalProperties: type: "string" GraphQLLockedFieldError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - field properties: code: type: "string" field: type: "string" additionalProperties: type: "string" GraphQLMatchingPriceNotFoundError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - productId - variantId properties: code: type: "string" productId: type: "string" variantId: type: "integer" format: "int32" currency: $ref: '#/components/schemas/CurrencyCode' country: $ref: '#/components/schemas/CountryCode' customerGroup: $ref: '#/components/schemas/CustomerGroupReference' channel: $ref: '#/components/schemas/ChannelReference' additionalProperties: type: "string" GraphQLMaxCartDiscountsReachedError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLMaxDiscountGroupsReachedError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLMaxResourceLimitExceededError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - exceededResource properties: code: type: "string" exceededResource: $ref: '#/components/schemas/ReferenceTypeId' additionalProperties: type: "string" GraphQLMaxStoreReferencesReachedError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLMissingRoleOnChannelError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - missingRole properties: code: type: "string" channel: $ref: '#/components/schemas/ChannelResourceIdentifier' missingRole: $ref: '#/components/schemas/ChannelRoleEnum' additionalProperties: type: "string" GraphQLMissingTaxRateForCountryError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - taxCategoryId properties: code: type: "string" taxCategoryId: type: "string" country: $ref: '#/components/schemas/CountryCode' state: type: "string" additionalProperties: type: "string" GraphQLMoneyOverflowError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLNoMatchingProductDiscountFoundError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLObjectNotFoundError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLOutOfStockError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - lineItems - skus properties: code: type: "string" lineItems: type: "array" items: type: "string" skus: type: "array" items: type: "string" additionalProperties: type: "string" GraphQLOverCapacityError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLOverlappingPriceValidityError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - conflictingPrice - currency properties: code: type: "string" conflictingPrice: type: "string" currency: $ref: '#/components/schemas/CurrencyCode' country: $ref: '#/components/schemas/CountryCode' customerGroup: $ref: '#/components/schemas/CustomerGroupResourceIdentifier' channel: $ref: '#/components/schemas/ChannelResourceIdentifier' validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" conflictingValidFrom: type: "string" format: "datetime" conflictingValidUntil: type: "string" format: "datetime" additionalProperties: type: "string" GraphQLOverlappingStandalonePriceValidityError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - conflictingStandalonePrice - currency - sku properties: code: type: "string" conflictingStandalonePrice: $ref: '#/components/schemas/StandalonePriceReference' sku: type: "string" currency: $ref: '#/components/schemas/CurrencyCode' country: $ref: '#/components/schemas/CountryCode' customerGroup: $ref: '#/components/schemas/CustomerGroupResourceIdentifier' channel: $ref: '#/components/schemas/ChannelResourceIdentifier' validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" conflictingValidFrom: type: "string" format: "datetime" conflictingValidUntil: type: "string" format: "datetime" additionalProperties: type: "string" GraphQLPendingOperationError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLPriceChangedError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - lineItems - shipping properties: code: type: "string" lineItems: type: "array" items: type: "string" shipping: type: "boolean" additionalProperties: type: "string" GraphQLProductAssignmentMissingError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - product properties: code: type: "string" product: $ref: '#/components/schemas/ProductReference' additionalProperties: type: "string" GraphQLProductPresentWithDifferentVariantSelectionError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - existingVariantSelection - product properties: code: type: "string" product: $ref: '#/components/schemas/ProductReference' existingVariantSelection: $ref: '#/components/schemas/ProductVariantSelection' additionalProperties: type: "string" GraphQLProjectNotConfiguredForLanguagesError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" languages: type: "array" items: $ref: '#/components/schemas/Locale' additionalProperties: type: "string" GraphQLQueryComplexityLimitExceededError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLQueryTimedOutError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLRecurringOrderFailureError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - details properties: code: type: "string" details: {} additionalProperties: type: "string" GraphQLReferenceExistsError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" referencedBy: $ref: '#/components/schemas/ReferenceTypeId' additionalProperties: type: "string" GraphQLReferencedResourceNotFoundError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - typeId properties: code: type: "string" typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" additionalProperties: type: "string" GraphQLRequiredFieldError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - field properties: code: type: "string" field: type: "string" additionalProperties: type: "string" GraphQLResourceNotFoundError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLResourceSizeLimitExceededError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLSearchDeactivatedError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLSearchExecutionFailureError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLSearchFacetPathNotFoundError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLSearchIndexingInProgressError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLSearchNotReadyError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLSemanticErrorError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLShippingMethodDoesNotMatchCartError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLStoreCartDiscountsLimitReachedError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - stores properties: code: type: "string" stores: type: "array" items: $ref: '#/components/schemas/StoreKeyReference' additionalProperties: type: "string" GraphQLSyntaxErrorError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" additionalProperties: type: "string" GraphQLUnauthorizedError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code properties: code: type: "string" storesWithoutPermission: type: "array" items: type: "string" additionalProperties: type: "string" GraphQLValidityLockConflictError: allOf: - $ref: '#/components/schemas/GraphQLErrorObject' - type: "object" required: - code - currency - sku properties: code: type: "string" sku: type: "string" currency: $ref: '#/components/schemas/CurrencyCode' country: $ref: '#/components/schemas/CountryCode' customerGroup: $ref: '#/components/schemas/CustomerGroupResourceIdentifier' channel: $ref: '#/components/schemas/ChannelResourceIdentifier' recurrencePolicy: $ref: '#/components/schemas/RecurrencePolicyResourceIdentifier' additionalProperties: type: "string" BaseEvent: type: "object" required: - createdAt - data - id - notificationType - resourceType - type properties: id: type: "string" notificationType: type: "string" resourceType: $ref: '#/components/schemas/EventSubscriptionResourceTypeId' type: $ref: '#/components/schemas/EventType' data: type: "object" createdAt: type: "string" format: "datetime" Event: type: "object" discriminator: propertyName: type mapping: CheckoutOrderCreationFailed: '#/components/schemas/CheckoutOrderCreationFailedEvent' CheckoutPaymentAuthorizationCancelled: '#/components/schemas/CheckoutPaymentAuthorizationCancelledEvent' CheckoutPaymentAuthorizationFailed: '#/components/schemas/CheckoutPaymentAuthorizationFailedEvent' CheckoutPaymentAuthorized: '#/components/schemas/CheckoutPaymentAuthorizedEvent' CheckoutPaymentCancelAuthorizationFailed: '#/components/schemas/CheckoutPaymentCancelAuthorizationFailedEvent' CheckoutPaymentChargeFailed: '#/components/schemas/CheckoutPaymentChargeFailedEvent' CheckoutPaymentCharged: '#/components/schemas/CheckoutPaymentChargedEvent' CheckoutPaymentRefundFailed: '#/components/schemas/CheckoutPaymentRefundFailedEvent' CheckoutPaymentRefunded: '#/components/schemas/CheckoutPaymentRefundedEvent' ImportContainerCreated: '#/components/schemas/ImportContainerCreatedEvent' ImportContainerDeleted: '#/components/schemas/ImportContainerDeletedEvent' ImportOperationRejected: '#/components/schemas/ImportOperationRejectedEvent' ImportUnresolved: '#/components/schemas/ImportUnresolvedEvent' ImportValidationFailed: '#/components/schemas/ImportValidationFailedEvent' ImportWaitForMasterVariant: '#/components/schemas/ImportWaitForMasterVariantEvent' required: - createdAt - id - notificationType - resourceType - type properties: id: type: "string" notificationType: type: "string" resourceType: $ref: '#/components/schemas/EventSubscriptionResourceTypeId' type: $ref: '#/components/schemas/EventType' createdAt: type: "string" format: "datetime" CheckoutOrderCreationFailedEvent: allOf: - $ref: '#/components/schemas/Event' - type: "object" required: - data - resourceType properties: id: type: "string" notificationType: type: "string" resourceType: $ref: '#/components/schemas/EventSubscriptionResourceTypeId' type: $ref: '#/components/schemas/EventType' createdAt: type: "string" format: "datetime" data: $ref: '#/components/schemas/CheckoutMessageOrderPayloadBaseData' CheckoutPaymentAuthorizationCancelledEvent: allOf: - $ref: '#/components/schemas/Event' - type: "object" required: - data - resourceType properties: id: type: "string" notificationType: type: "string" resourceType: $ref: '#/components/schemas/EventSubscriptionResourceTypeId' type: $ref: '#/components/schemas/EventType' createdAt: type: "string" format: "datetime" data: $ref: '#/components/schemas/CheckoutMessagePaymentsPayloadBaseData' CheckoutPaymentAuthorizationFailedEvent: allOf: - $ref: '#/components/schemas/Event' - type: "object" required: - data - resourceType properties: id: type: "string" notificationType: type: "string" resourceType: $ref: '#/components/schemas/EventSubscriptionResourceTypeId' type: $ref: '#/components/schemas/EventType' createdAt: type: "string" format: "datetime" data: $ref: '#/components/schemas/CheckoutMessagePaymentsPayloadBaseData' CheckoutPaymentAuthorizedEvent: allOf: - $ref: '#/components/schemas/Event' - type: "object" required: - data - resourceType properties: id: type: "string" notificationType: type: "string" resourceType: $ref: '#/components/schemas/EventSubscriptionResourceTypeId' type: $ref: '#/components/schemas/EventType' createdAt: type: "string" format: "datetime" data: $ref: '#/components/schemas/CheckoutMessagePaymentsPayloadBaseData' CheckoutPaymentCancelAuthorizationFailedEvent: allOf: - $ref: '#/components/schemas/Event' - type: "object" required: - data - resourceType properties: id: type: "string" notificationType: type: "string" resourceType: $ref: '#/components/schemas/EventSubscriptionResourceTypeId' type: $ref: '#/components/schemas/EventType' createdAt: type: "string" format: "datetime" data: $ref: '#/components/schemas/CheckoutMessagePaymentsPayloadBaseData' CheckoutPaymentChargeFailedEvent: allOf: - $ref: '#/components/schemas/Event' - type: "object" required: - data - resourceType properties: id: type: "string" notificationType: type: "string" resourceType: $ref: '#/components/schemas/EventSubscriptionResourceTypeId' type: $ref: '#/components/schemas/EventType' createdAt: type: "string" format: "datetime" data: $ref: '#/components/schemas/CheckoutMessagePaymentsPayloadBaseData' CheckoutPaymentChargedEvent: allOf: - $ref: '#/components/schemas/Event' - type: "object" required: - data - resourceType properties: id: type: "string" notificationType: type: "string" resourceType: $ref: '#/components/schemas/EventSubscriptionResourceTypeId' type: $ref: '#/components/schemas/EventType' createdAt: type: "string" format: "datetime" data: $ref: '#/components/schemas/CheckoutMessagePaymentsPayloadBaseData' CheckoutPaymentRefundFailedEvent: allOf: - $ref: '#/components/schemas/Event' - type: "object" required: - data - resourceType properties: id: type: "string" notificationType: type: "string" resourceType: $ref: '#/components/schemas/EventSubscriptionResourceTypeId' type: $ref: '#/components/schemas/EventType' createdAt: type: "string" format: "datetime" data: $ref: '#/components/schemas/CheckoutMessagePaymentsPayloadBaseData' CheckoutPaymentRefundedEvent: allOf: - $ref: '#/components/schemas/Event' - type: "object" required: - data - resourceType properties: id: type: "string" notificationType: type: "string" resourceType: $ref: '#/components/schemas/EventSubscriptionResourceTypeId' type: $ref: '#/components/schemas/EventType' createdAt: type: "string" format: "datetime" data: $ref: '#/components/schemas/CheckoutMessagePaymentsPayloadBaseData' CheckoutMessageOrderPayloadBaseData: type: "object" required: - cart - errors - payments - projectKey properties: projectKey: type: "string" cart: $ref: '#/components/schemas/CartReference' payments: type: "array" items: $ref: '#/components/schemas/PaymentReference' errors: type: "array" items: $ref: '#/components/schemas/ErrorObject' CheckoutMessagePaymentsPayloadBaseData: type: "object" required: - payment - projectKey - transactionId properties: projectKey: type: "string" payment: $ref: '#/components/schemas/PaymentReference' transactionId: type: "string" cart: $ref: '#/components/schemas/CartReference' order: $ref: '#/components/schemas/OrderReference' ImportContainerCreatedEventData: type: "object" required: - createdAt - key - lastModifiedAt - version properties: key: type: "string" version: type: "integer" format: "int32" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" ImportContainerDeletedEventData: type: "object" required: - key - version properties: key: type: "string" version: type: "integer" format: "int32" ImportOperationRejectedEventData: type: "object" required: - id properties: id: type: "string" ImportUnresolvedEventData: type: "object" required: - id - importContainerKey - version properties: id: type: "string" version: type: "integer" format: "int32" importContainerKey: type: "string" ImportValidationFailedEventData: type: "object" required: - id - importContainerKey - version properties: id: type: "string" version: type: "integer" format: "int32" importContainerKey: type: "string" ImportWaitForMasterVariantEventData: type: "object" required: - id - importContainerKey - version properties: id: type: "string" version: type: "integer" format: "int32" importContainerKey: type: "string" ImportContainerCreatedEvent: allOf: - $ref: '#/components/schemas/Event' - type: "object" required: - data - resourceType properties: id: type: "string" notificationType: type: "string" resourceType: $ref: '#/components/schemas/EventSubscriptionResourceTypeId' type: $ref: '#/components/schemas/EventType' createdAt: type: "string" format: "datetime" data: $ref: '#/components/schemas/ImportContainerCreatedEventData' ImportContainerDeletedEvent: allOf: - $ref: '#/components/schemas/Event' - type: "object" required: - data - resourceType properties: id: type: "string" notificationType: type: "string" resourceType: $ref: '#/components/schemas/EventSubscriptionResourceTypeId' type: $ref: '#/components/schemas/EventType' createdAt: type: "string" format: "datetime" data: $ref: '#/components/schemas/ImportContainerDeletedEventData' ImportOperationRejectedEvent: allOf: - $ref: '#/components/schemas/Event' - type: "object" required: - data - resourceType properties: id: type: "string" notificationType: type: "string" resourceType: $ref: '#/components/schemas/EventSubscriptionResourceTypeId' type: $ref: '#/components/schemas/EventType' createdAt: type: "string" format: "datetime" data: $ref: '#/components/schemas/ImportOperationRejectedEventData' ImportUnresolvedEvent: allOf: - $ref: '#/components/schemas/Event' - type: "object" required: - data - resourceType properties: id: type: "string" notificationType: type: "string" resourceType: $ref: '#/components/schemas/EventSubscriptionResourceTypeId' type: $ref: '#/components/schemas/EventType' createdAt: type: "string" format: "datetime" data: $ref: '#/components/schemas/ImportUnresolvedEventData' ImportValidationFailedEvent: allOf: - $ref: '#/components/schemas/Event' - type: "object" required: - data - resourceType properties: id: type: "string" notificationType: type: "string" resourceType: $ref: '#/components/schemas/EventSubscriptionResourceTypeId' type: $ref: '#/components/schemas/EventType' createdAt: type: "string" format: "datetime" data: $ref: '#/components/schemas/ImportValidationFailedEventData' ImportWaitForMasterVariantEvent: allOf: - $ref: '#/components/schemas/Event' - type: "object" required: - data - resourceType properties: id: type: "string" notificationType: type: "string" resourceType: $ref: '#/components/schemas/EventSubscriptionResourceTypeId' type: $ref: '#/components/schemas/EventType' createdAt: type: "string" format: "datetime" data: $ref: '#/components/schemas/ImportWaitForMasterVariantEventData' AWSLambdaDestination: allOf: - $ref: '#/components/schemas/ExtensionDestination' - type: "object" required: - accessKey - accessSecret - arn properties: type: type: "string" arn: type: "string" accessKey: type: "string" accessSecret: type: "string" AuthorizationHeaderAuthentication: allOf: - $ref: '#/components/schemas/HttpDestinationAuthentication' - type: "object" required: - headerValue properties: type: type: "string" headerValue: type: "string" AzureFunctionsAuthentication: allOf: - $ref: '#/components/schemas/HttpDestinationAuthentication' - type: "object" required: - key properties: type: type: "string" key: type: "string" Extension: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - createdAt - destination - id - lastModifiedAt - triggers - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' key: type: "string" destination: $ref: '#/components/schemas/ExtensionDestination' triggers: type: "array" items: $ref: '#/components/schemas/ExtensionTrigger' timeoutInMs: type: "integer" format: "int32" dependencies: type: "array" items: $ref: '#/components/schemas/ExtensionReference' expansionPaths: type: "array" items: type: "string" additionalContext: $ref: '#/components/schemas/ExtensionAdditionalContext' ExtensionAction: type: "string" enum: - Create - Update x-annotation-package: "Extension" x-annotation-enumDescriptions: Create: "An Extension gets called during a Create request." Update: "An Extension gets called during an Update request." ExtensionAdditionalContext: type: "object" required: - includeOldResource properties: includeOldResource: type: "boolean" ExtensionAdditionalContextDraft: type: "object" properties: includeOldResource: type: "boolean" ExtensionDestination: type: "object" discriminator: propertyName: type mapping: AWSLambda: '#/components/schemas/AWSLambdaDestination' GoogleCloudFunction: '#/components/schemas/GoogleCloudFunctionDestination' HTTP: '#/components/schemas/HttpDestination' required: - type properties: type: type: "string" ExtensionDraft: type: "object" required: - destination - triggers properties: key: type: "string" destination: $ref: '#/components/schemas/ExtensionDestination' triggers: type: "array" items: $ref: '#/components/schemas/ExtensionTrigger' timeoutInMs: type: "integer" format: "int32" dependencies: type: "array" items: $ref: '#/components/schemas/ExtensionResourceIdentifier' expansionPaths: type: "array" items: type: "string" additionalContext: $ref: '#/components/schemas/ExtensionAdditionalContextDraft' ExtensionInput: type: "object" required: - action - resource properties: action: $ref: '#/components/schemas/ExtensionAction' resource: $ref: '#/components/schemas/Reference' oldResource: $ref: '#/components/schemas/Reference' ExtensionPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/Extension' ExtensionReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/Extension' ExtensionResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" ExtensionResourceTypeId: type: "string" enum: - cart - order - payment - payment-method - customer - customer-group - quote-request - staged-quote - quote - business-unit - shopping-list x-annotation-package: "Extension" x-annotation-enumDescriptions: cart: "Extension triggered for operations on [Carts](/api/projects/carts)." order: "Extension triggered for operations on [Orders](/api/projects/orders)." payment: "Extension triggered for operations on [Payments](/api/projects/payments)." payment-method: "Extension triggered for operations on [PaymentMethods](/api/projects/payment-methods)" customer: "Extension triggered for operations on [Customers](/api/projects/customers)." customer-group: "Extension triggered for operations on [CustomerGroups](/api/projects/customerGroups)." quote-request: "Extension triggered for operations on [QuoteRequests](/api/projects/quote-requests)." staged-quote: "Extension triggered for operations on [StagedQuotes](/api/projects/staged-quotes)." quote: "Extension triggered for operations on [Quotes](/api/projects/quotes)." business-unit: "Extension triggered for operations on [BusinessUnits](/api/projects/business-units)." shopping-list: "Extension triggered for operations on [ShoppingLists](/api/projects/shoppingLists)." ExtensionTrigger: type: "object" required: - actions - resourceTypeId properties: resourceTypeId: $ref: '#/components/schemas/ExtensionResourceTypeId' actions: type: "array" items: $ref: '#/components/schemas/ExtensionAction' condition: type: "string" ExtensionUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/ExtensionUpdateAction' ExtensionUpdateAction: type: "object" discriminator: propertyName: action mapping: changeDestination: '#/components/schemas/ExtensionChangeDestinationAction' changeTriggers: '#/components/schemas/ExtensionChangeTriggersAction' setAdditionalContext: '#/components/schemas/ExtensionSetAdditionalContextAction' setDependencies: '#/components/schemas/ExtensionSetDependenciesAction' setExpansionPaths: '#/components/schemas/ExtensionSetExpansionPathsAction' setKey: '#/components/schemas/ExtensionSetKeyAction' setTimeoutInMs: '#/components/schemas/ExtensionSetTimeoutInMsAction' required: - action properties: action: type: "string" GoogleCloudFunctionDestination: allOf: - $ref: '#/components/schemas/ExtensionDestination' - type: "object" required: - url properties: type: type: "string" url: type: "string" HttpDestination: allOf: - $ref: '#/components/schemas/ExtensionDestination' - type: "object" required: - url properties: type: type: "string" url: type: "string" authentication: $ref: '#/components/schemas/HttpDestinationAuthentication' HttpDestinationAuthentication: type: "object" discriminator: propertyName: type mapping: AuthorizationHeader: '#/components/schemas/AuthorizationHeaderAuthentication' AzureFunctions: '#/components/schemas/AzureFunctionsAuthentication' required: - type properties: type: type: "string" ExtensionChangeDestinationAction: allOf: - $ref: '#/components/schemas/ExtensionUpdateAction' - type: "object" required: - destination properties: action: type: "string" destination: $ref: '#/components/schemas/ExtensionDestination' ExtensionChangeTriggersAction: allOf: - $ref: '#/components/schemas/ExtensionUpdateAction' - type: "object" required: - triggers properties: action: type: "string" triggers: type: "array" items: $ref: '#/components/schemas/ExtensionTrigger' ExtensionSetAdditionalContextAction: allOf: - $ref: '#/components/schemas/ExtensionUpdateAction' - type: "object" required: - additionalContext properties: action: type: "string" additionalContext: $ref: '#/components/schemas/ExtensionAdditionalContextDraft' ExtensionSetDependenciesAction: allOf: - $ref: '#/components/schemas/ExtensionUpdateAction' - type: "object" required: - dependencies properties: action: type: "string" dependencies: type: "array" items: $ref: '#/components/schemas/ExtensionResourceIdentifier' ExtensionSetExpansionPathsAction: allOf: - $ref: '#/components/schemas/ExtensionUpdateAction' - type: "object" required: - expansionPaths properties: action: type: "string" expansionPaths: type: "array" items: type: "string" ExtensionSetKeyAction: allOf: - $ref: '#/components/schemas/ExtensionUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" ExtensionSetTimeoutInMsAction: allOf: - $ref: '#/components/schemas/ExtensionUpdateAction' - type: "object" properties: action: type: "string" timeoutInMs: type: "integer" format: "int32" GraphQLError: type: "object" required: - extensions - locations - message properties: message: type: "string" locations: type: "array" items: $ref: '#/components/schemas/GraphQLErrorLocation' path: type: "array" items: {} extensions: $ref: '#/components/schemas/GraphQLErrorObject' GraphQLErrorLocation: type: "object" required: - column - line properties: line: type: "integer" format: "int64" column: type: "integer" format: "int64" GraphQLRequest: type: "object" required: - query properties: query: type: "string" operationName: type: "string" variables: $ref: '#/components/schemas/GraphQLVariablesMap' GraphQLResponse: type: "object" properties: data: {} errors: type: "array" items: $ref: '#/components/schemas/GraphQLError' GraphQLVariablesMap: type: "object" required: - // additionalProperties: type: "string" InventoryEntry: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - availableQuantity - createdAt - id - lastModifiedAt - quantityOnStock - sku - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' key: type: "string" sku: type: "string" supplyChannel: $ref: '#/components/schemas/ChannelReference' quantityOnStock: type: "integer" format: "int64" availableQuantity: type: "integer" format: "int64" minCartQuantity: type: "integer" format: "int32" maxCartQuantity: type: "integer" format: "int32" restockableInDays: type: "integer" format: "int64" expectedDelivery: type: "string" format: "datetime" reservationExpirationInMinutes: type: "integer" format: "int32" stockLevels: $ref: '#/components/schemas/InventoryEntryStockLevels' custom: $ref: '#/components/schemas/CustomFields' InventoryEntryDraft: type: "object" required: - quantityOnStock - sku properties: sku: type: "string" key: type: "string" supplyChannel: $ref: '#/components/schemas/ChannelResourceIdentifier' quantityOnStock: type: "integer" format: "int64" minCartQuantity: type: "integer" format: "int32" maxCartQuantity: type: "integer" format: "int32" restockableInDays: type: "integer" format: "int64" expectedDelivery: type: "string" format: "datetime" reservationExpirationInMinutes: type: "integer" format: "int32" stockLevels: $ref: '#/components/schemas/InventoryEntryStockLevels' custom: $ref: '#/components/schemas/CustomFieldsDraft' InventoryEntryReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/InventoryEntry' InventoryEntryResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" InventoryEntryStockLevels: type: "object" properties: reorderPoint: type: "integer" format: "int32" safetyStock: type: "integer" format: "int32" InventoryEntryUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/InventoryEntryUpdateAction' InventoryEntryUpdateAction: type: "object" discriminator: propertyName: action mapping: addQuantity: '#/components/schemas/InventoryEntryAddQuantityAction' changeQuantity: '#/components/schemas/InventoryEntryChangeQuantityAction' removeQuantity: '#/components/schemas/InventoryEntryRemoveQuantityAction' setCustomField: '#/components/schemas/InventoryEntrySetCustomFieldAction' setCustomType: '#/components/schemas/InventoryEntrySetCustomTypeAction' setExpectedDelivery: '#/components/schemas/InventoryEntrySetExpectedDeliveryAction' setInventoryLimits: '#/components/schemas/InventoryEntrySetInventoryLimitsAction' setKey: '#/components/schemas/InventoryEntrySetKeyAction' setReorderPoint: '#/components/schemas/InventoryEntrySetReorderPointAction' setReservationExpirationInMinutes: '#/components/schemas/InventoryEntrySetReservationExpirationInMinutesAction' setRestockableInDays: '#/components/schemas/InventoryEntrySetRestockableInDaysAction' setSafetyStock: '#/components/schemas/InventoryEntrySetSafetyStockAction' setSupplyChannel: '#/components/schemas/InventoryEntrySetSupplyChannelAction' required: - action properties: action: type: "string" InventoryPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/InventoryEntry' InventoryEntryAddQuantityAction: allOf: - $ref: '#/components/schemas/InventoryEntryUpdateAction' - type: "object" required: - quantity properties: action: type: "string" quantity: type: "integer" format: "int64" InventoryEntryChangeQuantityAction: allOf: - $ref: '#/components/schemas/InventoryEntryUpdateAction' - type: "object" required: - quantity properties: action: type: "string" quantity: type: "integer" format: "int64" InventoryEntryRemoveQuantityAction: allOf: - $ref: '#/components/schemas/InventoryEntryUpdateAction' - type: "object" required: - quantity properties: action: type: "string" quantity: type: "integer" format: "int64" InventoryEntrySetCustomFieldAction: allOf: - $ref: '#/components/schemas/InventoryEntryUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} InventoryEntrySetCustomTypeAction: allOf: - $ref: '#/components/schemas/InventoryEntryUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' InventoryEntrySetExpectedDeliveryAction: allOf: - $ref: '#/components/schemas/InventoryEntryUpdateAction' - type: "object" properties: action: type: "string" expectedDelivery: type: "string" format: "datetime" InventoryEntrySetInventoryLimitsAction: allOf: - $ref: '#/components/schemas/InventoryEntryUpdateAction' - type: "object" properties: action: type: "string" minCartQuantity: type: "integer" format: "int64" maxCartQuantity: type: "integer" format: "int64" InventoryEntrySetKeyAction: allOf: - $ref: '#/components/schemas/InventoryEntryUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" InventoryEntrySetReorderPointAction: allOf: - $ref: '#/components/schemas/InventoryEntryUpdateAction' - type: "object" properties: action: type: "string" quantity: type: "integer" format: "int32" InventoryEntrySetReservationExpirationInMinutesAction: allOf: - $ref: '#/components/schemas/InventoryEntryUpdateAction' - type: "object" properties: action: type: "string" reservationExpirationInMinutes: type: "integer" format: "int32" InventoryEntrySetRestockableInDaysAction: allOf: - $ref: '#/components/schemas/InventoryEntryUpdateAction' - type: "object" properties: action: type: "string" restockableInDays: type: "integer" format: "int64" InventoryEntrySetSafetyStockAction: allOf: - $ref: '#/components/schemas/InventoryEntryUpdateAction' - type: "object" properties: action: type: "string" quantity: type: "integer" format: "int32" InventoryEntrySetSupplyChannelAction: allOf: - $ref: '#/components/schemas/InventoryEntryUpdateAction' - type: "object" properties: action: type: "string" supplyChannel: $ref: '#/components/schemas/ChannelResourceIdentifier' CommerceMcpServerConfig: allOf: - $ref: '#/components/schemas/McpServerConfig' - type: "object" required: - majorVersion - toolCustomizations - tools - url properties: type: type: "string" majorVersion: type: "string" url: type: "string" tools: type: "array" items: $ref: '#/components/schemas/McpServerTool' toolCustomizations: type: "array" items: $ref: '#/components/schemas/ToolCustomization' jsonOutputFiltering: $ref: '#/components/schemas/McpServerJsonOutputFiltering' toolOutputFormatting: $ref: '#/components/schemas/McpServerToolOutputFormatting' CommerceMcpServerConfigDraft: allOf: - $ref: '#/components/schemas/McpServerConfigDraft' - type: "object" required: - majorVersion - tools properties: type: type: "string" majorVersion: type: "string" tools: type: "array" items: $ref: '#/components/schemas/McpServerTool' toolCustomizations: type: "array" items: $ref: '#/components/schemas/ToolCustomization' jsonOutputFiltering: $ref: '#/components/schemas/McpServerJsonOutputFiltering' toolOutputFormatting: $ref: '#/components/schemas/McpServerToolOutputFormatting' McpServer: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - authenticationMode - createdAt - id - key - lastModifiedAt - mcpServer - state - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' key: type: "string" name: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' authenticationMode: $ref: '#/components/schemas/McpServerAuthenticationMode' state: $ref: '#/components/schemas/McpServerState' mcpServer: $ref: '#/components/schemas/McpServerConfig' McpServerAuthenticationMode: type: "string" enum: - ClientCredentials - CommercetoolsIdentity x-annotation-package: "McpServer" x-annotation-enumDescriptions: ClientCredentials: "AI agents authenticate with an [API Client](ctp:api:type:ApiClient) using the client credentials flow. The MCP Server exposes every configured tool. Use this mode for machine-to-machine scenarios.n" CommercetoolsIdentity: "Users sign in with an [Identity account](/docs/identity/overview), the same account that is used for the Merchant Center. The MCP Server exposes only the configured tools that the Merchant Center permissions of the user who signs in allow. Use this mode for human-in-the-loop scenarios.n" McpServerConfig: type: "object" discriminator: propertyName: type mapping: CommerceMCP: '#/components/schemas/CommerceMcpServerConfig' required: - type properties: type: type: "string" McpServerConfigDraft: type: "object" discriminator: propertyName: type mapping: CommerceMCP: '#/components/schemas/CommerceMcpServerConfigDraft' required: - type properties: type: type: "string" McpServerDraft: type: "object" required: - key - mcpServer properties: key: type: "string" name: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' authenticationMode: $ref: '#/components/schemas/McpServerAuthenticationMode' state: $ref: '#/components/schemas/McpServerState' mcpServer: $ref: '#/components/schemas/McpServerConfigDraft' McpServerJsonOutputFiltering: type: "object" properties: redact: $ref: '#/components/schemas/McpServerJsonOutputFilteringMatcher' drop: $ref: '#/components/schemas/McpServerJsonOutputFilteringMatcher' fieldPathsToKeep: type: "array" items: type: "string" redactedWith: type: "string" McpServerJsonOutputFilteringMatcher: type: "object" properties: fieldPaths: type: "array" items: type: "string" fieldNames: type: "array" items: type: "string" fieldNameContains: type: "array" items: type: "string" McpServerPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/McpServer' McpServerState: type: "string" enum: - Enabled - Disabled x-annotation-package: "McpServer" x-annotation-enumDescriptions: Enabled: "The MCP Server is active and accepts AI agent tool requests.n" Disabled: "The MCP Server rejects all AI agent tool requests while keeping its configuration editable.n" McpServerTool: type: "string" enum: - all - read_all - create_applications - read_applications - update_applications - create_attribute_groups - read_attribute_groups - update_attribute_groups - create_bulk - update_bulk - create_business_units - read_business_units - update_business_units - create_cart_discounts - read_cart_discounts - update_cart_discounts - create_carts - read_carts - update_carts - replicate_carts - create_categories - read_categories - update_categories - create_channels - read_channels - update_channels - create_custom_objects - read_custom_objects - update_custom_objects - create_customer_groups - read_customer_groups - update_customer_groups - read_customer_search - create_customers - read_customers - update_customers - create_discount_codes - read_discount_codes - update_discount_codes - create_extensions - read_extensions - update_extensions - create_inventory - read_inventory - update_inventory - read_messages - create_orders - read_orders - update_orders - create_payment_integrations - read_payment_integrations - update_payment_integrations - update_payment_intents - create_payment_methods - read_payment_methods - update_payment_methods - create_payments - read_payments - update_payments - create_product_discounts - read_product_discounts - update_product_discounts - read_product_projections - read_product_search - create_product_selections - read_product_selections - update_product_selections - create_product_tailoring - read_product_tailoring - update_product_tailoring - create_product_types - read_product_types - update_product_types - create_products - read_products - update_products - read_project - update_project - create_quote_requests - read_quote_requests - update_quote_requests - create_quotes - read_quotes - update_quotes - create_recurring_orders - read_recurring_orders - update_recurring_orders - create_reviews - read_reviews - update_reviews - create_shipping_methods - read_shipping_methods - update_shipping_methods - create_shopping_lists - read_shopping_lists - update_shopping_lists - create_staged_quotes - read_staged_quotes - update_staged_quotes - create_standalone_prices - read_standalone_prices - update_standalone_prices - create_states - read_states - update_states - create_stores - read_stores - update_stores - create_subscriptions - read_subscriptions - update_subscriptions - create_tax_categories - read_tax_categories - update_tax_categories - create_transactions - read_transactions - create_types - read_types - update_types - create_zones - read_zones - update_zones x-annotation-package: "McpServer" x-annotation-enumDescriptions: all: "Enables all available tools, including read, create, and update operations. For security and performance, enable this only when broad access is required.n" read_all: "Enables all read-only tools.n" create_applications: "Creates Applications.n" read_applications: "Reads Applications.n" update_applications: "Updates Applications.n" create_attribute_groups: "Creates Attribute Groups.n" read_attribute_groups: "Reads Attribute Groups.n" update_attribute_groups: "Updates Attribute Groups.n" create_bulk: "Creates resources in bulk.n" update_bulk: "Updates resources in bulk.n" create_business_units: "Creates Business Units.n" read_business_units: "Reads Business Units.n" update_business_units: "Updates Business Units.n" create_cart_discounts: "Creates Cart Discounts.n" read_cart_discounts: "Reads Cart Discounts.n" update_cart_discounts: "Updates Cart Discounts.n" create_carts: "Creates Carts.n" read_carts: "Reads Carts.n" update_carts: "Updates Carts.n" replicate_carts: "Replicates an existing Cart or Order into a new Cart.n" create_categories: "Creates Categories.n" read_categories: "Reads Categories.n" update_categories: "Updates Categories.n" create_channels: "Creates Channels.n" read_channels: "Reads Channels.n" update_channels: "Updates Channels.n" create_custom_objects: "Creates Custom Objects.n" read_custom_objects: "Reads Custom Objects.n" update_custom_objects: "Updates Custom Objects.n" create_customer_groups: "Creates Customer Groups.n" read_customer_groups: "Reads Customer Groups.n" update_customer_groups: "Updates Customer Groups.n" read_customer_search: "Searches for Customers.n" create_customers: "Creates Customers.n" read_customers: "Reads Customers.n" update_customers: "Updates Customers.n" create_discount_codes: "Creates Discount Codes.n" read_discount_codes: "Reads Discount Codes.n" update_discount_codes: "Updates Discount Codes.n" create_extensions: "Creates API Extensions.n" read_extensions: "Reads API Extensions.n" update_extensions: "Updates API Extensions.n" create_inventory: "Creates Inventory.n" read_inventory: "Reads Inventory.n" update_inventory: "Updates Inventory.n" read_messages: "Reads Messages.n" create_orders: "Creates Orders.n" read_orders: "Reads Orders.n" update_orders: "Updates Orders.n" create_payment_integrations: "Creates Payment Integrations.n" read_payment_integrations: "Reads Payment Integrations.n" update_payment_integrations: "Updates Payment Integrations.n" update_payment_intents: "Updates Payment Intents.n" create_payment_methods: "Creates Payment Methods.n" read_payment_methods: "Reads Payment Methods.n" update_payment_methods: "Updates Payment Methods.n" create_payments: "Creates Payments.n" read_payments: "Reads Payments.n" update_payments: "Updates Payments.n" create_product_discounts: "Creates Product Discounts.n" read_product_discounts: "Reads Product Discounts.n" update_product_discounts: "Updates Product Discounts.n" read_product_projections: "Reads Product Projections.n" read_product_search: "Searches for Products.n" create_product_selections: "Creates Product Selections.n" read_product_selections: "Reads Product Selections.n" update_product_selections: "Updates Product Selections.n" create_product_tailoring: "Creates Product Tailoring.n" read_product_tailoring: "Reads Product Tailoring.n" update_product_tailoring: "Updates Product Tailoring.n" create_product_types: "Creates Product Types.n" read_product_types: "Reads Product Types.n" update_product_types: "Updates Product Types.n" create_products: "Creates Products.n" read_products: "Reads Products.n" update_products: "Updates Products.n" read_project: "Reads Project settings.n" update_project: "Updates Project settings.n" create_quote_requests: "Creates Quote Requests.n" read_quote_requests: "Reads Quote Requests.n" update_quote_requests: "Updates Quote Requests.n" create_quotes: "Creates Quotes.n" read_quotes: "Reads Quotes.n" update_quotes: "Updates Quotes.n" create_recurring_orders: "Creates Recurring Orders.n" read_recurring_orders: "Reads Recurring Orders.n" update_recurring_orders: "Updates Recurring Orders.n" create_reviews: "Creates Reviews.n" read_reviews: "Reads Reviews.n" update_reviews: "Updates Reviews.n" create_shipping_methods: "Creates Shipping Methods.n" read_shipping_methods: "Reads Shipping Methods.n" update_shipping_methods: "Updates Shipping Methods.n" create_shopping_lists: "Creates Shopping Lists.n" read_shopping_lists: "Reads Shopping Lists.n" update_shopping_lists: "Updates Shopping Lists.n" create_staged_quotes: "Creates Staged Quotes.n" read_staged_quotes: "Reads Staged Quotes.n" update_staged_quotes: "Updates Staged Quotes.n" create_standalone_prices: "Creates Standalone Prices.n" read_standalone_prices: "Reads Standalone Prices.n" update_standalone_prices: "Updates Standalone Prices.n" create_states: "Creates States.n" read_states: "Reads States.n" update_states: "Updates States.n" create_stores: "Creates Stores.n" read_stores: "Reads Stores.n" update_stores: "Updates Stores.n" create_subscriptions: "Creates Subscriptions.n" read_subscriptions: "Reads Subscriptions.n" update_subscriptions: "Updates Subscriptions.n" create_tax_categories: "Creates Tax Categories.n" read_tax_categories: "Reads Tax Categories.n" update_tax_categories: "Updates Tax Categories.n" create_transactions: "Creates Transactions.n" read_transactions: "Reads Transactions.n" create_types: "Creates Types.n" read_types: "Reads Types.n" update_types: "Updates Types.n" create_zones: "Creates Zones.n" read_zones: "Reads Zones.n" update_zones: "Updates Zones.n" McpServerToolOutputFormatting: type: "string" enum: - JsonToTabular x-annotation-package: "McpServer" x-annotation-enumDescriptions: JsonToTabular: "Converts JSON tool output into a tabular representation to reduce token count.n" McpServerType: type: "object" required: - majorVersion - tools - type properties: type: type: "string" majorVersion: type: "string" tools: type: "array" items: $ref: '#/components/schemas/McpServerTypeTool' McpServerTypeTool: type: "object" required: - name properties: name: type: "string" description: type: "string" operationType: type: "string" groups: type: "array" items: type: "string" McpServerUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/McpServerUpdateAction' McpServerUpdateAction: type: "object" discriminator: propertyName: action mapping: addTool: '#/components/schemas/McpServerAddToolAction' addToolCustomization: '#/components/schemas/McpServerAddToolCustomizationAction' removeTool: '#/components/schemas/McpServerRemoveToolAction' removeToolCustomization: '#/components/schemas/McpServerRemoveToolCustomizationAction' setAuthenticationMode: '#/components/schemas/McpServerSetAuthenticationModeAction' setDescription: '#/components/schemas/McpServerSetDescriptionAction' setJsonOutputFiltering: '#/components/schemas/McpServerSetJsonOutputFilteringAction' setName: '#/components/schemas/McpServerSetNameAction' setState: '#/components/schemas/McpServerSetStateAction' setToolCustomizations: '#/components/schemas/McpServerSetToolCustomizationsAction' setToolOutputFormatting: '#/components/schemas/McpServerSetToolOutputFormattingAction' setTools: '#/components/schemas/McpServerSetToolsAction' required: - action properties: action: type: "string" ParameterOverride: type: "object" required: - name properties: name: type: "string" description: type: "string" const: {} default: {} allowedTypes: type: "array" items: {} RemoveToolCustomizationTarget: type: "object" required: - tool properties: tool: $ref: '#/components/schemas/McpServerTool' ToolCustomization: type: "object" required: - tool properties: tool: $ref: '#/components/schemas/McpServerTool' description: type: "string" parameters: type: "array" items: $ref: '#/components/schemas/ParameterOverride' McpServerAddToolAction: allOf: - $ref: '#/components/schemas/McpServerUpdateAction' - type: "object" required: - tool properties: action: type: "string" tool: $ref: '#/components/schemas/McpServerTool' McpServerAddToolCustomizationAction: allOf: - $ref: '#/components/schemas/McpServerUpdateAction' - type: "object" required: - toolCustomization properties: action: type: "string" toolCustomization: $ref: '#/components/schemas/ToolCustomization' McpServerRemoveToolAction: allOf: - $ref: '#/components/schemas/McpServerUpdateAction' - type: "object" required: - tool properties: action: type: "string" tool: $ref: '#/components/schemas/McpServerTool' McpServerRemoveToolCustomizationAction: allOf: - $ref: '#/components/schemas/McpServerUpdateAction' - type: "object" required: - toolCustomization properties: action: type: "string" toolCustomization: $ref: '#/components/schemas/RemoveToolCustomizationTarget' McpServerSetAuthenticationModeAction: allOf: - $ref: '#/components/schemas/McpServerUpdateAction' - type: "object" required: - authenticationMode properties: action: type: "string" authenticationMode: $ref: '#/components/schemas/McpServerAuthenticationMode' McpServerSetDescriptionAction: allOf: - $ref: '#/components/schemas/McpServerUpdateAction' - type: "object" properties: action: type: "string" description: $ref: '#/components/schemas/LocalizedString' McpServerSetJsonOutputFilteringAction: allOf: - $ref: '#/components/schemas/McpServerUpdateAction' - type: "object" properties: action: type: "string" jsonOutputFiltering: $ref: '#/components/schemas/McpServerJsonOutputFiltering' McpServerSetNameAction: allOf: - $ref: '#/components/schemas/McpServerUpdateAction' - type: "object" properties: action: type: "string" name: $ref: '#/components/schemas/LocalizedString' McpServerSetStateAction: allOf: - $ref: '#/components/schemas/McpServerUpdateAction' - type: "object" required: - state properties: action: type: "string" state: $ref: '#/components/schemas/McpServerState' McpServerSetToolCustomizationsAction: allOf: - $ref: '#/components/schemas/McpServerUpdateAction' - type: "object" required: - toolCustomizations properties: action: type: "string" toolCustomizations: type: "array" items: $ref: '#/components/schemas/ToolCustomization' McpServerSetToolOutputFormattingAction: allOf: - $ref: '#/components/schemas/McpServerUpdateAction' - type: "object" properties: action: type: "string" toolOutputFormatting: $ref: '#/components/schemas/McpServerToolOutputFormatting' McpServerSetToolsAction: allOf: - $ref: '#/components/schemas/McpServerUpdateAction' - type: "object" required: - tools properties: action: type: "string" tools: type: "array" items: $ref: '#/components/schemas/McpServerTool' MyBusinessUnitAssociateDraft: type: "object" required: - associateRoleAssignments - customer - version properties: version: type: "integer" format: "int64" customer: $ref: '#/components/schemas/MyCustomerDraft' associateRoleAssignments: type: "array" items: $ref: '#/components/schemas/AssociateRoleAssignmentDraft' MyBusinessUnitDraft: type: "object" discriminator: propertyName: unitType mapping: Company: '#/components/schemas/MyCompanyDraft' Division: '#/components/schemas/MyDivisionDraft' required: - key - name - unitType properties: key: type: "string" unitType: $ref: '#/components/schemas/BusinessUnitType' name: type: "string" contactEmail: type: "string" custom: $ref: '#/components/schemas/CustomFieldsDraft' addresses: type: "array" items: $ref: '#/components/schemas/BaseAddress' shippingAddresses: type: "array" items: type: "integer" format: "int32" defaultShippingAddress: type: "integer" format: "int32" billingAddresses: type: "array" items: type: "integer" format: "int32" defaultBillingAddress: type: "integer" format: "int32" MyBusinessUnitUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/MyBusinessUnitUpdateAction' MyBusinessUnitUpdateAction: type: "object" discriminator: propertyName: action mapping: addAddress: '#/components/schemas/MyBusinessUnitAddAddressAction' addBillingAddressId: '#/components/schemas/MyBusinessUnitAddBillingAddressIdAction' addShippingAddressId: '#/components/schemas/MyBusinessUnitAddShippingAddressIdAction' changeAddress: '#/components/schemas/MyBusinessUnitChangeAddressAction' changeAssociate: '#/components/schemas/MyBusinessUnitChangeAssociateAction' changeName: '#/components/schemas/MyBusinessUnitChangeNameAction' changeParentUnit: '#/components/schemas/MyBusinessUnitChangeParentUnitAction' removeAddress: '#/components/schemas/MyBusinessUnitRemoveAddressAction' removeAssociate: '#/components/schemas/MyBusinessUnitRemoveAssociateAction' removeBillingAddressId: '#/components/schemas/MyBusinessUnitRemoveBillingAddressIdAction' removeShippingAddressId: '#/components/schemas/MyBusinessUnitRemoveShippingAddressIdAction' setAddressCustomField: '#/components/schemas/MyBusinessUnitSetAddressCustomFieldAction' setAddressCustomType: '#/components/schemas/MyBusinessUnitSetAddressCustomTypeAction' setContactEmail: '#/components/schemas/MyBusinessUnitSetContactEmailAction' setCustomField: '#/components/schemas/MyBusinessUnitSetCustomFieldAction' setCustomType: '#/components/schemas/MyBusinessUnitSetCustomTypeAction' setDefaultBillingAddress: '#/components/schemas/MyBusinessUnitSetDefaultBillingAddressAction' setDefaultShippingAddress: '#/components/schemas/MyBusinessUnitSetDefaultShippingAddressAction' required: - action properties: action: type: "string" MyCartDraft: type: "object" required: - currency properties: currency: $ref: '#/components/schemas/CurrencyCode' customerEmail: type: "string" businessUnit: $ref: '#/components/schemas/BusinessUnitResourceIdentifier' store: $ref: '#/components/schemas/StoreResourceIdentifier' lineItems: type: "array" items: $ref: '#/components/schemas/MyLineItemDraft' taxMode: $ref: '#/components/schemas/TaxMode' inventoryMode: $ref: '#/components/schemas/InventoryMode' billingAddress: $ref: '#/components/schemas/BaseAddress' shippingAddress: $ref: '#/components/schemas/BaseAddress' shippingMethod: $ref: '#/components/schemas/ShippingMethodResourceIdentifier' itemShippingAddresses: type: "array" items: $ref: '#/components/schemas/BaseAddress' shippingMode: $ref: '#/components/schemas/ShippingMode' discountCodes: type: "array" items: type: "string" country: $ref: '#/components/schemas/CountryCode' locale: $ref: '#/components/schemas/Locale' deleteDaysAfterLastModification: type: "integer" format: "int64" custom: $ref: '#/components/schemas/CustomFieldsDraft' MyCartUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/MyCartUpdateAction' MyCartUpdateAction: type: "object" discriminator: propertyName: action mapping: addDiscountCode: '#/components/schemas/MyCartAddDiscountCodeAction' addItemShippingAddress: '#/components/schemas/MyCartAddItemShippingAddressAction' addLineItem: '#/components/schemas/MyCartAddLineItemAction' addPayment: '#/components/schemas/MyCartAddPaymentAction' applyDeltaToLineItemShippingDetailsTargets: '#/components/schemas/MyCartApplyDeltaToLineItemShippingDetailsTargetsAction' changeLineItemQuantity: '#/components/schemas/MyCartChangeLineItemQuantityAction' changeLineItemsOrder: '#/components/schemas/MyCartChangeLineItemsOrderAction' changeTaxMode: '#/components/schemas/MyCartChangeTaxModeAction' recalculate: '#/components/schemas/MyCartRecalculateAction' removeDiscountCode: '#/components/schemas/MyCartRemoveDiscountCodeAction' removeItemShippingAddress: '#/components/schemas/MyCartRemoveItemShippingAddressAction' removeLineItem: '#/components/schemas/MyCartRemoveLineItemAction' removePayment: '#/components/schemas/MyCartRemovePaymentAction' setBillingAddress: '#/components/schemas/MyCartSetBillingAddressAction' setBusinessUnit: '#/components/schemas/MyCartSetBusinessUnitAction' setCountry: '#/components/schemas/MyCartSetCountryAction' setCustomField: '#/components/schemas/MyCartSetCustomFieldAction' setCustomType: '#/components/schemas/MyCartSetCustomTypeAction' setCustomerEmail: '#/components/schemas/MyCartSetCustomerEmailAction' setDeleteDaysAfterLastModification: '#/components/schemas/MyCartSetDeleteDaysAfterLastModificationAction' setLineItemCustomField: '#/components/schemas/MyCartSetLineItemCustomFieldAction' setLineItemCustomType: '#/components/schemas/MyCartSetLineItemCustomTypeAction' setLineItemDistributionChannel: '#/components/schemas/MyCartSetLineItemDistributionChannelAction' setLineItemShippingDetails: '#/components/schemas/MyCartSetLineItemShippingDetailsAction' setLineItemSupplyChannel: '#/components/schemas/MyCartSetLineItemSupplyChannelAction' setLocale: '#/components/schemas/MyCartSetLocaleAction' setShippingAddress: '#/components/schemas/MyCartSetShippingAddressAction' setShippingMethod: '#/components/schemas/MyCartSetShippingMethodAction' updateItemShippingAddress: '#/components/schemas/MyCartUpdateItemShippingAddressAction' required: - action properties: action: type: "string" MyCompanyDraft: allOf: - $ref: '#/components/schemas/MyBusinessUnitDraft' - type: "object" properties: key: type: "string" unitType: $ref: '#/components/schemas/BusinessUnitType' name: type: "string" contactEmail: type: "string" custom: $ref: '#/components/schemas/CustomFieldsDraft' addresses: type: "array" items: $ref: '#/components/schemas/BaseAddress' shippingAddresses: type: "array" items: type: "integer" format: "int32" defaultShippingAddress: type: "integer" format: "int32" billingAddresses: type: "array" items: type: "integer" format: "int32" defaultBillingAddress: type: "integer" format: "int32" MyCustomerDraft: type: "object" required: - email - password properties: email: type: "string" password: type: "string" firstName: type: "string" lastName: type: "string" middleName: type: "string" title: type: "string" salutation: type: "string" dateOfBirth: type: "string" format: "date-only" companyName: type: "string" vatId: type: "string" addresses: type: "array" items: $ref: '#/components/schemas/BaseAddress' defaultShippingAddress: type: "integer" format: "int64" defaultBillingAddress: type: "integer" format: "int64" custom: $ref: '#/components/schemas/CustomFieldsDraft' locale: $ref: '#/components/schemas/Locale' stores: type: "array" items: $ref: '#/components/schemas/StoreResourceIdentifier' MyCustomerUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/MyCustomerUpdateAction' MyCustomerUpdateAction: type: "object" discriminator: propertyName: action mapping: addAddress: '#/components/schemas/MyCustomerAddAddressAction' addBillingAddressId: '#/components/schemas/MyCustomerAddBillingAddressIdAction' addShippingAddressId: '#/components/schemas/MyCustomerAddShippingAddressIdAction' changeAddress: '#/components/schemas/MyCustomerChangeAddressAction' changeEmail: '#/components/schemas/MyCustomerChangeEmailAction' removeAddress: '#/components/schemas/MyCustomerRemoveAddressAction' removeBillingAddressId: '#/components/schemas/MyCustomerRemoveBillingAddressIdAction' removeShippingAddressId: '#/components/schemas/MyCustomerRemoveShippingAddressIdAction' setCompanyName: '#/components/schemas/MyCustomerSetCompanyNameAction' setCustomField: '#/components/schemas/MyCustomerSetCustomFieldAction' setCustomType: '#/components/schemas/MyCustomerSetCustomTypeAction' setDateOfBirth: '#/components/schemas/MyCustomerSetDateOfBirthAction' setDefaultBillingAddress: '#/components/schemas/MyCustomerSetDefaultBillingAddressAction' setDefaultShippingAddress: '#/components/schemas/MyCustomerSetDefaultShippingAddressAction' setFirstName: '#/components/schemas/MyCustomerSetFirstNameAction' setLastName: '#/components/schemas/MyCustomerSetLastNameAction' setLocale: '#/components/schemas/MyCustomerSetLocaleAction' setMiddleName: '#/components/schemas/MyCustomerSetMiddleNameAction' setSalutation: '#/components/schemas/MyCustomerSetSalutationAction' setTitle: '#/components/schemas/MyCustomerSetTitleAction' setVatId: '#/components/schemas/MyCustomerSetVatIdAction' required: - action properties: action: type: "string" MyDivisionDraft: allOf: - $ref: '#/components/schemas/MyBusinessUnitDraft' - type: "object" required: - parentUnit properties: key: type: "string" unitType: $ref: '#/components/schemas/BusinessUnitType' name: type: "string" contactEmail: type: "string" custom: $ref: '#/components/schemas/CustomFieldsDraft' addresses: type: "array" items: $ref: '#/components/schemas/BaseAddress' shippingAddresses: type: "array" items: type: "integer" format: "int32" defaultShippingAddress: type: "integer" format: "int32" billingAddresses: type: "array" items: type: "integer" format: "int32" defaultBillingAddress: type: "integer" format: "int32" parentUnit: $ref: '#/components/schemas/BusinessUnitResourceIdentifier' MyLineItemDraft: type: "object" properties: key: type: "string" productId: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" quantity: type: "integer" format: "int64" addedAt: type: "string" format: "datetime" supplyChannel: $ref: '#/components/schemas/ChannelResourceIdentifier' distributionChannel: $ref: '#/components/schemas/ChannelResourceIdentifier' shippingDetails: $ref: '#/components/schemas/ItemShippingDetailsDraft' recurrenceInfo: $ref: '#/components/schemas/LineItemRecurrenceInfoDraft' custom: $ref: '#/components/schemas/CustomFieldsDraft' MyOrderFromCartDraft: type: "object" required: - id - version properties: id: type: "string" version: type: "integer" format: "int64" MyOrderFromQuoteDraft: type: "object" required: - id - version properties: id: type: "string" version: type: "integer" format: "int64" quoteStateToAccepted: type: "boolean" MyPayment: type: "object" required: - amountPlanned - id - paymentMethodInfo - transactions - version properties: id: type: "string" version: type: "integer" format: "int64" customer: $ref: '#/components/schemas/CustomerReference' anonymousId: type: "string" amountPlanned: $ref: '#/components/schemas/CentPrecisionMoney' paymentMethodInfo: $ref: '#/components/schemas/PaymentMethodInfo' transactions: type: "array" items: $ref: '#/components/schemas/Transaction' custom: $ref: '#/components/schemas/CustomFields' MyPaymentDraft: type: "object" required: - amountPlanned properties: amountPlanned: $ref: '#/components/schemas/Money' paymentMethodInfo: $ref: '#/components/schemas/PaymentMethodInfoDraft' custom: $ref: '#/components/schemas/CustomFieldsDraft' transaction: $ref: '#/components/schemas/MyTransactionDraft' MyPaymentPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" offset: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/MyPayment' MyPaymentUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/MyPaymentUpdateAction' MyPaymentUpdateAction: type: "object" discriminator: propertyName: action mapping: addTransaction: '#/components/schemas/MyPaymentAddTransactionAction' changeAmountPlanned: '#/components/schemas/MyPaymentChangeAmountPlannedAction' setCustomField: '#/components/schemas/MyPaymentSetCustomFieldAction' setMethodInfoCustomField: '#/components/schemas/MyPaymentSetMethodInfoCustomFieldAction' setMethodInfoCustomType: '#/components/schemas/MyPaymentSetMethodInfoCustomTypeAction' setMethodInfoInterfaceAccount: '#/components/schemas/MyPaymentSetMethodInfoInterfaceAccountAction' setMethodInfoInterface: '#/components/schemas/MyPaymentSetMethodInfoInterfaceAction' setMethodInfoMethod: '#/components/schemas/MyPaymentSetMethodInfoMethodAction' setMethodInfoName: '#/components/schemas/MyPaymentSetMethodInfoNameAction' setTransactionCustomField: '#/components/schemas/MyPaymentSetTransactionCustomFieldAction' required: - action properties: action: type: "string" MyQuoteRequestDraft: type: "object" required: - cartId - cartVersion properties: cartId: type: "string" cartVersion: type: "integer" format: "int64" comment: type: "string" MyQuoteRequestUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/MyQuoteRequestUpdateAction' MyQuoteRequestUpdateAction: type: "object" discriminator: propertyName: action mapping: cancelQuoteRequest: '#/components/schemas/MyQuoteRequestCancelAction' required: - action properties: action: type: "string" MyQuoteState: type: "string" enum: - Declined - Accepted x-annotation-package: "Me" x-annotation-enumDescriptions: Declined: "A state indicating that the [Buyer](/api/quotes-overview#buyer) has declined the [Quote](ctp:api:type:Quote).n" Accepted: "A state indicating that the [Buyer](/api/quotes-overview#buyer) has accepted the [Quote](ctp:api:type:Quote).n" MyQuoteUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/MyQuoteUpdateAction' MyQuoteUpdateAction: type: "object" discriminator: propertyName: action mapping: changeMyQuoteState: '#/components/schemas/MyQuoteChangeMyQuoteStateAction' required: - action properties: action: type: "string" MyShoppingListDraft: type: "object" required: - name properties: name: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' lineItems: type: "array" items: $ref: '#/components/schemas/ShoppingListLineItemDraft' textLineItems: type: "array" items: $ref: '#/components/schemas/TextLineItemDraft' custom: $ref: '#/components/schemas/CustomFieldsDraft' deleteDaysAfterLastModification: type: "integer" format: "int64" store: $ref: '#/components/schemas/StoreResourceIdentifier' MyShoppingListUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/MyShoppingListUpdateAction' MyShoppingListUpdateAction: type: "object" discriminator: propertyName: action mapping: addLineItem: '#/components/schemas/MyShoppingListAddLineItemAction' addTextLineItem: '#/components/schemas/MyShoppingListAddTextLineItemAction' changeLineItemQuantity: '#/components/schemas/MyShoppingListChangeLineItemQuantityAction' changeLineItemsOrder: '#/components/schemas/MyShoppingListChangeLineItemsOrderAction' changeName: '#/components/schemas/MyShoppingListChangeNameAction' changeTextLineItemName: '#/components/schemas/MyShoppingListChangeTextLineItemNameAction' changeTextLineItemQuantity: '#/components/schemas/MyShoppingListChangeTextLineItemQuantityAction' changeTextLineItemsOrder: '#/components/schemas/MyShoppingListChangeTextLineItemsOrderAction' removeLineItem: '#/components/schemas/MyShoppingListRemoveLineItemAction' removeTextLineItem: '#/components/schemas/MyShoppingListRemoveTextLineItemAction' setCustomField: '#/components/schemas/MyShoppingListSetCustomFieldAction' setCustomType: '#/components/schemas/MyShoppingListSetCustomTypeAction' setDeleteDaysAfterLastModification: '#/components/schemas/MyShoppingListSetDeleteDaysAfterLastModificationAction' setDescription: '#/components/schemas/MyShoppingListSetDescriptionAction' setLineItemCustomField: '#/components/schemas/MyShoppingListSetLineItemCustomFieldAction' setLineItemCustomType: '#/components/schemas/MyShoppingListSetLineItemCustomTypeAction' setTextLineItemCustomField: '#/components/schemas/MyShoppingListSetTextLineItemCustomFieldAction' setTextLineItemCustomType: '#/components/schemas/MyShoppingListSetTextLineItemCustomTypeAction' setTextLineItemDescription: '#/components/schemas/MyShoppingListSetTextLineItemDescriptionAction' required: - action properties: action: type: "string" MyTransactionDraft: type: "object" required: - amount - type properties: timestamp: type: "string" format: "datetime" type: $ref: '#/components/schemas/TransactionType' amount: $ref: '#/components/schemas/Money' interactionId: type: "string" custom: $ref: '#/components/schemas/CustomFieldsDraft' interfaceId: type: "string" ReplicaMyCartDraft: type: "object" required: - reference properties: reference: oneOf: - $ref: '#/components/schemas/CartReference' - $ref: '#/components/schemas/OrderReference' MyBusinessUnitAddAddressAction: allOf: - $ref: '#/components/schemas/MyBusinessUnitUpdateAction' - type: "object" required: - address properties: action: type: "string" address: $ref: '#/components/schemas/BaseAddress' MyBusinessUnitAddBillingAddressIdAction: allOf: - $ref: '#/components/schemas/MyBusinessUnitUpdateAction' - type: "object" properties: action: type: "string" addressId: type: "string" addressKey: type: "string" MyBusinessUnitAddShippingAddressIdAction: allOf: - $ref: '#/components/schemas/MyBusinessUnitUpdateAction' - type: "object" properties: action: type: "string" addressId: type: "string" addressKey: type: "string" MyBusinessUnitChangeAddressAction: allOf: - $ref: '#/components/schemas/MyBusinessUnitUpdateAction' - type: "object" required: - address properties: action: type: "string" addressId: type: "string" addressKey: type: "string" address: $ref: '#/components/schemas/BaseAddress' MyBusinessUnitChangeAssociateAction: allOf: - $ref: '#/components/schemas/MyBusinessUnitUpdateAction' - type: "object" required: - associate properties: action: type: "string" associate: $ref: '#/components/schemas/AssociateDraft' MyBusinessUnitChangeNameAction: allOf: - $ref: '#/components/schemas/MyBusinessUnitUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" MyBusinessUnitChangeParentUnitAction: allOf: - $ref: '#/components/schemas/MyBusinessUnitUpdateAction' - type: "object" required: - parentUnit properties: action: type: "string" parentUnit: $ref: '#/components/schemas/BusinessUnitResourceIdentifier' MyBusinessUnitRemoveAddressAction: allOf: - $ref: '#/components/schemas/MyBusinessUnitUpdateAction' - type: "object" properties: action: type: "string" addressId: type: "string" addressKey: type: "string" MyBusinessUnitRemoveAssociateAction: allOf: - $ref: '#/components/schemas/MyBusinessUnitUpdateAction' - type: "object" required: - customer properties: action: type: "string" customer: $ref: '#/components/schemas/CustomerResourceIdentifier' MyBusinessUnitRemoveBillingAddressIdAction: allOf: - $ref: '#/components/schemas/MyBusinessUnitUpdateAction' - type: "object" properties: action: type: "string" addressId: type: "string" addressKey: type: "string" MyBusinessUnitRemoveShippingAddressIdAction: allOf: - $ref: '#/components/schemas/MyBusinessUnitUpdateAction' - type: "object" properties: action: type: "string" addressId: type: "string" addressKey: type: "string" MyBusinessUnitSetAddressCustomFieldAction: allOf: - $ref: '#/components/schemas/MyBusinessUnitUpdateAction' - type: "object" required: - addressId - name properties: action: type: "string" addressId: type: "string" name: type: "string" value: {} MyBusinessUnitSetAddressCustomTypeAction: allOf: - $ref: '#/components/schemas/MyBusinessUnitUpdateAction' - type: "object" required: - addressId properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' addressId: type: "string" MyBusinessUnitSetContactEmailAction: allOf: - $ref: '#/components/schemas/MyBusinessUnitUpdateAction' - type: "object" properties: action: type: "string" contactEmail: type: "string" MyBusinessUnitSetCustomFieldAction: allOf: - $ref: '#/components/schemas/MyBusinessUnitUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} MyBusinessUnitSetCustomTypeAction: allOf: - $ref: '#/components/schemas/MyBusinessUnitUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' MyBusinessUnitSetDefaultBillingAddressAction: allOf: - $ref: '#/components/schemas/MyBusinessUnitUpdateAction' - type: "object" properties: action: type: "string" addressId: type: "string" addressKey: type: "string" MyBusinessUnitSetDefaultShippingAddressAction: allOf: - $ref: '#/components/schemas/MyBusinessUnitUpdateAction' - type: "object" properties: action: type: "string" addressId: type: "string" addressKey: type: "string" MyCartAddDiscountCodeAction: allOf: - $ref: '#/components/schemas/MyCartUpdateAction' - type: "object" required: - code properties: action: type: "string" code: type: "string" MyCartAddItemShippingAddressAction: allOf: - $ref: '#/components/schemas/MyCartUpdateAction' - type: "object" required: - address properties: action: type: "string" address: $ref: '#/components/schemas/BaseAddress' MyCartAddLineItemAction: allOf: - $ref: '#/components/schemas/MyCartUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" productId: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" quantity: type: "integer" format: "int64" addedAt: type: "string" format: "datetime" distributionChannel: $ref: '#/components/schemas/ChannelResourceIdentifier' supplyChannel: $ref: '#/components/schemas/ChannelResourceIdentifier' shippingDetails: $ref: '#/components/schemas/ItemShippingDetailsDraft' recurrenceInfo: $ref: '#/components/schemas/LineItemRecurrenceInfoDraft' custom: $ref: '#/components/schemas/CustomFieldsDraft' MyCartAddPaymentAction: allOf: - $ref: '#/components/schemas/MyCartUpdateAction' - type: "object" required: - payment properties: action: type: "string" payment: $ref: '#/components/schemas/PaymentResourceIdentifier' MyCartApplyDeltaToLineItemShippingDetailsTargetsAction: allOf: - $ref: '#/components/schemas/MyCartUpdateAction' - type: "object" required: - targetsDelta properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" targetsDelta: type: "array" items: $ref: '#/components/schemas/ItemShippingTarget' MyCartChangeLineItemQuantityAction: allOf: - $ref: '#/components/schemas/MyCartUpdateAction' - type: "object" required: - quantity properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" quantity: type: "integer" format: "int64" externalPrice: $ref: '#/components/schemas/Money' externalTotalPrice: $ref: '#/components/schemas/ExternalLineItemTotalPrice' MyCartChangeLineItemsOrderAction: allOf: - $ref: '#/components/schemas/MyCartUpdateAction' - type: "object" required: - lineItemOrder properties: action: type: "string" lineItemOrder: type: "array" items: type: "string" MyCartChangeTaxModeAction: allOf: - $ref: '#/components/schemas/MyCartUpdateAction' - type: "object" required: - taxMode properties: action: type: "string" taxMode: $ref: '#/components/schemas/TaxMode' MyCartRecalculateAction: allOf: - $ref: '#/components/schemas/MyCartUpdateAction' - type: "object" properties: action: type: "string" updateProductData: type: "boolean" MyCartRemoveDiscountCodeAction: allOf: - $ref: '#/components/schemas/MyCartUpdateAction' - type: "object" required: - discountCode properties: action: type: "string" discountCode: $ref: '#/components/schemas/DiscountCodeReference' MyCartRemoveItemShippingAddressAction: allOf: - $ref: '#/components/schemas/MyCartUpdateAction' - type: "object" required: - addressKey properties: action: type: "string" addressKey: type: "string" MyCartRemoveLineItemAction: allOf: - $ref: '#/components/schemas/MyCartUpdateAction' - type: "object" properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" quantity: type: "integer" format: "int64" externalPrice: $ref: '#/components/schemas/Money' externalTotalPrice: $ref: '#/components/schemas/ExternalLineItemTotalPrice' shippingDetailsToRemove: $ref: '#/components/schemas/ItemShippingDetailsDraft' MyCartRemovePaymentAction: allOf: - $ref: '#/components/schemas/MyCartUpdateAction' - type: "object" required: - payment properties: action: type: "string" payment: $ref: '#/components/schemas/PaymentResourceIdentifier' MyCartSetBillingAddressAction: allOf: - $ref: '#/components/schemas/MyCartUpdateAction' - type: "object" properties: action: type: "string" address: $ref: '#/components/schemas/BaseAddress' MyCartSetBusinessUnitAction: allOf: - $ref: '#/components/schemas/MyCartUpdateAction' - type: "object" required: - businessUnit properties: action: type: "string" businessUnit: $ref: '#/components/schemas/BusinessUnitResourceIdentifier' MyCartSetCountryAction: allOf: - $ref: '#/components/schemas/MyCartUpdateAction' - type: "object" properties: action: type: "string" country: $ref: '#/components/schemas/CountryCode' MyCartSetCustomFieldAction: allOf: - $ref: '#/components/schemas/MyCartUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} MyCartSetCustomTypeAction: allOf: - $ref: '#/components/schemas/MyCartUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' MyCartSetCustomerEmailAction: allOf: - $ref: '#/components/schemas/MyCartUpdateAction' - type: "object" properties: action: type: "string" email: type: "string" MyCartSetDeleteDaysAfterLastModificationAction: allOf: - $ref: '#/components/schemas/MyCartUpdateAction' - type: "object" properties: action: type: "string" deleteDaysAfterLastModification: type: "integer" format: "int32" MyCartSetLineItemCustomFieldAction: allOf: - $ref: '#/components/schemas/MyCartUpdateAction' - type: "object" required: - name properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" name: type: "string" value: {} MyCartSetLineItemCustomTypeAction: allOf: - $ref: '#/components/schemas/MyCartUpdateAction' - type: "object" properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' MyCartSetLineItemDistributionChannelAction: allOf: - $ref: '#/components/schemas/MyCartUpdateAction' - type: "object" properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" distributionChannel: $ref: '#/components/schemas/ChannelResourceIdentifier' MyCartSetLineItemShippingDetailsAction: allOf: - $ref: '#/components/schemas/MyCartUpdateAction' - type: "object" properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" shippingDetails: $ref: '#/components/schemas/ItemShippingDetailsDraft' MyCartSetLineItemSupplyChannelAction: allOf: - $ref: '#/components/schemas/MyCartUpdateAction' - type: "object" properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" supplyChannel: $ref: '#/components/schemas/ChannelResourceIdentifier' MyCartSetLocaleAction: allOf: - $ref: '#/components/schemas/MyCartUpdateAction' - type: "object" properties: action: type: "string" locale: $ref: '#/components/schemas/Locale' MyCartSetShippingAddressAction: allOf: - $ref: '#/components/schemas/MyCartUpdateAction' - type: "object" properties: action: type: "string" address: $ref: '#/components/schemas/BaseAddress' MyCartSetShippingMethodAction: allOf: - $ref: '#/components/schemas/MyCartUpdateAction' - type: "object" properties: action: type: "string" shippingMethod: $ref: '#/components/schemas/ShippingMethodResourceIdentifier' externalTaxRate: $ref: '#/components/schemas/ExternalTaxRateDraft' MyCartUpdateItemShippingAddressAction: allOf: - $ref: '#/components/schemas/MyCartUpdateAction' - type: "object" required: - address properties: action: type: "string" address: $ref: '#/components/schemas/BaseAddress' MyCustomerAddAddressAction: allOf: - $ref: '#/components/schemas/MyCustomerUpdateAction' - type: "object" required: - address properties: action: type: "string" address: $ref: '#/components/schemas/BaseAddress' MyCustomerAddBillingAddressIdAction: allOf: - $ref: '#/components/schemas/MyCustomerUpdateAction' - type: "object" properties: action: type: "string" addressId: type: "string" addressKey: type: "string" MyCustomerAddShippingAddressIdAction: allOf: - $ref: '#/components/schemas/MyCustomerUpdateAction' - type: "object" properties: action: type: "string" addressId: type: "string" addressKey: type: "string" MyCustomerChangeAddressAction: allOf: - $ref: '#/components/schemas/MyCustomerUpdateAction' - type: "object" required: - address properties: action: type: "string" addressId: type: "string" addressKey: type: "string" address: $ref: '#/components/schemas/BaseAddress' MyCustomerChangeEmailAction: allOf: - $ref: '#/components/schemas/MyCustomerUpdateAction' - type: "object" required: - email properties: action: type: "string" email: type: "string" MyCustomerRemoveAddressAction: allOf: - $ref: '#/components/schemas/MyCustomerUpdateAction' - type: "object" properties: action: type: "string" addressId: type: "string" addressKey: type: "string" MyCustomerRemoveBillingAddressIdAction: allOf: - $ref: '#/components/schemas/MyCustomerUpdateAction' - type: "object" properties: action: type: "string" addressId: type: "string" addressKey: type: "string" MyCustomerRemoveShippingAddressIdAction: allOf: - $ref: '#/components/schemas/MyCustomerUpdateAction' - type: "object" properties: action: type: "string" addressId: type: "string" addressKey: type: "string" MyCustomerSetCompanyNameAction: allOf: - $ref: '#/components/schemas/MyCustomerUpdateAction' - type: "object" properties: action: type: "string" companyName: type: "string" MyCustomerSetCustomFieldAction: allOf: - $ref: '#/components/schemas/MyCustomerUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} MyCustomerSetCustomTypeAction: allOf: - $ref: '#/components/schemas/MyCustomerUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' MyCustomerSetDateOfBirthAction: allOf: - $ref: '#/components/schemas/MyCustomerUpdateAction' - type: "object" properties: action: type: "string" dateOfBirth: type: "string" format: "date-only" MyCustomerSetDefaultBillingAddressAction: allOf: - $ref: '#/components/schemas/MyCustomerUpdateAction' - type: "object" properties: action: type: "string" addressId: type: "string" addressKey: type: "string" MyCustomerSetDefaultShippingAddressAction: allOf: - $ref: '#/components/schemas/MyCustomerUpdateAction' - type: "object" properties: action: type: "string" addressId: type: "string" addressKey: type: "string" MyCustomerSetFirstNameAction: allOf: - $ref: '#/components/schemas/MyCustomerUpdateAction' - type: "object" properties: action: type: "string" firstName: type: "string" MyCustomerSetLastNameAction: allOf: - $ref: '#/components/schemas/MyCustomerUpdateAction' - type: "object" properties: action: type: "string" lastName: type: "string" MyCustomerSetLocaleAction: allOf: - $ref: '#/components/schemas/MyCustomerUpdateAction' - type: "object" properties: action: type: "string" locale: $ref: '#/components/schemas/Locale' MyCustomerSetMiddleNameAction: allOf: - $ref: '#/components/schemas/MyCustomerUpdateAction' - type: "object" properties: action: type: "string" middleName: type: "string" MyCustomerSetSalutationAction: allOf: - $ref: '#/components/schemas/MyCustomerUpdateAction' - type: "object" properties: action: type: "string" salutation: type: "string" MyCustomerSetTitleAction: allOf: - $ref: '#/components/schemas/MyCustomerUpdateAction' - type: "object" properties: action: type: "string" title: type: "string" MyCustomerSetVatIdAction: allOf: - $ref: '#/components/schemas/MyCustomerUpdateAction' - type: "object" properties: action: type: "string" vatId: type: "string" MyPaymentAddTransactionAction: allOf: - $ref: '#/components/schemas/MyPaymentUpdateAction' - type: "object" required: - transaction properties: action: type: "string" transaction: $ref: '#/components/schemas/TransactionDraft' MyPaymentChangeAmountPlannedAction: allOf: - $ref: '#/components/schemas/MyPaymentUpdateAction' - type: "object" required: - amount properties: action: type: "string" amount: $ref: '#/components/schemas/Money' MyPaymentSetCustomFieldAction: allOf: - $ref: '#/components/schemas/MyPaymentUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} MyPaymentSetMethodInfoCustomFieldAction: allOf: - $ref: '#/components/schemas/MyPaymentUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} MyPaymentSetMethodInfoCustomTypeAction: allOf: - $ref: '#/components/schemas/MyPaymentUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' MyPaymentSetMethodInfoInterfaceAccountAction: allOf: - $ref: '#/components/schemas/MyPaymentUpdateAction' - type: "object" properties: action: type: "string" interfaceAccount: type: "string" MyPaymentSetMethodInfoInterfaceAction: allOf: - $ref: '#/components/schemas/MyPaymentUpdateAction' - type: "object" required: - interface properties: action: type: "string" interface: type: "string" MyPaymentSetMethodInfoMethodAction: allOf: - $ref: '#/components/schemas/MyPaymentUpdateAction' - type: "object" properties: action: type: "string" method: type: "string" MyPaymentSetMethodInfoNameAction: allOf: - $ref: '#/components/schemas/MyPaymentUpdateAction' - type: "object" properties: action: type: "string" name: $ref: '#/components/schemas/LocalizedString' MyPaymentSetTransactionCustomFieldAction: allOf: - $ref: '#/components/schemas/MyPaymentUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} MyQuoteChangeMyQuoteStateAction: allOf: - $ref: '#/components/schemas/MyQuoteUpdateAction' - type: "object" required: - quoteState properties: action: type: "string" quoteState: $ref: '#/components/schemas/MyQuoteState' MyQuoteRequestCancelAction: allOf: - $ref: '#/components/schemas/MyQuoteRequestUpdateAction' - type: "object" properties: action: type: "string" MyShoppingListAddLineItemAction: allOf: - $ref: '#/components/schemas/MyShoppingListUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" sku: type: "string" productId: type: "string" variantId: type: "integer" format: "int64" quantity: type: "integer" format: "int64" addedAt: type: "string" format: "datetime" custom: $ref: '#/components/schemas/CustomFieldsDraft' MyShoppingListAddTextLineItemAction: allOf: - $ref: '#/components/schemas/MyShoppingListUpdateAction' - type: "object" required: - name properties: action: type: "string" name: $ref: '#/components/schemas/LocalizedString' key: type: "string" description: $ref: '#/components/schemas/LocalizedString' quantity: type: "integer" format: "int64" addedAt: type: "string" format: "datetime" custom: $ref: '#/components/schemas/CustomFieldsDraft' MyShoppingListChangeLineItemQuantityAction: allOf: - $ref: '#/components/schemas/MyShoppingListUpdateAction' - type: "object" required: - quantity properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" quantity: type: "integer" format: "int64" MyShoppingListChangeLineItemsOrderAction: allOf: - $ref: '#/components/schemas/MyShoppingListUpdateAction' - type: "object" required: - lineItemOrder properties: action: type: "string" lineItemOrder: type: "array" items: type: "string" MyShoppingListChangeNameAction: allOf: - $ref: '#/components/schemas/MyShoppingListUpdateAction' - type: "object" required: - name properties: action: type: "string" name: $ref: '#/components/schemas/LocalizedString' MyShoppingListChangeTextLineItemNameAction: allOf: - $ref: '#/components/schemas/MyShoppingListUpdateAction' - type: "object" required: - name properties: action: type: "string" textLineItemId: type: "string" textLineItemKey: type: "string" name: $ref: '#/components/schemas/LocalizedString' MyShoppingListChangeTextLineItemQuantityAction: allOf: - $ref: '#/components/schemas/MyShoppingListUpdateAction' - type: "object" required: - quantity properties: action: type: "string" textLineItemId: type: "string" textLineItemKey: type: "string" quantity: type: "integer" format: "int64" MyShoppingListChangeTextLineItemsOrderAction: allOf: - $ref: '#/components/schemas/MyShoppingListUpdateAction' - type: "object" required: - textLineItemOrder properties: action: type: "string" textLineItemOrder: type: "array" items: type: "string" MyShoppingListRemoveLineItemAction: allOf: - $ref: '#/components/schemas/MyShoppingListUpdateAction' - type: "object" properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" quantity: type: "integer" format: "int64" MyShoppingListRemoveTextLineItemAction: allOf: - $ref: '#/components/schemas/MyShoppingListUpdateAction' - type: "object" properties: action: type: "string" textLineItemId: type: "string" textLineItemKey: type: "string" quantity: type: "integer" format: "int64" MyShoppingListSetCustomFieldAction: allOf: - $ref: '#/components/schemas/MyShoppingListUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} MyShoppingListSetCustomTypeAction: allOf: - $ref: '#/components/schemas/MyShoppingListUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' MyShoppingListSetDeleteDaysAfterLastModificationAction: allOf: - $ref: '#/components/schemas/MyShoppingListUpdateAction' - type: "object" properties: action: type: "string" deleteDaysAfterLastModification: type: "integer" format: "int64" MyShoppingListSetDescriptionAction: allOf: - $ref: '#/components/schemas/MyShoppingListUpdateAction' - type: "object" properties: action: type: "string" description: $ref: '#/components/schemas/LocalizedString' MyShoppingListSetLineItemCustomFieldAction: allOf: - $ref: '#/components/schemas/MyShoppingListUpdateAction' - type: "object" required: - name properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" name: type: "string" value: {} MyShoppingListSetLineItemCustomTypeAction: allOf: - $ref: '#/components/schemas/MyShoppingListUpdateAction' - type: "object" required: - lineItemId properties: action: type: "string" lineItemId: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' MyShoppingListSetTextLineItemCustomFieldAction: allOf: - $ref: '#/components/schemas/MyShoppingListUpdateAction' - type: "object" required: - name properties: action: type: "string" textLineItemId: type: "string" textLineItemKey: type: "string" name: type: "string" value: {} MyShoppingListSetTextLineItemCustomTypeAction: allOf: - $ref: '#/components/schemas/MyShoppingListUpdateAction' - type: "object" properties: action: type: "string" textLineItemId: type: "string" textLineItemKey: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' MyShoppingListSetTextLineItemDescriptionAction: allOf: - $ref: '#/components/schemas/MyShoppingListUpdateAction' - type: "object" properties: action: type: "string" textLineItemId: type: "string" textLineItemKey: type: "string" description: $ref: '#/components/schemas/LocalizedString' ApprovalFlowApprovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - associate - order properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' associate: $ref: '#/components/schemas/CustomerReference' order: $ref: '#/components/schemas/OrderReference' ApprovalFlowCompletedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - order - status properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' status: $ref: '#/components/schemas/ApprovalFlowStatus' order: $ref: '#/components/schemas/OrderReference' ApprovalFlowCreatedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - approvalFlow properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' approvalFlow: $ref: '#/components/schemas/ApprovalFlow' ApprovalFlowRejectedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - associate - order properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' associate: $ref: '#/components/schemas/CustomerReference' rejectionReason: type: "string" order: $ref: '#/components/schemas/OrderReference' ApprovalRuleApproversSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - approvers - oldApprovers properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' approvers: $ref: '#/components/schemas/ApproverHierarchy' oldApprovers: $ref: '#/components/schemas/ApproverHierarchy' ApprovalRuleCreatedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - approvalRule properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' approvalRule: $ref: '#/components/schemas/ApprovalRule' ApprovalRuleDescriptionSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' description: type: "string" oldDescription: type: "string" ApprovalRuleKeySetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' key: type: "string" oldKey: type: "string" ApprovalRuleNameSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - name - oldName properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" oldName: type: "string" ApprovalRulePredicateSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - oldPredicate - predicate properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' predicate: type: "string" oldPredicate: type: "string" ApprovalRuleRequestersSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - oldRequesters - requesters properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' requesters: type: "array" items: $ref: '#/components/schemas/RuleRequester' oldRequesters: type: "array" items: $ref: '#/components/schemas/RuleRequester' ApprovalRuleStatusSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - oldStatus - status properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' status: $ref: '#/components/schemas/ApprovalRuleStatus' oldStatus: $ref: '#/components/schemas/ApprovalRuleStatus' AssociateRoleBuyerAssignableChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - buyerAssignable properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' buyerAssignable: type: "boolean" AssociateRoleCreatedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - associateRole properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' associateRole: $ref: '#/components/schemas/AssociateRole' AssociateRoleDeletedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' AssociateRoleNameSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - name properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" AssociateRolePermissionAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - permission properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' permission: $ref: '#/components/schemas/Permission' AssociateRolePermissionRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - permission properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' permission: $ref: '#/components/schemas/Permission' AssociateRolePermissionsSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - permissions properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' permissions: type: "array" items: $ref: '#/components/schemas/Permission' BusinessUnitAddressAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - address properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' address: $ref: '#/components/schemas/Address' BusinessUnitAddressChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - address - addressRoles properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' address: $ref: '#/components/schemas/Address' addressRoles: type: "array" items: $ref: '#/components/schemas/AddressRole' BusinessUnitAddressCustomFieldAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - name - value properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" value: {} addressId: type: "string" BusinessUnitAddressCustomFieldChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - name - value properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" value: {} oldValue: {} addressId: type: "string" BusinessUnitAddressCustomFieldRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - name properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" addressId: type: "string" BusinessUnitAddressCustomTypeRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' oldTypeId: type: "string" addressId: type: "string" BusinessUnitAddressCustomTypeSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - customFields properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' customFields: $ref: '#/components/schemas/CustomFields' oldTypeId: type: "string" addressId: type: "string" BusinessUnitAddressRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - address - addressRoles properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' address: $ref: '#/components/schemas/Address' addressRoles: type: "array" items: $ref: '#/components/schemas/AddressRole' BusinessUnitApprovalRuleModeChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - approvalRuleMode properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' approvalRuleMode: $ref: '#/components/schemas/BusinessUnitApprovalRuleMode' oldApprovalRuleMode: $ref: '#/components/schemas/BusinessUnitApprovalRuleMode' BusinessUnitAssociateAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - associate properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' associate: $ref: '#/components/schemas/Associate' BusinessUnitAssociateChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - associate properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' associate: $ref: '#/components/schemas/Associate' BusinessUnitAssociateModeChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - associateMode - oldAssociateMode properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' associateMode: $ref: '#/components/schemas/BusinessUnitAssociateMode' oldAssociateMode: $ref: '#/components/schemas/BusinessUnitAssociateMode' BusinessUnitAssociateRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - associate properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' associate: $ref: '#/components/schemas/Associate' BusinessUnitAssociatesSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - associates properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' associates: type: "array" items: $ref: '#/components/schemas/Associate' BusinessUnitBillingAddressAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - address properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' address: $ref: '#/components/schemas/Address' BusinessUnitBillingAddressRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - address properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' address: $ref: '#/components/schemas/Address' BusinessUnitContactEmailSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' contactEmail: type: "string" BusinessUnitCreatedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - businessUnit properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' businessUnit: $ref: '#/components/schemas/BusinessUnit' BusinessUnitCustomFieldAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - name - value properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" value: {} BusinessUnitCustomFieldChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - name - value properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" value: {} oldValue: {} BusinessUnitCustomFieldRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - name properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" BusinessUnitCustomTypeRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' oldTypeId: type: "string" BusinessUnitCustomTypeSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - customFields properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' customFields: $ref: '#/components/schemas/CustomFields' oldTypeId: type: "string" BusinessUnitCustomerGroupAssignmentAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - customerGroupAssignment properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' customerGroupAssignment: $ref: '#/components/schemas/CustomerGroupAssignment' BusinessUnitCustomerGroupAssignmentRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - customerGroupAssignment properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' customerGroupAssignment: $ref: '#/components/schemas/CustomerGroupAssignment' BusinessUnitCustomerGroupAssignmentsSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' customerGroupAssignments: type: "array" items: $ref: '#/components/schemas/CustomerGroupAssignment' oldCustomerGroupAssignments: type: "array" items: $ref: '#/components/schemas/CustomerGroupAssignment' BusinessUnitDefaultBillingAddressSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' address: $ref: '#/components/schemas/Address' BusinessUnitDefaultShippingAddressSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' address: $ref: '#/components/schemas/Address' BusinessUnitDeletedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' BusinessUnitNameChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - name properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" BusinessUnitParentChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' oldParentUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' newParentUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' BusinessUnitShippingAddressAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - address properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' address: $ref: '#/components/schemas/Address' BusinessUnitShippingAddressRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - address properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' address: $ref: '#/components/schemas/Address' BusinessUnitStatusChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - active properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' active: $ref: '#/components/schemas/BusinessUnitStatus' BusinessUnitStoreAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - store properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' store: $ref: '#/components/schemas/StoreKeyReference' BusinessUnitStoreModeChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - oldStoreMode - oldStores - storeMode - stores properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' stores: type: "array" items: $ref: '#/components/schemas/StoreKeyReference' storeMode: $ref: '#/components/schemas/BusinessUnitStoreMode' oldStores: type: "array" items: $ref: '#/components/schemas/StoreKeyReference' oldStoreMode: $ref: '#/components/schemas/BusinessUnitStoreMode' BusinessUnitStoreRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - store properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' store: $ref: '#/components/schemas/StoreKeyReference' BusinessUnitStoresSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - stores properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' stores: type: "array" items: $ref: '#/components/schemas/StoreKeyReference' BusinessUnitTopLevelUnitSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - oldTopLevelUnit - topLevelUnit properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' topLevelUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' oldTopLevelUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' BusinessUnitTypeSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - oldUnitType - unitType properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' parentUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' oldParentUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' unitType: $ref: '#/components/schemas/BusinessUnitType' oldUnitType: $ref: '#/components/schemas/BusinessUnitType' CartDiscountCreatedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - cartDiscount properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' cartDiscount: $ref: '#/components/schemas/CartDiscount' CartDiscountDeletedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' CartDiscountStoreAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - store properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' store: $ref: '#/components/schemas/StoreKeyReference' CartDiscountStoreRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - store properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' store: $ref: '#/components/schemas/StoreKeyReference' CartDiscountStoresSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - stores properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' stores: type: "array" items: $ref: '#/components/schemas/StoreKeyReference' CartEstimatedDeliverySetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' estimatedDelivery: $ref: '#/components/schemas/EstimatedDelivery' shippingKey: type: "string" CartFrozenMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' CartLockedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' CartPurchaseOrderNumberSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' purchaseOrderNumber: type: "string" oldPurchaseOrderNumber: type: "string" CartUnfrozenMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' CartUnlockedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' CategoryCreatedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - category properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' category: $ref: '#/components/schemas/Category' CategorySlugChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - slug properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' slug: $ref: '#/components/schemas/LocalizedString' oldSlug: $ref: '#/components/schemas/LocalizedString' ContainerAndKey: type: "object" required: - container - key properties: key: type: "string" container: type: "string" CustomLineItemStateTransitionMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - customLineItemId - fromState - quantity - toState - transitionDate properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' customLineItemId: type: "string" customLineItemKey: type: "string" transitionDate: type: "string" format: "datetime" quantity: type: "integer" format: "int64" fromState: $ref: '#/components/schemas/StateReference' toState: $ref: '#/components/schemas/StateReference' CustomerAddressAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - address properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' address: $ref: '#/components/schemas/Address' CustomerAddressChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - address - addressRoles properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' address: $ref: '#/components/schemas/Address' addressRoles: type: "array" items: $ref: '#/components/schemas/AddressRole' CustomerAddressCustomFieldAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - name - value properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" value: {} addressId: type: "string" CustomerAddressCustomFieldChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - name - value properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" value: {} previousValue: {} addressId: type: "string" CustomerAddressCustomFieldRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - name properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" addressId: type: "string" CustomerAddressCustomTypeRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' previousTypeId: type: "string" addressId: type: "string" CustomerAddressCustomTypeSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - customFields properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' customFields: $ref: '#/components/schemas/CustomFields' previousTypeId: type: "string" addressId: type: "string" CustomerAddressRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - address - addressRoles properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' address: $ref: '#/components/schemas/Address' addressRoles: type: "array" items: $ref: '#/components/schemas/AddressRole' CustomerBillingAddressAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - address properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' address: $ref: '#/components/schemas/Address' CustomerBillingAddressRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - address properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' address: $ref: '#/components/schemas/Address' CustomerCompanyNameSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' companyName: type: "string" CustomerCreatedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - customer properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' customer: $ref: '#/components/schemas/Customer' CustomerCustomFieldAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - name - value properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" value: {} CustomerCustomFieldChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - name - value properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" value: {} previousValue: {} CustomerCustomFieldRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - name properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" CustomerCustomTypeRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' previousTypeId: type: "string" CustomerCustomTypeSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - customFields properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' customFields: $ref: '#/components/schemas/CustomFields' previousTypeId: type: "string" CustomerDateOfBirthSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' dateOfBirth: type: "string" format: "date-only" CustomerDefaultBillingAddressSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' address: $ref: '#/components/schemas/Address' CustomerDefaultShippingAddressSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' address: $ref: '#/components/schemas/Address' CustomerDeletedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' email: type: "string" CustomerEmailChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - email - oldEmail properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' email: type: "string" oldEmail: type: "string" CustomerEmailTokenCreatedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - customerId - expiresAt - invalidateOlderTokens properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' customerId: type: "string" expiresAt: type: "string" format: "datetime" value: type: "string" invalidateOlderTokens: type: "boolean" CustomerEmailVerifiedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' CustomerExternalIdSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' externalId: type: "string" CustomerFirstNameSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' firstName: type: "string" CustomerGroupAssignmentAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - customerGroupAssignment properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' customerGroupAssignment: $ref: '#/components/schemas/CustomerGroupAssignment' CustomerGroupAssignmentRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - customerGroupAssignment properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' customerGroupAssignment: $ref: '#/components/schemas/CustomerGroupAssignment' CustomerGroupAssignmentsSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - customerGroupAssignments - oldCustomerGroupAssignments properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' customerGroupAssignments: type: "array" items: $ref: '#/components/schemas/CustomerGroupAssignment' oldCustomerGroupAssignments: type: "array" items: $ref: '#/components/schemas/CustomerGroupAssignment' CustomerGroupCustomFieldAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - name - value properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" value: {} CustomerGroupCustomFieldChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - name - value properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" value: {} oldValue: {} CustomerGroupCustomFieldRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - name properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" CustomerGroupCustomTypeRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' oldTypeId: type: "string" CustomerGroupCustomTypeSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - customFields properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' customFields: $ref: '#/components/schemas/CustomFields' oldTypeId: type: "string" CustomerGroupSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' customerGroup: $ref: '#/components/schemas/CustomerGroupReference' CustomerLastNameSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' lastName: type: "string" CustomerPasswordTokenCreatedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - customerId - expiresAt - invalidateOlderTokens properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' customerId: type: "string" expiresAt: type: "string" format: "datetime" value: type: "string" invalidateOlderTokens: type: "boolean" CustomerPasswordUpdatedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - reset properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' reset: type: "boolean" CustomerShippingAddressAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - address properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' address: $ref: '#/components/schemas/Address' CustomerShippingAddressRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - address properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' address: $ref: '#/components/schemas/Address' CustomerStoresSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - oldStores - stores properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' stores: type: "array" items: $ref: '#/components/schemas/StoreKeyReference' oldStores: type: "array" items: $ref: '#/components/schemas/StoreKeyReference' CustomerTitleSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' title: type: "string" DeliveryAddedMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - delivery properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' delivery: $ref: '#/components/schemas/Delivery' shippingKey: type: "string" DeliveryAddressSetMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - deliveryId properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' deliveryId: type: "string" address: $ref: '#/components/schemas/Address' oldAddress: $ref: '#/components/schemas/Address' shippingKey: type: "string" DeliveryCustomFieldAddedMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - deliveryId - name - value properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" value: {} deliveryId: type: "string" DeliveryCustomFieldChangedMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - deliveryId - name - value properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" value: {} previousValue: {} deliveryId: type: "string" DeliveryCustomFieldRemovedMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - deliveryId - name properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" deliveryId: type: "string" DeliveryCustomTypeRemovedMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - deliveryId properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' previousTypeId: type: "string" deliveryId: type: "string" DeliveryCustomTypeSetMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - customFields - deliveryId properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' customFields: $ref: '#/components/schemas/CustomFields' previousTypeId: type: "string" deliveryId: type: "string" DeliveryItemsUpdatedMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - deliveryId - items - oldItems properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' deliveryId: type: "string" items: type: "array" items: $ref: '#/components/schemas/DeliveryItem' oldItems: type: "array" items: $ref: '#/components/schemas/DeliveryItem' shippingKey: type: "string" DeliveryRemovedMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - delivery properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' delivery: $ref: '#/components/schemas/Delivery' shippingKey: type: "string" DiscountCodeCreatedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - discountCode properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' discountCode: $ref: '#/components/schemas/DiscountCode' DiscountCodeDeletedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' DiscountCodeKeySetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' key: type: "string" oldKey: type: "string" DiscountGroupCreatedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - discountGroup properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' discountGroup: $ref: '#/components/schemas/DiscountGroup' DiscountGroupDeletedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' DiscountGroupIsActiveSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' isActive: type: "boolean" oldIsActive: type: "boolean" DiscountGroupKeySetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' key: type: "string" oldKey: type: "string" DiscountGroupSortOrderSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' sortOrder: type: "string" oldSortOrder: type: "string" InventoryEntryCreatedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - inventoryEntry properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' inventoryEntry: $ref: '#/components/schemas/InventoryEntry' InventoryEntryDeletedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - sku properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' sku: type: "string" supplyChannel: $ref: '#/components/schemas/ChannelReference' InventoryEntryOutOfStockMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - sku properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' sku: type: "string" supplyChannel: $ref: '#/components/schemas/ChannelReference' InventoryEntryQuantitySetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - newAvailableQuantity - newQuantityOnStock - oldAvailableQuantity - oldQuantityOnStock properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' oldQuantityOnStock: type: "integer" format: "int64" newQuantityOnStock: type: "integer" format: "int64" oldAvailableQuantity: type: "integer" format: "int64" newAvailableQuantity: type: "integer" format: "int64" sku: type: "string" supplyChannel: $ref: '#/components/schemas/ChannelReference' InventoryEntryReorderPointMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - quantityOnStock - sku properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' sku: type: "string" quantityOnStock: type: "integer" format: "int32" supplyChannel: $ref: '#/components/schemas/ChannelReference' InventoryEntryReservationExpirationInMinutesSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' newReservationExpirationInMinutes: type: "integer" format: "int32" oldReservationExpirationInMinutes: type: "integer" format: "int32" InventoryEntrySafetyStockMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - quantityOnStock - sku properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' sku: type: "string" quantityOnStock: type: "integer" format: "int32" supplyChannel: $ref: '#/components/schemas/ChannelReference' LineItemStateTransitionMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - fromState - lineItemId - quantity - toState - transitionDate properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' lineItemId: type: "string" lineItemKey: type: "string" transitionDate: type: "string" format: "datetime" quantity: type: "integer" format: "int64" fromState: $ref: '#/components/schemas/StateReference' toState: $ref: '#/components/schemas/StateReference' Message: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" discriminator: propertyName: type mapping: ApprovalFlowApproved: '#/components/schemas/ApprovalFlowApprovedMessage' ApprovalFlowCompleted: '#/components/schemas/ApprovalFlowCompletedMessage' ApprovalFlowCreated: '#/components/schemas/ApprovalFlowCreatedMessage' ApprovalFlowRejected: '#/components/schemas/ApprovalFlowRejectedMessage' ApprovalRuleApproversSet: '#/components/schemas/ApprovalRuleApproversSetMessage' ApprovalRuleCreated: '#/components/schemas/ApprovalRuleCreatedMessage' ApprovalRuleDescriptionSet: '#/components/schemas/ApprovalRuleDescriptionSetMessage' ApprovalRuleKeySet: '#/components/schemas/ApprovalRuleKeySetMessage' ApprovalRuleNameSet: '#/components/schemas/ApprovalRuleNameSetMessage' ApprovalRulePredicateSet: '#/components/schemas/ApprovalRulePredicateSetMessage' ApprovalRuleRequestersSet: '#/components/schemas/ApprovalRuleRequestersSetMessage' ApprovalRuleStatusSet: '#/components/schemas/ApprovalRuleStatusSetMessage' AssociateRoleBuyerAssignableChanged: '#/components/schemas/AssociateRoleBuyerAssignableChangedMessage' AssociateRoleCreated: '#/components/schemas/AssociateRoleCreatedMessage' AssociateRoleDeleted: '#/components/schemas/AssociateRoleDeletedMessage' AssociateRoleNameSet: '#/components/schemas/AssociateRoleNameSetMessage' AssociateRolePermissionAdded: '#/components/schemas/AssociateRolePermissionAddedMessage' AssociateRolePermissionRemoved: '#/components/schemas/AssociateRolePermissionRemovedMessage' AssociateRolePermissionsSet: '#/components/schemas/AssociateRolePermissionsSetMessage' BusinessUnitAddressAdded: '#/components/schemas/BusinessUnitAddressAddedMessage' BusinessUnitAddressChanged: '#/components/schemas/BusinessUnitAddressChangedMessage' BusinessUnitAddressCustomFieldAdded: '#/components/schemas/BusinessUnitAddressCustomFieldAddedMessage' BusinessUnitAddressCustomFieldChanged: '#/components/schemas/BusinessUnitAddressCustomFieldChangedMessage' BusinessUnitAddressCustomFieldRemoved: '#/components/schemas/BusinessUnitAddressCustomFieldRemovedMessage' BusinessUnitAddressCustomTypeRemoved: '#/components/schemas/BusinessUnitAddressCustomTypeRemovedMessage' BusinessUnitAddressCustomTypeSet: '#/components/schemas/BusinessUnitAddressCustomTypeSetMessage' BusinessUnitAddressRemoved: '#/components/schemas/BusinessUnitAddressRemovedMessage' BusinessUnitApprovalRuleModeChanged: '#/components/schemas/BusinessUnitApprovalRuleModeChangedMessage' BusinessUnitAssociateAdded: '#/components/schemas/BusinessUnitAssociateAddedMessage' BusinessUnitAssociateChanged: '#/components/schemas/BusinessUnitAssociateChangedMessage' BusinessUnitAssociateModeChanged: '#/components/schemas/BusinessUnitAssociateModeChangedMessage' BusinessUnitAssociateRemoved: '#/components/schemas/BusinessUnitAssociateRemovedMessage' BusinessUnitAssociatesSet: '#/components/schemas/BusinessUnitAssociatesSetMessage' BusinessUnitBillingAddressAdded: '#/components/schemas/BusinessUnitBillingAddressAddedMessage' BusinessUnitBillingAddressRemoved: '#/components/schemas/BusinessUnitBillingAddressRemovedMessage' BusinessUnitContactEmailSet: '#/components/schemas/BusinessUnitContactEmailSetMessage' BusinessUnitCreated: '#/components/schemas/BusinessUnitCreatedMessage' BusinessUnitCustomFieldAdded: '#/components/schemas/BusinessUnitCustomFieldAddedMessage' BusinessUnitCustomFieldChanged: '#/components/schemas/BusinessUnitCustomFieldChangedMessage' BusinessUnitCustomFieldRemoved: '#/components/schemas/BusinessUnitCustomFieldRemovedMessage' BusinessUnitCustomTypeRemoved: '#/components/schemas/BusinessUnitCustomTypeRemovedMessage' BusinessUnitCustomTypeSet: '#/components/schemas/BusinessUnitCustomTypeSetMessage' BusinessUnitCustomerGroupAssignmentAdded: '#/components/schemas/BusinessUnitCustomerGroupAssignmentAddedMessage' BusinessUnitCustomerGroupAssignmentRemoved: '#/components/schemas/BusinessUnitCustomerGroupAssignmentRemovedMessage' BusinessUnitCustomerGroupAssignmentsSet: '#/components/schemas/BusinessUnitCustomerGroupAssignmentsSetMessage' BusinessUnitDefaultBillingAddressSet: '#/components/schemas/BusinessUnitDefaultBillingAddressSetMessage' BusinessUnitDefaultShippingAddressSet: '#/components/schemas/BusinessUnitDefaultShippingAddressSetMessage' BusinessUnitDeleted: '#/components/schemas/BusinessUnitDeletedMessage' BusinessUnitNameChanged: '#/components/schemas/BusinessUnitNameChangedMessage' BusinessUnitParentChanged: '#/components/schemas/BusinessUnitParentChangedMessage' BusinessUnitShippingAddressAdded: '#/components/schemas/BusinessUnitShippingAddressAddedMessage' BusinessUnitShippingAddressRemoved: '#/components/schemas/BusinessUnitShippingAddressRemovedMessage' BusinessUnitStatusChanged: '#/components/schemas/BusinessUnitStatusChangedMessage' BusinessUnitStoreAdded: '#/components/schemas/BusinessUnitStoreAddedMessage' BusinessUnitStoreModeChanged: '#/components/schemas/BusinessUnitStoreModeChangedMessage' BusinessUnitStoreRemoved: '#/components/schemas/BusinessUnitStoreRemovedMessage' BusinessUnitStoresSet: '#/components/schemas/BusinessUnitStoresSetMessage' BusinessUnitTopLevelUnitSet: '#/components/schemas/BusinessUnitTopLevelUnitSetMessage' BusinessUnitTypeSet: '#/components/schemas/BusinessUnitTypeSetMessage' CartDiscountCreated: '#/components/schemas/CartDiscountCreatedMessage' CartDiscountDeleted: '#/components/schemas/CartDiscountDeletedMessage' CartDiscountStoreAdded: '#/components/schemas/CartDiscountStoreAddedMessage' CartDiscountStoreRemoved: '#/components/schemas/CartDiscountStoreRemovedMessage' CartDiscountStoresSet: '#/components/schemas/CartDiscountStoresSetMessage' CartEstimatedDeliverySet: '#/components/schemas/CartEstimatedDeliverySetMessage' CartFrozen: '#/components/schemas/CartFrozenMessage' CartLocked: '#/components/schemas/CartLockedMessage' CartPurchaseOrderNumberSet: '#/components/schemas/CartPurchaseOrderNumberSetMessage' CartUnfrozen: '#/components/schemas/CartUnfrozenMessage' CartUnlocked: '#/components/schemas/CartUnlockedMessage' CategoryCreated: '#/components/schemas/CategoryCreatedMessage' CategorySlugChanged: '#/components/schemas/CategorySlugChangedMessage' CustomerAddressAdded: '#/components/schemas/CustomerAddressAddedMessage' CustomerAddressChanged: '#/components/schemas/CustomerAddressChangedMessage' CustomerAddressCustomFieldAdded: '#/components/schemas/CustomerAddressCustomFieldAddedMessage' CustomerAddressCustomFieldChanged: '#/components/schemas/CustomerAddressCustomFieldChangedMessage' CustomerAddressCustomFieldRemoved: '#/components/schemas/CustomerAddressCustomFieldRemovedMessage' CustomerAddressCustomTypeRemoved: '#/components/schemas/CustomerAddressCustomTypeRemovedMessage' CustomerAddressCustomTypeSet: '#/components/schemas/CustomerAddressCustomTypeSetMessage' CustomerAddressRemoved: '#/components/schemas/CustomerAddressRemovedMessage' CustomerBillingAddressAdded: '#/components/schemas/CustomerBillingAddressAddedMessage' CustomerBillingAddressRemoved: '#/components/schemas/CustomerBillingAddressRemovedMessage' CustomerCompanyNameSet: '#/components/schemas/CustomerCompanyNameSetMessage' CustomerCreated: '#/components/schemas/CustomerCreatedMessage' CustomerCustomFieldAdded: '#/components/schemas/CustomerCustomFieldAddedMessage' CustomerCustomFieldChanged: '#/components/schemas/CustomerCustomFieldChangedMessage' CustomerCustomFieldRemoved: '#/components/schemas/CustomerCustomFieldRemovedMessage' CustomerCustomTypeRemoved: '#/components/schemas/CustomerCustomTypeRemovedMessage' CustomerCustomTypeSet: '#/components/schemas/CustomerCustomTypeSetMessage' CustomerDateOfBirthSet: '#/components/schemas/CustomerDateOfBirthSetMessage' CustomerDefaultBillingAddressSet: '#/components/schemas/CustomerDefaultBillingAddressSetMessage' CustomerDefaultShippingAddressSet: '#/components/schemas/CustomerDefaultShippingAddressSetMessage' CustomerDeleted: '#/components/schemas/CustomerDeletedMessage' CustomerEmailChanged: '#/components/schemas/CustomerEmailChangedMessage' CustomerEmailTokenCreated: '#/components/schemas/CustomerEmailTokenCreatedMessage' CustomerEmailVerified: '#/components/schemas/CustomerEmailVerifiedMessage' CustomerExternalIdSet: '#/components/schemas/CustomerExternalIdSetMessage' CustomerFirstNameSet: '#/components/schemas/CustomerFirstNameSetMessage' CustomerGroupAssignmentAdded: '#/components/schemas/CustomerGroupAssignmentAddedMessage' CustomerGroupAssignmentRemoved: '#/components/schemas/CustomerGroupAssignmentRemovedMessage' CustomerGroupAssignmentsSet: '#/components/schemas/CustomerGroupAssignmentsSetMessage' CustomerGroupCustomFieldAdded: '#/components/schemas/CustomerGroupCustomFieldAddedMessage' CustomerGroupCustomFieldChanged: '#/components/schemas/CustomerGroupCustomFieldChangedMessage' CustomerGroupCustomFieldRemoved: '#/components/schemas/CustomerGroupCustomFieldRemovedMessage' CustomerGroupCustomTypeRemoved: '#/components/schemas/CustomerGroupCustomTypeRemovedMessage' CustomerGroupCustomTypeSet: '#/components/schemas/CustomerGroupCustomTypeSetMessage' CustomerGroupSet: '#/components/schemas/CustomerGroupSetMessage' CustomerLastNameSet: '#/components/schemas/CustomerLastNameSetMessage' CustomerPasswordTokenCreated: '#/components/schemas/CustomerPasswordTokenCreatedMessage' CustomerPasswordUpdated: '#/components/schemas/CustomerPasswordUpdatedMessage' CustomerShippingAddressAdded: '#/components/schemas/CustomerShippingAddressAddedMessage' CustomerShippingAddressRemoved: '#/components/schemas/CustomerShippingAddressRemovedMessage' CustomerStoresSet: '#/components/schemas/CustomerStoresSetMessage' CustomerTitleSet: '#/components/schemas/CustomerTitleSetMessage' DiscountCodeCreated: '#/components/schemas/DiscountCodeCreatedMessage' DiscountCodeDeleted: '#/components/schemas/DiscountCodeDeletedMessage' DiscountCodeKeySet: '#/components/schemas/DiscountCodeKeySetMessage' DiscountGroupCreated: '#/components/schemas/DiscountGroupCreatedMessage' DiscountGroupDeleted: '#/components/schemas/DiscountGroupDeletedMessage' DiscountGroupIsActiveSet: '#/components/schemas/DiscountGroupIsActiveSetMessage' DiscountGroupKeySet: '#/components/schemas/DiscountGroupKeySetMessage' DiscountGroupSortOrderSet: '#/components/schemas/DiscountGroupSortOrderSetMessage' InventoryEntryCreated: '#/components/schemas/InventoryEntryCreatedMessage' InventoryEntryDeleted: '#/components/schemas/InventoryEntryDeletedMessage' InventoryEntryOutOfStock: '#/components/schemas/InventoryEntryOutOfStockMessage' InventoryEntryQuantitySet: '#/components/schemas/InventoryEntryQuantitySetMessage' InventoryEntryReorderPoint: '#/components/schemas/InventoryEntryReorderPointMessage' InventoryEntryReservationExpirationInMinutesSet: '#/components/schemas/InventoryEntryReservationExpirationInMinutesSetMessage' InventoryEntrySafetyStock: '#/components/schemas/InventoryEntrySafetyStockMessage' OrderPaymentAdded: '#/components/schemas/OrderPaymentAddedMessage' OrderPaymentRemoved: '#/components/schemas/OrderPaymentRemovedMessage' PaymentCreated: '#/components/schemas/PaymentCreatedMessage' PaymentInteractionAdded: '#/components/schemas/PaymentInteractionAddedMessage' PaymentInterfaceIdSet: '#/components/schemas/PaymentInterfaceIdSetMessage' PaymentMethodCreated: '#/components/schemas/PaymentMethodCreatedMessage' PaymentMethodCustomFieldAdded: '#/components/schemas/PaymentMethodCustomFieldAddedMessage' PaymentMethodCustomFieldChanged: '#/components/schemas/PaymentMethodCustomFieldChangedMessage' PaymentMethodCustomFieldRemoved: '#/components/schemas/PaymentMethodCustomFieldRemovedMessage' PaymentMethodCustomTypeRemoved: '#/components/schemas/PaymentMethodCustomTypeRemovedMessage' PaymentMethodCustomTypeSet: '#/components/schemas/PaymentMethodCustomTypeSetMessage' PaymentMethodDefaultSet: '#/components/schemas/PaymentMethodDefaultSetMessage' PaymentMethodDeleted: '#/components/schemas/PaymentMethodDeletedMessage' PaymentMethodInfoCustomFieldAdded: '#/components/schemas/PaymentMethodInfoCustomFieldAddedMessage' PaymentMethodInfoCustomFieldChanged: '#/components/schemas/PaymentMethodInfoCustomFieldChangedMessage' PaymentMethodInfoCustomFieldRemoved: '#/components/schemas/PaymentMethodInfoCustomFieldRemovedMessage' PaymentMethodInfoCustomTypeRemoved: '#/components/schemas/PaymentMethodInfoCustomTypeRemovedMessage' PaymentMethodInfoCustomTypeSet: '#/components/schemas/PaymentMethodInfoCustomTypeSetMessage' PaymentMethodInfoInterfaceAccountSet: '#/components/schemas/PaymentMethodInfoInterfaceAccountSetMessage' PaymentMethodInfoInterfaceSet: '#/components/schemas/PaymentMethodInfoInterfaceSetMessage' PaymentMethodInfoMethodSet: '#/components/schemas/PaymentMethodInfoMethodSetMessage' PaymentMethodInfoNameSet: '#/components/schemas/PaymentMethodInfoNameSetMessage' PaymentMethodInfoTokenSet: '#/components/schemas/PaymentMethodInfoTokenSetMessage' PaymentMethodInterfaceAccountSet: '#/components/schemas/PaymentMethodInterfaceAccountSetMessage' PaymentMethodKeySet: '#/components/schemas/PaymentMethodKeySetMessage' PaymentMethodMethodSet: '#/components/schemas/PaymentMethodMethodSetMessage' PaymentMethodNameSet: '#/components/schemas/PaymentMethodNameSetMessage' PaymentMethodPaymentInterfaceSet: '#/components/schemas/PaymentMethodPaymentInterfaceSetMessage' PaymentMethodPaymentMethodStatusSet: '#/components/schemas/PaymentMethodPaymentMethodStatusSetMessage' PaymentStatusInterfaceCodeSet: '#/components/schemas/PaymentStatusInterfaceCodeSetMessage' PaymentStatusStateTransition: '#/components/schemas/PaymentStatusStateTransitionMessage' PaymentTransactionAdded: '#/components/schemas/PaymentTransactionAddedMessage' PaymentTransactionInterfaceIdSet: '#/components/schemas/PaymentTransactionInterfaceIdSetMessage' PaymentTransactionStateChanged: '#/components/schemas/PaymentTransactionStateChangedMessage' ProductAddedToCategory: '#/components/schemas/ProductAddedToCategoryMessage' ProductCreated: '#/components/schemas/ProductCreatedMessage' ProductDeleted: '#/components/schemas/ProductDeletedMessage' ProductImageAdded: '#/components/schemas/ProductImageAddedMessage' ProductPriceAdded: '#/components/schemas/ProductPriceAddedMessage' ProductPriceChanged: '#/components/schemas/ProductPriceChangedMessage' ProductPriceCustomFieldAdded: '#/components/schemas/ProductPriceCustomFieldAddedMessage' ProductPriceCustomFieldChanged: '#/components/schemas/ProductPriceCustomFieldChangedMessage' ProductPriceCustomFieldRemoved: '#/components/schemas/ProductPriceCustomFieldRemovedMessage' ProductPriceCustomFieldsRemoved: '#/components/schemas/ProductPriceCustomFieldsRemovedMessage' ProductPriceCustomFieldsSet: '#/components/schemas/ProductPriceCustomFieldsSetMessage' ProductPriceDiscountsSet: '#/components/schemas/ProductPriceDiscountsSetMessage' ProductPriceExternalDiscountSet: '#/components/schemas/ProductPriceExternalDiscountSetMessage' ProductPriceKeySet: '#/components/schemas/ProductPriceKeySetMessage' ProductPriceModeSet: '#/components/schemas/ProductPriceModeSetMessage' ProductPriceRemoved: '#/components/schemas/ProductPriceRemovedMessage' ProductPricesSet: '#/components/schemas/ProductPricesSetMessage' ProductPublished: '#/components/schemas/ProductPublishedMessage' ProductRemovedFromCategory: '#/components/schemas/ProductRemovedFromCategoryMessage' ProductRevertedStagedChanges: '#/components/schemas/ProductRevertedStagedChangesMessage' ProductSelectionCreated: '#/components/schemas/ProductSelectionCreatedMessage' ProductSelectionDeleted: '#/components/schemas/ProductSelectionDeletedMessage' ProductSelectionProductAdded: '#/components/schemas/ProductSelectionProductAddedMessage' ProductSelectionProductExcluded: '#/components/schemas/ProductSelectionProductExcludedMessage' ProductSelectionProductRemoved: '#/components/schemas/ProductSelectionProductRemovedMessage' ProductSelectionVariantExclusionChanged: '#/components/schemas/ProductSelectionVariantExclusionChangedMessage' ProductSelectionVariantSelectionChanged: '#/components/schemas/ProductSelectionVariantSelectionChangedMessage' ProductSlugChanged: '#/components/schemas/ProductSlugChangedMessage' ProductStateTransition: '#/components/schemas/ProductStateTransitionMessage' ProductTailoringCreated: '#/components/schemas/ProductTailoringCreatedMessage' ProductTailoringDeleted: '#/components/schemas/ProductTailoringDeletedMessage' ProductTailoringDescriptionSet: '#/components/schemas/ProductTailoringDescriptionSetMessage' ProductTailoringImageAdded: '#/components/schemas/ProductTailoringImageAddedMessage' ProductTailoringImagesSet: '#/components/schemas/ProductTailoringImagesSetMessage' ProductTailoringKeySet: '#/components/schemas/ProductTailoringKeySetMessage' ProductTailoringNameSet: '#/components/schemas/ProductTailoringNameSetMessage' ProductTailoringPublished: '#/components/schemas/ProductTailoringPublishedMessage' ProductTailoringSlugSet: '#/components/schemas/ProductTailoringSlugSetMessage' ProductTailoringUnpublished: '#/components/schemas/ProductTailoringUnpublishedMessage' ProductUnpublished: '#/components/schemas/ProductUnpublishedMessage' ProductVariantAdded: '#/components/schemas/ProductVariantAddedMessage' ProductVariantDeleted: '#/components/schemas/ProductVariantDeletedMessage' ProductVariantTailoringAdded: '#/components/schemas/ProductVariantTailoringAddedMessage' ProductVariantTailoringRemoved: '#/components/schemas/ProductVariantTailoringRemovedMessage' QuoteCreated: '#/components/schemas/QuoteCreatedMessage' QuoteCustomerChanged: '#/components/schemas/QuoteCustomerChangedMessage' QuoteDeleted: '#/components/schemas/QuoteDeletedMessage' QuoteRenegotiationRequested: '#/components/schemas/QuoteRenegotiationRequestedMessage' QuoteRequestCreated: '#/components/schemas/QuoteRequestCreatedMessage' QuoteRequestCustomerChanged: '#/components/schemas/QuoteRequestCustomerChangedMessage' QuoteRequestDeleted: '#/components/schemas/QuoteRequestDeletedMessage' QuoteRequestStateChanged: '#/components/schemas/QuoteRequestStateChangedMessage' QuoteRequestStateTransition: '#/components/schemas/QuoteRequestStateTransitionMessage' QuoteStateChanged: '#/components/schemas/QuoteStateChangedMessage' QuoteStateTransition: '#/components/schemas/QuoteStateTransitionMessage' RecurringOrderCreated: '#/components/schemas/RecurringOrderCreatedMessage' RecurringOrderCustomFieldAdded: '#/components/schemas/RecurringOrderCustomFieldAddedMessage' RecurringOrderCustomFieldChanged: '#/components/schemas/RecurringOrderCustomFieldChangedMessage' RecurringOrderCustomFieldRemoved: '#/components/schemas/RecurringOrderCustomFieldRemovedMessage' RecurringOrderCustomTypeRemoved: '#/components/schemas/RecurringOrderCustomTypeRemovedMessage' RecurringOrderCustomTypeSet: '#/components/schemas/RecurringOrderCustomTypeSetMessage' RecurringOrderDeleted: '#/components/schemas/RecurringOrderDeletedMessage' RecurringOrderExpiresAtSet: '#/components/schemas/RecurringOrderExpiresAtSetMessage' RecurringOrderFailed: '#/components/schemas/RecurringOrderFailedMessage' RecurringOrderKeySet: '#/components/schemas/RecurringOrderKeySetMessage' RecurringOrderScheduleSet: '#/components/schemas/RecurringOrderScheduleSetMessage' RecurringOrderStartsAtSet: '#/components/schemas/RecurringOrderStartsAtSetMessage' RecurringOrderStateChanged: '#/components/schemas/RecurringOrderStateChangedMessage' RecurringOrderStateTransition: '#/components/schemas/RecurringOrderStateTransitionMessage' ReviewCreated: '#/components/schemas/ReviewCreatedMessage' ReviewRatingSet: '#/components/schemas/ReviewRatingSetMessage' ReviewStateTransition: '#/components/schemas/ReviewStateTransitionMessage' StagedQuoteCreated: '#/components/schemas/StagedQuoteCreatedMessage' StagedQuoteDeleted: '#/components/schemas/StagedQuoteDeletedMessage' StagedQuoteSellerCommentSet: '#/components/schemas/StagedQuoteSellerCommentSetMessage' StagedQuoteStateChanged: '#/components/schemas/StagedQuoteStateChangedMessage' StagedQuoteStateTransition: '#/components/schemas/StagedQuoteStateTransitionMessage' StagedQuoteValidToSet: '#/components/schemas/StagedQuoteValidToSetMessage' StandalonePriceActiveChanged: '#/components/schemas/StandalonePriceActiveChangedMessage' StandalonePriceCreated: '#/components/schemas/StandalonePriceCreatedMessage' StandalonePriceDeleted: '#/components/schemas/StandalonePriceDeletedMessage' StandalonePriceDiscountSet: '#/components/schemas/StandalonePriceDiscountSetMessage' StandalonePriceExternalDiscountSet: '#/components/schemas/StandalonePriceExternalDiscountSetMessage' StandalonePriceKeySet: '#/components/schemas/StandalonePriceKeySetMessage' StandalonePriceStagedChangesApplied: '#/components/schemas/StandalonePriceStagedChangesAppliedMessage' StandalonePriceStagedChangesRemoved: '#/components/schemas/StandalonePriceStagedChangesRemovedMessage' StandalonePriceTierAdded: '#/components/schemas/StandalonePriceTierAddedMessage' StandalonePriceTierRemoved: '#/components/schemas/StandalonePriceTierRemovedMessage' StandalonePriceTiersSet: '#/components/schemas/StandalonePriceTiersSetMessage' StandalonePriceValidFromAndUntilSet: '#/components/schemas/StandalonePriceValidFromAndUntilSetMessage' StandalonePriceValidFromSet: '#/components/schemas/StandalonePriceValidFromSetMessage' StandalonePriceValidUntilSet: '#/components/schemas/StandalonePriceValidUntilSetMessage' StandalonePriceValueChanged: '#/components/schemas/StandalonePriceValueChangedMessage' StoreCheckoutUrlTemplateSet: '#/components/schemas/StoreCheckoutUrlTemplateSetMessage' StoreContactUrlSet: '#/components/schemas/StoreContactUrlSetMessage' StoreCookiePolicyUrlSet: '#/components/schemas/StoreCookiePolicyUrlSetMessage' StoreCountriesChanged: '#/components/schemas/StoreCountriesChangedMessage' StoreCreated: '#/components/schemas/StoreCreatedMessage' StoreDeleted: '#/components/schemas/StoreDeletedMessage' StoreDistributionChannelsChanged: '#/components/schemas/StoreDistributionChannelsChangedMessage' StoreFaqUrlSet: '#/components/schemas/StoreFaqUrlSetMessage' StoreImprintUrlSet: '#/components/schemas/StoreImprintUrlSetMessage' StoreLanguagesChanged: '#/components/schemas/StoreLanguagesChangedMessage' StoreNameSet: '#/components/schemas/StoreNameSetMessage' StoreOrderUrlTemplateSet: '#/components/schemas/StoreOrderUrlTemplateSetMessage' StorePrivacyPolicyUrlSet: '#/components/schemas/StorePrivacyPolicyUrlSetMessage' StoreProductSelectionsChanged: '#/components/schemas/StoreProductSelectionsChangedMessage' StoreRefundPolicyUrlSet: '#/components/schemas/StoreRefundPolicyUrlSetMessage' StoreShippingPolicyUrlSet: '#/components/schemas/StoreShippingPolicyUrlSetMessage' StoreSupplyChannelsChanged: '#/components/schemas/StoreSupplyChannelsChangedMessage' StoreTermsOfServiceUrlSet: '#/components/schemas/StoreTermsOfServiceUrlSetMessage' VariantCreated: '#/components/schemas/VariantCreatedMessage' VariantDeleted: '#/components/schemas/VariantDeletedMessage' VariantImageAdded: '#/components/schemas/VariantImageAddedMessage' VariantImagesSet: '#/components/schemas/VariantImagesSetMessage' VariantKeySet: '#/components/schemas/VariantKeySetMessage' VariantPublished: '#/components/schemas/VariantPublishedMessage' VariantSkuSet: '#/components/schemas/VariantSkuSetMessage' VariantStagedChangesRemoved: '#/components/schemas/VariantStagedChangesRemovedMessage' VariantUnpublished: '#/components/schemas/VariantUnpublishedMessage' required: - createdAt - id - lastModifiedAt - resource - resourceVersion - sequenceNumber - type - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' MessagePagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" offset: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/Message' MessagesConfiguration: type: "object" required: - enabled properties: enabled: type: "boolean" deleteDaysAfterCreation: type: "integer" format: "int32" MessagesConfigurationDraft: type: "object" required: - deleteDaysAfterCreation - enabled properties: enabled: type: "boolean" deleteDaysAfterCreation: type: "integer" format: "int32" OrderBillingAddressSetMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' address: $ref: '#/components/schemas/Address' oldAddress: $ref: '#/components/schemas/Address' OrderBusinessUnitSetMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' businessUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' oldbusinessUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' OrderCreatedFromRecurringOrderMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - order - recurringOrderRef properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' order: $ref: '#/components/schemas/Order' recurringOrderRef: $ref: '#/components/schemas/RecurringOrderReference' OrderCreatedMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - order properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' order: $ref: '#/components/schemas/Order' OrderCustomFieldAddedMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - name - value properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" value: {} OrderCustomFieldChangedMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - name - value properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" value: {} previousValue: {} OrderCustomFieldRemovedMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - name properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" OrderCustomLineItemAddedMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - customLineItem properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' customLineItem: $ref: '#/components/schemas/CustomLineItem' OrderCustomLineItemDiscountSetMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - customLineItemId - discountedPricePerQuantity properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' customLineItemId: type: "string" customLineItemKey: type: "string" discountedPricePerQuantity: type: "array" items: $ref: '#/components/schemas/DiscountedLineItemPriceForQuantity' taxedPrice: $ref: '#/components/schemas/TaxedItemPrice' OrderCustomLineItemQuantityChangedMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - customLineItemId - oldQuantity - quantity properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' customLineItemId: type: "string" customLineItemKey: type: "string" quantity: type: "integer" format: "int64" oldQuantity: type: "integer" format: "int64" OrderCustomLineItemRemovedMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - customLineItem - customLineItemId properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' customLineItemId: type: "string" customLineItemKey: type: "string" customLineItem: $ref: '#/components/schemas/CustomLineItem' OrderCustomTypeRemovedMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' previousTypeId: type: "string" OrderCustomTypeSetMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - customFields properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' customFields: $ref: '#/components/schemas/CustomFields' previousTypeId: type: "string" OrderCustomerEmailSetMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' email: type: "string" oldEmail: type: "string" OrderCustomerGroupSetMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' customerGroup: $ref: '#/components/schemas/CustomerGroupReference' oldCustomerGroup: $ref: '#/components/schemas/CustomerGroupReference' OrderCustomerSetMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' customer: $ref: '#/components/schemas/CustomerReference' customerGroup: $ref: '#/components/schemas/CustomerGroupReference' oldCustomer: $ref: '#/components/schemas/CustomerReference' oldCustomerGroup: $ref: '#/components/schemas/CustomerGroupReference' OrderDeletedMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - order properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' order: $ref: '#/components/schemas/Order' OrderDiscountCodeAddedMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - discountCode properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' discountCode: $ref: '#/components/schemas/DiscountCodeReference' OrderDiscountCodeRemovedMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - discountCode properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' discountCode: $ref: '#/components/schemas/DiscountCodeReference' OrderDiscountCodeStateSetMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - discountCode - state properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' discountCode: $ref: '#/components/schemas/DiscountCodeReference' state: $ref: '#/components/schemas/DiscountCodeState' oldState: $ref: '#/components/schemas/DiscountCodeState' OrderEditAppliedMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - edit - result properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' edit: $ref: '#/components/schemas/OrderEdit' result: $ref: '#/components/schemas/OrderEditApplied' OrderEstimatedDeliverySetMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' estimatedDelivery: $ref: '#/components/schemas/EstimatedDelivery' shippingKey: type: "string" OrderImportedMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - order properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' order: $ref: '#/components/schemas/Order' OrderLineItemAddedMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - addedQuantity - lineItem properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' lineItem: $ref: '#/components/schemas/LineItem' addedQuantity: type: "integer" format: "int64" OrderLineItemDiscountSetMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - discountedPricePerQuantity - lineItemId - taxedPricePortions - totalPrice properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' lineItemId: type: "string" lineItemKey: type: "string" discountedPricePerQuantity: type: "array" items: $ref: '#/components/schemas/DiscountedLineItemPriceForQuantity' totalPrice: $ref: '#/components/schemas/CentPrecisionMoney' taxedPrice: $ref: '#/components/schemas/TaxedItemPrice' taxedPricePortions: type: "array" items: $ref: '#/components/schemas/MethodTaxedPrice' OrderLineItemDistributionChannelSetMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - lineItemId properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' lineItemId: type: "string" lineItemKey: type: "string" distributionChannel: $ref: '#/components/schemas/ChannelReference' OrderLineItemRemovedMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - lineItemId - newQuantity - newState - newTotalPrice - removedQuantity properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' lineItemId: type: "string" lineItemKey: type: "string" removedQuantity: type: "integer" format: "int64" newQuantity: type: "integer" format: "int64" newState: type: "array" items: $ref: '#/components/schemas/ItemState' newTotalPrice: $ref: '#/components/schemas/CentPrecisionMoney' newTaxedPrice: $ref: '#/components/schemas/TaxedItemPrice' newPrice: $ref: '#/components/schemas/Price' newShippingDetail: $ref: '#/components/schemas/ItemShippingDetails' OrderMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' OrderPaymentAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - paymentRef properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' paymentRef: $ref: '#/components/schemas/PaymentReference' OrderPaymentRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - paymentRef - removedPaymentInfo properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' paymentRef: $ref: '#/components/schemas/PaymentReference' removedPaymentInfo: type: "boolean" OrderPaymentStateChangedMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - paymentState properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' paymentState: $ref: '#/components/schemas/PaymentState' oldPaymentState: $ref: '#/components/schemas/PaymentState' OrderPurchaseOrderNumberSetMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' purchaseOrderNumber: type: "string" oldPurchaseOrderNumber: type: "string" OrderReturnShipmentStateChangedMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - returnItemId - returnShipmentState properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' returnItemId: type: "string" returnShipmentState: $ref: '#/components/schemas/ReturnShipmentState' OrderShipmentStateChangedMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - shipmentState properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' shipmentState: $ref: '#/components/schemas/ShipmentState' oldShipmentState: $ref: '#/components/schemas/ShipmentState' OrderShippingAddressSetMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' address: $ref: '#/components/schemas/Address' oldAddress: $ref: '#/components/schemas/Address' OrderShippingInfoSetMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' shippingInfo: $ref: '#/components/schemas/ShippingInfo' oldShippingInfo: $ref: '#/components/schemas/ShippingInfo' OrderShippingRateInputSetMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' shippingRateInput: $ref: '#/components/schemas/ShippingRateInput' oldShippingRateInput: $ref: '#/components/schemas/ShippingRateInput' OrderStateChangedMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - orderState properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' orderState: $ref: '#/components/schemas/OrderState' oldOrderState: $ref: '#/components/schemas/OrderState' OrderStateTransitionMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - force - state properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' state: $ref: '#/components/schemas/StateReference' oldState: $ref: '#/components/schemas/StateReference' force: type: "boolean" OrderStoreSetMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' store: $ref: '#/components/schemas/StoreKeyReference' ParcelAddedToDeliveryMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - delivery - parcel properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' delivery: $ref: '#/components/schemas/Delivery' parcel: $ref: '#/components/schemas/Parcel' shippingKey: type: "string" ParcelItemsUpdatedMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - deliveryId - items - oldItems - parcelId properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' parcelId: type: "string" deliveryId: type: "string" items: type: "array" items: $ref: '#/components/schemas/DeliveryItem' oldItems: type: "array" items: $ref: '#/components/schemas/DeliveryItem' shippingKey: type: "string" ParcelMeasurementsUpdatedMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - deliveryId - parcelId properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' deliveryId: type: "string" parcelId: type: "string" measurements: $ref: '#/components/schemas/ParcelMeasurements' shippingKey: type: "string" ParcelRemovedFromDeliveryMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - deliveryId - parcel properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' deliveryId: type: "string" parcel: $ref: '#/components/schemas/Parcel' shippingKey: type: "string" ParcelTrackingDataUpdatedMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - deliveryId - parcelId properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' deliveryId: type: "string" parcelId: type: "string" trackingData: $ref: '#/components/schemas/TrackingData' shippingKey: type: "string" PaymentCreatedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - payment properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' payment: $ref: '#/components/schemas/Payment' PaymentInteractionAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - interaction properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' interaction: $ref: '#/components/schemas/CustomFields' PaymentInterfaceIdSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' interfaceId: type: "string" oldInterfaceId: type: "string" PaymentMethodCreatedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - paymentMethod properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' paymentMethod: $ref: '#/components/schemas/PaymentMethod' PaymentMethodCustomFieldAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - name - value properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" value: {} PaymentMethodCustomFieldChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - name - value properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" value: {} oldValue: {} PaymentMethodCustomFieldRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - name properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" PaymentMethodCustomTypeRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' oldTypeId: type: "string" PaymentMethodCustomTypeSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - customFields properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' customFields: $ref: '#/components/schemas/CustomFields' oldTypeId: type: "string" PaymentMethodDefaultSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - default - oldDefault properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' default: type: "boolean" oldDefault: type: "boolean" PaymentMethodDeletedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - paymentMethod properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' paymentMethod: $ref: '#/components/schemas/PaymentMethod' PaymentMethodInfoCustomFieldAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - name - value properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" value: {} PaymentMethodInfoCustomFieldChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - name - value properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" value: {} PaymentMethodInfoCustomFieldRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - name properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" PaymentMethodInfoCustomTypeRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' oldTypeId: type: "string" PaymentMethodInfoCustomTypeSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - customFields properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' customFields: $ref: '#/components/schemas/CustomFields' oldTypeId: type: "string" PaymentMethodInfoInterfaceAccountSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' interfaceAccount: type: "string" oldInterfaceAccount: type: "string" PaymentMethodInfoInterfaceSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' interface: type: "string" oldInterface: type: "string" PaymentMethodInfoMethodSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' method: type: "string" oldMethod: type: "string" PaymentMethodInfoNameSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: $ref: '#/components/schemas/LocalizedString' oldName: $ref: '#/components/schemas/LocalizedString' PaymentMethodInfoTokenSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' token: $ref: '#/components/schemas/PaymentMethodToken' oldToken: $ref: '#/components/schemas/PaymentMethodToken' PaymentMethodInterfaceAccountSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' interfaceAccount: type: "string" oldInterfaceAccount: type: "string" PaymentMethodKeySetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' key: type: "string" oldKey: type: "string" PaymentMethodMethodSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' method: type: "string" oldMethod: type: "string" PaymentMethodNameSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: $ref: '#/components/schemas/LocalizedString' oldName: $ref: '#/components/schemas/LocalizedString' PaymentMethodPaymentInterfaceSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' paymentInterface: type: "string" oldPaymentInterface: type: "string" PaymentMethodPaymentMethodStatusSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' status: $ref: '#/components/schemas/PaymentMethodStatus' oldStatus: $ref: '#/components/schemas/PaymentMethodStatus' PaymentStatusInterfaceCodeSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - paymentId properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' paymentId: type: "string" interfaceCode: type: "string" PaymentStatusStateTransitionMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - force - state properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' state: $ref: '#/components/schemas/StateReference' force: type: "boolean" PaymentTransactionAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - transaction properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' transaction: $ref: '#/components/schemas/Transaction' PaymentTransactionInterfaceIdSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - transactionId properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' transactionId: type: "string" newInterfaceId: type: "string" oldInterfaceId: type: "string" PaymentTransactionStateChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - state - transactionId properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' transactionId: type: "string" state: $ref: '#/components/schemas/TransactionState' ProductAddedToCategoryMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - category - staged properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' category: $ref: '#/components/schemas/CategoryReference' staged: type: "boolean" ProductCreatedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - productProjection properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' productProjection: $ref: '#/components/schemas/ProductProjection' ProductDeletedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - removedImageUrls properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' removedImageUrls: type: "array" items: type: "string" currentProjection: $ref: '#/components/schemas/ProductProjection' ProductImageAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - image - staged - variantId properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' variantId: type: "integer" format: "int64" image: $ref: '#/components/schemas/Image' staged: type: "boolean" ProductPriceAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - price - staged - variantId properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' variantId: type: "integer" format: "int64" price: $ref: '#/components/schemas/Price' staged: type: "boolean" ProductPriceChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - newPrice - oldPrice - staged - variantId properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' variantId: type: "integer" format: "int64" oldPrice: $ref: '#/components/schemas/Price' newPrice: $ref: '#/components/schemas/Price' staged: type: "boolean" oldStagedPrice: $ref: '#/components/schemas/Price' ProductPriceCustomFieldAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - name - priceId - staged - value - variantId properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' priceId: type: "string" variantId: type: "integer" format: "int64" staged: type: "boolean" name: type: "string" value: {} ProductPriceCustomFieldChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - name - priceId - staged - value - variantId properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' priceId: type: "string" variantId: type: "integer" format: "int64" staged: type: "boolean" name: type: "string" value: {} ProductPriceCustomFieldRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - name - priceId - staged - variantId properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' priceId: type: "string" variantId: type: "integer" format: "int64" staged: type: "boolean" name: type: "string" ProductPriceCustomFieldsRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - priceId - staged - variantId properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' priceId: type: "string" variantId: type: "integer" format: "int64" staged: type: "boolean" ProductPriceCustomFieldsSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - customField - priceId - staged - variantId properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' priceId: type: "string" variantId: type: "integer" format: "int64" staged: type: "boolean" customField: $ref: '#/components/schemas/CustomFields' oldTypeId: type: "string" ProductPriceDiscountsSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - updatedPrices properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' updatedPrices: type: "array" items: $ref: '#/components/schemas/ProductPriceDiscountsSetUpdatedPrice' ProductPriceDiscountsSetUpdatedPrice: type: "object" required: - priceId - staged - variantId properties: variantId: type: "integer" format: "int32" variantKey: type: "string" sku: type: "string" priceId: type: "string" discounted: $ref: '#/components/schemas/DiscountedPrice' staged: type: "boolean" ProductPriceExternalDiscountSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - priceId - staged - variantId properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' variantId: type: "integer" format: "int32" variantKey: type: "string" sku: type: "string" priceId: type: "string" discounted: $ref: '#/components/schemas/DiscountedPrice' staged: type: "boolean" ProductPriceKeySetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - staged - variantId properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' variantId: type: "integer" format: "int64" priceId: type: "string" oldKey: type: "string" key: type: "string" staged: type: "boolean" ProductPriceModeSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - to properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' to: $ref: '#/components/schemas/ProductPriceModeEnum' ProductPriceRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - price - staged - variantId properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' variantId: type: "integer" format: "int64" price: $ref: '#/components/schemas/Price' staged: type: "boolean" ProductPricesSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - prices - staged - variantId properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' variantId: type: "integer" format: "int64" prices: type: "array" items: $ref: '#/components/schemas/Price' staged: type: "boolean" ProductPublishedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - productProjection - removedImageUrls - scope properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' removedImageUrls: type: "array" items: type: "string" productProjection: $ref: '#/components/schemas/ProductProjection' scope: $ref: '#/components/schemas/ProductPublishScope' ProductRemovedFromCategoryMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - category - staged properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' category: $ref: '#/components/schemas/CategoryReference' staged: type: "boolean" ProductRevertedStagedChangesMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - removedImageUrls properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' removedImageUrls: type: "array" items: type: "string" ProductSelectionCreatedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - productSelection properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' productSelection: $ref: '#/components/schemas/ProductSelection' ProductSelectionDeletedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' ProductSelectionProductAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - product properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' product: $ref: '#/components/schemas/ProductReference' variantSelection: $ref: '#/components/schemas/ProductVariantSelection' ProductSelectionProductExcludedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - product properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' product: $ref: '#/components/schemas/ProductReference' variantExclusion: $ref: '#/components/schemas/ProductVariantExclusion' ProductSelectionProductRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - product properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' product: $ref: '#/components/schemas/ProductReference' ProductSelectionVariantExclusionChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - product properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' product: $ref: '#/components/schemas/ProductReference' oldVariantExclusion: $ref: '#/components/schemas/ProductVariantExclusion' newVariantExclusion: $ref: '#/components/schemas/ProductVariantExclusion' ProductSelectionVariantSelectionChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - product properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' product: $ref: '#/components/schemas/ProductReference' oldVariantSelection: $ref: '#/components/schemas/ProductVariantSelection' newVariantSelection: $ref: '#/components/schemas/ProductVariantSelection' ProductSlugChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - slug properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' slug: $ref: '#/components/schemas/LocalizedString' oldSlug: $ref: '#/components/schemas/LocalizedString' ProductStateTransitionMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - force - state properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' state: $ref: '#/components/schemas/StateReference' force: type: "boolean" ProductTailoringCreatedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - product - published - store properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' key: type: "string" store: $ref: '#/components/schemas/StoreKeyReference' productKey: type: "string" product: $ref: '#/components/schemas/ProductReference' description: $ref: '#/components/schemas/LocalizedString' name: $ref: '#/components/schemas/LocalizedString' slug: $ref: '#/components/schemas/LocalizedString' metaTitle: $ref: '#/components/schemas/LocalizedString' metaDescription: $ref: '#/components/schemas/LocalizedString' metaKeywords: $ref: '#/components/schemas/LocalizedString' variants: type: "array" items: $ref: '#/components/schemas/ProductVariantTailoring' attributes: type: "array" items: $ref: '#/components/schemas/ProductTailoringAttribute' published: type: "boolean" ProductTailoringDeletedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - product - store properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' store: $ref: '#/components/schemas/StoreKeyReference' productKey: type: "string" product: $ref: '#/components/schemas/ProductReference' ProductTailoringDescriptionSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - product - store properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' store: $ref: '#/components/schemas/StoreKeyReference' productKey: type: "string" product: $ref: '#/components/schemas/ProductReference' description: $ref: '#/components/schemas/LocalizedString' oldDescription: $ref: '#/components/schemas/LocalizedString' ProductTailoringImageAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - image - product - store - variantId properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' store: $ref: '#/components/schemas/StoreKeyReference' productKey: type: "string" product: $ref: '#/components/schemas/ProductReference' variantId: type: "integer" format: "int64" image: $ref: '#/components/schemas/Image' ProductTailoringImagesSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - product - store - variantId properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' store: $ref: '#/components/schemas/StoreKeyReference' productKey: type: "string" product: $ref: '#/components/schemas/ProductReference' variantId: type: "integer" format: "int64" oldImages: type: "array" items: $ref: '#/components/schemas/Image' images: type: "array" items: $ref: '#/components/schemas/Image' ProductTailoringKeySetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - product - store properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' store: $ref: '#/components/schemas/StoreKeyReference' productKey: type: "string" product: $ref: '#/components/schemas/ProductReference' key: type: "string" oldKey: type: "string" ProductTailoringNameSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - product - store properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' store: $ref: '#/components/schemas/StoreKeyReference' productKey: type: "string" product: $ref: '#/components/schemas/ProductReference' name: $ref: '#/components/schemas/LocalizedString' oldName: $ref: '#/components/schemas/LocalizedString' ProductTailoringPublishedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - product - store properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' store: $ref: '#/components/schemas/StoreKeyReference' productKey: type: "string" product: $ref: '#/components/schemas/ProductReference' ProductTailoringSlugSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - product - store properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' store: $ref: '#/components/schemas/StoreKeyReference' productKey: type: "string" product: $ref: '#/components/schemas/ProductReference' slug: $ref: '#/components/schemas/LocalizedString' oldSlug: $ref: '#/components/schemas/LocalizedString' ProductTailoringUnpublishedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - product - store properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' store: $ref: '#/components/schemas/StoreKeyReference' productKey: type: "string" product: $ref: '#/components/schemas/ProductReference' ProductUnpublishedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' ProductVariantAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - staged - variant properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' variant: $ref: '#/components/schemas/ProductVariant' staged: type: "boolean" ProductVariantDeletedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - removedImageUrls - staged properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' variant: $ref: '#/components/schemas/ProductVariant' removedImageUrls: type: "array" items: type: "string" staged: type: "boolean" ProductVariantTailoringAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - product - store - variant - variantId properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' store: $ref: '#/components/schemas/StoreKeyReference' productKey: type: "string" product: $ref: '#/components/schemas/ProductReference' variantId: type: "integer" format: "int64" variant: $ref: '#/components/schemas/ProductVariantTailoring' ProductVariantTailoringRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - product - store - variant - variantId properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' store: $ref: '#/components/schemas/StoreKeyReference' productKey: type: "string" product: $ref: '#/components/schemas/ProductReference' variantId: type: "integer" format: "int64" variant: $ref: '#/components/schemas/ProductVariantTailoring' QuoteCreatedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - quote properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' quote: $ref: '#/components/schemas/Quote' QuoteCustomerChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - customer - previousCustomer properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' customer: $ref: '#/components/schemas/CustomerReference' previousCustomer: $ref: '#/components/schemas/CustomerReference' QuoteDeletedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' QuoteRenegotiationRequestedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' buyerComment: type: "string" QuoteRequestCreatedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - quoteRequest properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' quoteRequest: $ref: '#/components/schemas/QuoteRequest' QuoteRequestCustomerChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - customer - previousCustomer properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' customer: $ref: '#/components/schemas/CustomerReference' previousCustomer: $ref: '#/components/schemas/CustomerReference' QuoteRequestDeletedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' QuoteRequestStateChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - oldQuoteRequestState - quoteRequestState properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' quoteRequestState: $ref: '#/components/schemas/QuoteRequestState' oldQuoteRequestState: $ref: '#/components/schemas/QuoteRequestState' QuoteRequestStateTransitionMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - force - state properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' state: $ref: '#/components/schemas/StateReference' oldState: $ref: '#/components/schemas/StateReference' force: type: "boolean" QuoteStateChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - oldQuoteState - quoteState properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' quoteState: $ref: '#/components/schemas/QuoteState' oldQuoteState: $ref: '#/components/schemas/QuoteState' QuoteStateTransitionMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - force - state properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' state: $ref: '#/components/schemas/StateReference' oldState: $ref: '#/components/schemas/StateReference' force: type: "boolean" RecurringOrderCreatedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - recurringOrder properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' recurringOrder: $ref: '#/components/schemas/RecurringOrder' RecurringOrderCustomFieldAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - name - value properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" value: {} RecurringOrderCustomFieldChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - name - value properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" value: {} previousValue: {} RecurringOrderCustomFieldRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - name properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: type: "string" RecurringOrderCustomTypeRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' previousTypeId: type: "string" RecurringOrderCustomTypeSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - customFields properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' customFields: $ref: '#/components/schemas/CustomFields' previousTypeId: type: "string" RecurringOrderDeletedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - recurringOrder properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' recurringOrder: $ref: '#/components/schemas/RecurringOrder' RecurringOrderExpiresAtSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - newExpiresAt - oldExpiresAt properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' newExpiresAt: type: "string" format: "datetime" oldExpiresAt: type: "string" format: "datetime" RecurringOrderFailedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - cartId - failedAt - failureReason - orderScheduledAt properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' cartId: type: "string" failedAt: type: "string" format: "datetime" failureReason: type: "string" orderScheduledAt: type: "string" format: "datetime" errors: type: "array" items: $ref: '#/components/schemas/RecurringOrderFailureError' RecurringOrderKeySetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' key: type: "string" oldKey: type: "string" RecurringOrderScheduleSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - oldRecurrencePolicySchedule - recurrencePolicySchedule properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' recurrencePolicySchedule: $ref: '#/components/schemas/RecurrencePolicySchedule' oldRecurrencePolicySchedule: $ref: '#/components/schemas/RecurrencePolicySchedule' RecurringOrderStartsAtSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - oldStartsAt - startsAt properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' startsAt: type: "string" format: "datetime" oldStartsAt: type: "string" format: "datetime" RecurringOrderStateChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - state properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' state: $ref: '#/components/schemas/RecurringOrderState' oldState: $ref: '#/components/schemas/RecurringOrderState' RecurringOrderStateTransitionMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - force - state properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' state: $ref: '#/components/schemas/StateReference' oldState: $ref: '#/components/schemas/StateReference' force: type: "boolean" ReturnInfoAddedMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" required: - returnInfo properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' returnInfo: $ref: '#/components/schemas/ReturnInfo' ReturnInfoSetMessage: allOf: - $ref: '#/components/schemas/OrderMessage' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' returnInfo: type: "array" items: $ref: '#/components/schemas/ReturnInfo' ReviewCreatedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - review properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' review: $ref: '#/components/schemas/Review' ReviewRatingSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - includedInStatistics properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' oldRating: type: "number" format: "double" newRating: type: "number" format: "double" includedInStatistics: type: "boolean" target: $ref: '#/components/schemas/Reference' ReviewStateTransitionMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - force - newIncludedInStatistics - newState - oldIncludedInStatistics properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' oldState: $ref: '#/components/schemas/StateReference' newState: $ref: '#/components/schemas/StateReference' oldIncludedInStatistics: type: "boolean" newIncludedInStatistics: type: "boolean" target: $ref: '#/components/schemas/Reference' force: type: "boolean" ShoppingListLineItemAddedMessage: allOf: - $ref: '#/components/schemas/ShoppingListMessage' - type: "object" required: - lineItem properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' lineItem: $ref: '#/components/schemas/ShoppingListLineItem' ShoppingListLineItemRemovedMessage: allOf: - $ref: '#/components/schemas/ShoppingListMessage' - type: "object" required: - lineItem properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' lineItem: $ref: '#/components/schemas/ShoppingListLineItem' ShoppingListMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' StagedQuoteCreatedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - stagedQuote properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' stagedQuote: $ref: '#/components/schemas/StagedQuote' StagedQuoteDeletedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' StagedQuoteSellerCommentSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - sellerComment properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' sellerComment: type: "string" StagedQuoteStateChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - oldStagedQuoteState - stagedQuoteState properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' stagedQuoteState: $ref: '#/components/schemas/StagedQuoteState' oldStagedQuoteState: $ref: '#/components/schemas/StagedQuoteState' StagedQuoteStateTransitionMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - force - state properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' state: $ref: '#/components/schemas/StateReference' oldState: $ref: '#/components/schemas/StateReference' force: type: "boolean" StagedQuoteValidToSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - validTo properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' validTo: type: "string" format: "datetime" StandalonePriceActiveChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - active - oldActive properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' active: type: "boolean" oldActive: type: "boolean" StandalonePriceCreatedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - standalonePrice properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' standalonePrice: $ref: '#/components/schemas/StandalonePrice' StandalonePriceDeletedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - sku properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' sku: type: "string" StandalonePriceDiscountSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' discounted: $ref: '#/components/schemas/DiscountedPrice' StandalonePriceExternalDiscountSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' discounted: $ref: '#/components/schemas/DiscountedPrice' StandalonePriceKeySetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' key: type: "string" oldKey: type: "string" StandalonePriceStagedChangesAppliedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - stagedChanges properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' stagedChanges: $ref: '#/components/schemas/StagedStandalonePrice' StandalonePriceStagedChangesRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - stagedChanges properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' stagedChanges: $ref: '#/components/schemas/StagedStandalonePrice' StandalonePriceTierAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - tier properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' tier: $ref: '#/components/schemas/PriceTier' StandalonePriceTierRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - removedTier properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' removedTier: $ref: '#/components/schemas/PriceTier' StandalonePriceTiersSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - previousTiers - tiers properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' tiers: type: "array" items: $ref: '#/components/schemas/PriceTier' previousTiers: type: "array" items: $ref: '#/components/schemas/PriceTier' StandalonePriceValidFromAndUntilSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' validFrom: type: "string" format: "datetime" previousValidFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" previousValidUntil: type: "string" format: "datetime" StandalonePriceValidFromSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' validFrom: type: "string" format: "datetime" previousValidFrom: type: "string" format: "datetime" StandalonePriceValidUntilSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' validUntil: type: "string" format: "datetime" previousValidUntil: type: "string" format: "datetime" StandalonePriceValueChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - staged - value properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' value: $ref: '#/components/schemas/TypedMoney' staged: type: "boolean" oldValue: $ref: '#/components/schemas/TypedMoney' StoreCheckoutUrlTemplateSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' checkoutUrlTemplate: type: "string" StoreContactUrlSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' contactUrl: type: "string" StoreCookiePolicyUrlSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' cookiePolicyUrl: type: "string" StoreCountriesChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' addedCountries: type: "array" items: $ref: '#/components/schemas/StoreCountry' removedCountries: type: "array" items: $ref: '#/components/schemas/StoreCountry' StoreCreatedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - distributionChannels - productSelections - supplyChannels properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: $ref: '#/components/schemas/LocalizedString' languages: type: "array" items: type: "string" countries: type: "array" items: $ref: '#/components/schemas/StoreCountry' distributionChannels: type: "array" items: $ref: '#/components/schemas/ChannelReference' supplyChannels: type: "array" items: $ref: '#/components/schemas/ChannelReference' productSelections: type: "array" items: $ref: '#/components/schemas/ProductSelectionSetting' custom: $ref: '#/components/schemas/CustomFields' StoreDeletedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' StoreDistributionChannelsChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' addedDistributionChannels: type: "array" items: $ref: '#/components/schemas/ChannelReference' removedDistributionChannels: type: "array" items: $ref: '#/components/schemas/ChannelReference' StoreFaqUrlSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' faqUrl: type: "string" StoreImprintUrlSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' imprintUrl: type: "string" StoreLanguagesChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' addedLanguages: type: "array" items: $ref: '#/components/schemas/Locale' removedLanguages: type: "array" items: $ref: '#/components/schemas/Locale' StoreNameSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' name: $ref: '#/components/schemas/LocalizedString' nameAllLocales: type: "array" items: $ref: '#/components/schemas/LocalizedString' StoreOrderUrlTemplateSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' orderUrlTemplate: type: "string" StorePrivacyPolicyUrlSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' privacyPolicyUrl: type: "string" StoreProductSelectionsChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' addedProductSelections: type: "array" items: $ref: '#/components/schemas/ProductSelectionSetting' removedProductSelections: type: "array" items: $ref: '#/components/schemas/ProductSelectionSetting' updatedProductSelections: type: "array" items: $ref: '#/components/schemas/ProductSelectionSetting' StoreRefundPolicyUrlSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' refundPolicyUrl: type: "string" StoreShippingPolicyUrlSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' shippingPolicyUrl: type: "string" StoreSupplyChannelsChangedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' addedSupplyChannels: type: "array" items: $ref: '#/components/schemas/ChannelReference' removedSupplyChannels: type: "array" items: $ref: '#/components/schemas/ChannelReference' StoreTermsOfServiceUrlSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' termsOfServiceUrl: type: "string" UserProvidedIdentifiers: type: "object" properties: key: type: "string" externalId: type: "string" orderNumber: type: "string" customerNumber: type: "string" sku: type: "string" slug: $ref: '#/components/schemas/LocalizedString' containerAndKey: $ref: '#/components/schemas/ContainerAndKey' VariantCreatedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - id - product - publish - variantId properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' product: $ref: '#/components/schemas/ProductReference' variantId: type: "integer" format: "int32" key: type: "string" sku: type: "string" attributes: type: "array" items: $ref: '#/components/schemas/Attribute' assets: type: "array" items: $ref: '#/components/schemas/Asset' images: type: "array" items: $ref: '#/components/schemas/Image' publish: type: "boolean" VariantDeletedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - product properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' product: $ref: '#/components/schemas/ProductReference' VariantImageAddedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - image - product - staged properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' product: $ref: '#/components/schemas/ProductReference' image: $ref: '#/components/schemas/Image' staged: type: "boolean" VariantImagesSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - images - oldImages - product - staged properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' product: $ref: '#/components/schemas/ProductReference' images: type: "array" items: $ref: '#/components/schemas/Image' oldImages: type: "array" items: $ref: '#/components/schemas/Image' staged: type: "boolean" VariantKeySetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - product properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' product: $ref: '#/components/schemas/ProductReference' key: type: "string" oldKey: type: "string" VariantPublishedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - product properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' product: $ref: '#/components/schemas/ProductReference' VariantSkuSetMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - product - staged properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' product: $ref: '#/components/schemas/ProductReference' sku: type: "string" oldSku: type: "string" staged: type: "boolean" VariantStagedChangesRemovedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - product properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' product: $ref: '#/components/schemas/ProductReference' VariantUnpublishedMessage: allOf: - $ref: '#/components/schemas/Message' - type: "object" required: - product properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' sequenceNumber: type: "integer" format: "int64" resource: $ref: '#/components/schemas/Reference' resourceVersion: type: "integer" format: "int64" type: type: "string" resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' product: $ref: '#/components/schemas/ProductReference' ApprovalFlowApprovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - associate - order properties: type: type: "string" associate: $ref: '#/components/schemas/CustomerReference' order: $ref: '#/components/schemas/OrderReference' ApprovalFlowCompletedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - order - status properties: type: type: "string" status: $ref: '#/components/schemas/ApprovalFlowStatus' order: $ref: '#/components/schemas/OrderReference' ApprovalFlowCreatedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - approvalFlow properties: type: type: "string" approvalFlow: $ref: '#/components/schemas/ApprovalFlow' ApprovalFlowRejectedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - associate - order properties: type: type: "string" associate: $ref: '#/components/schemas/CustomerReference' rejectionReason: type: "string" order: $ref: '#/components/schemas/OrderReference' ApprovalRuleApproversSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - approvers - oldApprovers properties: type: type: "string" approvers: $ref: '#/components/schemas/ApproverHierarchy' oldApprovers: $ref: '#/components/schemas/ApproverHierarchy' ApprovalRuleCreatedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - approvalRule properties: type: type: "string" approvalRule: $ref: '#/components/schemas/ApprovalRule' ApprovalRuleDescriptionSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" description: type: "string" oldDescription: type: "string" ApprovalRuleKeySetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" key: type: "string" oldKey: type: "string" ApprovalRuleNameSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - name - oldName properties: type: type: "string" name: type: "string" oldName: type: "string" ApprovalRulePredicateSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - oldPredicate - predicate properties: type: type: "string" predicate: type: "string" oldPredicate: type: "string" ApprovalRuleRequestersSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - oldRequesters - requesters properties: type: type: "string" requesters: type: "array" items: $ref: '#/components/schemas/RuleRequester' oldRequesters: type: "array" items: $ref: '#/components/schemas/RuleRequester' ApprovalRuleStatusSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - oldStatus - status properties: type: type: "string" status: $ref: '#/components/schemas/ApprovalRuleStatus' oldStatus: $ref: '#/components/schemas/ApprovalRuleStatus' AssociateRoleBuyerAssignableChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - buyerAssignable properties: type: type: "string" buyerAssignable: type: "boolean" AssociateRoleCreatedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - associateRole properties: type: type: "string" associateRole: $ref: '#/components/schemas/AssociateRole' AssociateRoleDeletedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" AssociateRoleNameSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - name properties: type: type: "string" name: type: "string" AssociateRolePermissionAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - permission properties: type: type: "string" permission: $ref: '#/components/schemas/Permission' AssociateRolePermissionRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - permission properties: type: type: "string" permission: $ref: '#/components/schemas/Permission' AssociateRolePermissionsSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - permissions properties: type: type: "string" permissions: type: "array" items: $ref: '#/components/schemas/Permission' BusinessUnitAddressAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - address properties: type: type: "string" address: $ref: '#/components/schemas/Address' BusinessUnitAddressChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - address - addressRoles properties: type: type: "string" address: $ref: '#/components/schemas/Address' addressRoles: type: "array" items: $ref: '#/components/schemas/AddressRole' BusinessUnitAddressCustomFieldAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - name - value properties: type: type: "string" name: type: "string" value: {} addressId: type: "string" BusinessUnitAddressCustomFieldChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - name - value properties: type: type: "string" name: type: "string" value: {} oldValue: {} addressId: type: "string" BusinessUnitAddressCustomFieldRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - name properties: type: type: "string" name: type: "string" addressId: type: "string" BusinessUnitAddressCustomTypeRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" oldTypeId: type: "string" addressId: type: "string" BusinessUnitAddressCustomTypeSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - customFields properties: type: type: "string" customFields: $ref: '#/components/schemas/CustomFields' oldTypeId: type: "string" addressId: type: "string" BusinessUnitAddressRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - address - addressRoles properties: type: type: "string" address: $ref: '#/components/schemas/Address' addressRoles: type: "array" items: $ref: '#/components/schemas/AddressRole' BusinessUnitApprovalRuleModeChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - approvalRuleMode properties: type: type: "string" approvalRuleMode: $ref: '#/components/schemas/BusinessUnitApprovalRuleMode' oldApprovalRuleMode: $ref: '#/components/schemas/BusinessUnitApprovalRuleMode' BusinessUnitAssociateAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - associate properties: type: type: "string" associate: $ref: '#/components/schemas/Associate' BusinessUnitAssociateChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - associate properties: type: type: "string" associate: $ref: '#/components/schemas/Associate' BusinessUnitAssociateModeChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - associateMode - oldAssociateMode properties: type: type: "string" associateMode: $ref: '#/components/schemas/BusinessUnitAssociateMode' oldAssociateMode: $ref: '#/components/schemas/BusinessUnitAssociateMode' BusinessUnitAssociateRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - associate properties: type: type: "string" associate: $ref: '#/components/schemas/Associate' BusinessUnitAssociatesSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - associates properties: type: type: "string" associates: type: "array" items: $ref: '#/components/schemas/Associate' BusinessUnitBillingAddressAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - address properties: type: type: "string" address: $ref: '#/components/schemas/Address' BusinessUnitBillingAddressRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - address properties: type: type: "string" address: $ref: '#/components/schemas/Address' BusinessUnitContactEmailSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" contactEmail: type: "string" BusinessUnitCreatedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - businessUnit properties: type: type: "string" businessUnit: $ref: '#/components/schemas/BusinessUnit' BusinessUnitCustomFieldAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - name - value properties: type: type: "string" name: type: "string" value: {} BusinessUnitCustomFieldChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - name - value properties: type: type: "string" name: type: "string" value: {} oldValue: {} BusinessUnitCustomFieldRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - name properties: type: type: "string" name: type: "string" BusinessUnitCustomTypeRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" oldTypeId: type: "string" BusinessUnitCustomTypeSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - customFields properties: type: type: "string" customFields: $ref: '#/components/schemas/CustomFields' oldTypeId: type: "string" BusinessUnitCustomerGroupAssignmentAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - customerGroupAssignment properties: type: type: "string" customerGroupAssignment: $ref: '#/components/schemas/CustomerGroupAssignment' BusinessUnitCustomerGroupAssignmentRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - customerGroupAssignment properties: type: type: "string" customerGroupAssignment: $ref: '#/components/schemas/CustomerGroupAssignment' BusinessUnitCustomerGroupAssignmentsSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" customerGroupAssignments: type: "array" items: $ref: '#/components/schemas/CustomerGroupAssignment' oldCustomerGroupAssignments: type: "array" items: $ref: '#/components/schemas/CustomerGroupAssignment' BusinessUnitDefaultBillingAddressSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" address: $ref: '#/components/schemas/Address' BusinessUnitDefaultShippingAddressSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" address: $ref: '#/components/schemas/Address' BusinessUnitDeletedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" BusinessUnitNameChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - name properties: type: type: "string" name: type: "string" BusinessUnitParentChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" oldParentUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' newParentUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' BusinessUnitShippingAddressAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - address properties: type: type: "string" address: $ref: '#/components/schemas/Address' BusinessUnitShippingAddressRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - address properties: type: type: "string" address: $ref: '#/components/schemas/Address' BusinessUnitStatusChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - active properties: type: type: "string" active: $ref: '#/components/schemas/BusinessUnitStatus' BusinessUnitStoreAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - store properties: type: type: "string" store: $ref: '#/components/schemas/StoreKeyReference' BusinessUnitStoreModeChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - oldStoreMode - oldStores - storeMode - stores properties: type: type: "string" stores: type: "array" items: $ref: '#/components/schemas/StoreKeyReference' storeMode: $ref: '#/components/schemas/BusinessUnitStoreMode' oldStores: type: "array" items: $ref: '#/components/schemas/StoreKeyReference' oldStoreMode: $ref: '#/components/schemas/BusinessUnitStoreMode' BusinessUnitStoreRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - store properties: type: type: "string" store: $ref: '#/components/schemas/StoreKeyReference' BusinessUnitStoresSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - stores properties: type: type: "string" stores: type: "array" items: $ref: '#/components/schemas/StoreKeyReference' BusinessUnitTopLevelUnitSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - oldTopLevelUnit - topLevelUnit properties: type: type: "string" topLevelUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' oldTopLevelUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' BusinessUnitTypeSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - oldUnitType - unitType properties: type: type: "string" parentUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' oldParentUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' unitType: $ref: '#/components/schemas/BusinessUnitType' oldUnitType: $ref: '#/components/schemas/BusinessUnitType' CartDiscountCreatedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - cartDiscount properties: type: type: "string" cartDiscount: $ref: '#/components/schemas/CartDiscount' CartDiscountDeletedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" CartDiscountStoreAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - store properties: type: type: "string" store: $ref: '#/components/schemas/StoreKeyReference' CartDiscountStoreRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - store properties: type: type: "string" store: $ref: '#/components/schemas/StoreKeyReference' CartDiscountStoresSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - stores properties: type: type: "string" stores: type: "array" items: $ref: '#/components/schemas/StoreKeyReference' CartEstimatedDeliverySetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" estimatedDelivery: $ref: '#/components/schemas/EstimatedDelivery' shippingKey: type: "string" CartFrozenMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" CartLockedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" CartPurchaseOrderNumberSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" purchaseOrderNumber: type: "string" oldPurchaseOrderNumber: type: "string" CartUnfrozenMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" CartUnlockedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" CategoryCreatedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - category properties: type: type: "string" category: $ref: '#/components/schemas/Category' CategorySlugChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - slug properties: type: type: "string" slug: $ref: '#/components/schemas/LocalizedString' oldSlug: $ref: '#/components/schemas/LocalizedString' CustomLineItemStateTransitionMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - customLineItemId - fromState - quantity - toState - transitionDate properties: type: type: "string" customLineItemId: type: "string" customLineItemKey: type: "string" transitionDate: type: "string" format: "datetime" quantity: type: "integer" format: "int64" fromState: $ref: '#/components/schemas/StateReference' toState: $ref: '#/components/schemas/StateReference' CustomerAddressAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - address properties: type: type: "string" address: $ref: '#/components/schemas/Address' CustomerAddressChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - address - addressRoles properties: type: type: "string" address: $ref: '#/components/schemas/Address' addressRoles: type: "array" items: $ref: '#/components/schemas/AddressRole' CustomerAddressCustomFieldAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - name - value properties: type: type: "string" name: type: "string" value: {} addressId: type: "string" CustomerAddressCustomFieldChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - name - value properties: type: type: "string" name: type: "string" value: {} previousValue: {} addressId: type: "string" CustomerAddressCustomFieldRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - name properties: type: type: "string" name: type: "string" addressId: type: "string" CustomerAddressCustomTypeRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" previousTypeId: type: "string" addressId: type: "string" CustomerAddressCustomTypeSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - customFields properties: type: type: "string" customFields: $ref: '#/components/schemas/CustomFields' previousTypeId: type: "string" addressId: type: "string" CustomerAddressRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - address - addressRoles properties: type: type: "string" address: $ref: '#/components/schemas/Address' addressRoles: type: "array" items: $ref: '#/components/schemas/AddressRole' CustomerBillingAddressAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - address properties: type: type: "string" address: $ref: '#/components/schemas/Address' CustomerBillingAddressRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - address properties: type: type: "string" address: $ref: '#/components/schemas/Address' CustomerCompanyNameSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" companyName: type: "string" CustomerCreatedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - customer properties: type: type: "string" customer: $ref: '#/components/schemas/Customer' CustomerCustomFieldAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - name - value properties: type: type: "string" name: type: "string" value: {} CustomerCustomFieldChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - name - value properties: type: type: "string" name: type: "string" value: {} previousValue: {} CustomerCustomFieldRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - name properties: type: type: "string" name: type: "string" CustomerCustomTypeRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" previousTypeId: type: "string" CustomerCustomTypeSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - customFields properties: type: type: "string" customFields: $ref: '#/components/schemas/CustomFields' previousTypeId: type: "string" CustomerDateOfBirthSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" dateOfBirth: type: "string" format: "date-only" CustomerDefaultBillingAddressSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" address: $ref: '#/components/schemas/Address' CustomerDefaultShippingAddressSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" address: $ref: '#/components/schemas/Address' CustomerDeletedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" email: type: "string" CustomerEmailChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - email - oldEmail properties: type: type: "string" email: type: "string" oldEmail: type: "string" CustomerEmailTokenCreatedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - customerId - expiresAt - invalidateOlderTokens properties: type: type: "string" customerId: type: "string" expiresAt: type: "string" format: "datetime" value: type: "string" invalidateOlderTokens: type: "boolean" CustomerEmailVerifiedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" CustomerExternalIdSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" externalId: type: "string" CustomerFirstNameSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" firstName: type: "string" CustomerGroupAssignmentAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - customerGroupAssignment properties: type: type: "string" customerGroupAssignment: $ref: '#/components/schemas/CustomerGroupAssignment' CustomerGroupAssignmentRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - customerGroupAssignment properties: type: type: "string" customerGroupAssignment: $ref: '#/components/schemas/CustomerGroupAssignment' CustomerGroupAssignmentsSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - customerGroupAssignments - oldCustomerGroupAssignments properties: type: type: "string" customerGroupAssignments: type: "array" items: $ref: '#/components/schemas/CustomerGroupAssignment' oldCustomerGroupAssignments: type: "array" items: $ref: '#/components/schemas/CustomerGroupAssignment' CustomerGroupCustomFieldAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - name - value properties: type: type: "string" name: type: "string" value: {} CustomerGroupCustomFieldChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - name - value properties: type: type: "string" name: type: "string" value: {} oldValue: {} CustomerGroupCustomFieldRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - name properties: type: type: "string" name: type: "string" CustomerGroupCustomTypeRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" oldTypeId: type: "string" CustomerGroupCustomTypeSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - customFields properties: type: type: "string" customFields: $ref: '#/components/schemas/CustomFields' oldTypeId: type: "string" CustomerGroupSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" customerGroup: $ref: '#/components/schemas/CustomerGroupReference' CustomerLastNameSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" lastName: type: "string" CustomerPasswordTokenCreatedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - customerId - expiresAt - invalidateOlderTokens properties: type: type: "string" customerId: type: "string" expiresAt: type: "string" format: "datetime" value: type: "string" invalidateOlderTokens: type: "boolean" CustomerPasswordUpdatedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - reset properties: type: type: "string" reset: type: "boolean" CustomerShippingAddressAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - address properties: type: type: "string" address: $ref: '#/components/schemas/Address' CustomerShippingAddressRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - address properties: type: type: "string" address: $ref: '#/components/schemas/Address' CustomerStoresSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - oldStores - stores properties: type: type: "string" stores: type: "array" items: $ref: '#/components/schemas/StoreKeyReference' oldStores: type: "array" items: $ref: '#/components/schemas/StoreKeyReference' CustomerTitleSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" title: type: "string" DeliveryAddedMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - delivery properties: type: type: "string" delivery: $ref: '#/components/schemas/Delivery' shippingKey: type: "string" DeliveryAddressSetMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - deliveryId properties: type: type: "string" deliveryId: type: "string" address: $ref: '#/components/schemas/Address' oldAddress: $ref: '#/components/schemas/Address' shippingKey: type: "string" DeliveryCustomFieldAddedMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - deliveryId - name - value properties: type: type: "string" name: type: "string" value: {} deliveryId: type: "string" DeliveryCustomFieldChangedMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - deliveryId - name - value properties: type: type: "string" name: type: "string" value: {} previousValue: {} deliveryId: type: "string" DeliveryCustomFieldRemovedMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - deliveryId - name properties: type: type: "string" name: type: "string" deliveryId: type: "string" DeliveryCustomTypeRemovedMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - deliveryId properties: type: type: "string" previousTypeId: type: "string" deliveryId: type: "string" DeliveryCustomTypeSetMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - customFields - deliveryId properties: type: type: "string" customFields: $ref: '#/components/schemas/CustomFields' previousTypeId: type: "string" deliveryId: type: "string" DeliveryItemsUpdatedMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - deliveryId - items - oldItems properties: type: type: "string" deliveryId: type: "string" items: type: "array" items: $ref: '#/components/schemas/DeliveryItem' oldItems: type: "array" items: $ref: '#/components/schemas/DeliveryItem' shippingKey: type: "string" DeliveryRemovedMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - delivery properties: type: type: "string" delivery: $ref: '#/components/schemas/Delivery' shippingKey: type: "string" DiscountCodeCreatedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - discountCode properties: type: type: "string" discountCode: $ref: '#/components/schemas/DiscountCode' DiscountCodeDeletedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" DiscountCodeKeySetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" key: type: "string" oldKey: type: "string" DiscountGroupCreatedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - discountGroup properties: type: type: "string" discountGroup: $ref: '#/components/schemas/DiscountGroup' DiscountGroupDeletedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" DiscountGroupIsActiveSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" isActive: type: "boolean" oldIsActive: type: "boolean" DiscountGroupKeySetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" key: type: "string" oldKey: type: "string" DiscountGroupSortOrderSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" sortOrder: type: "string" oldSortOrder: type: "string" InventoryEntryCreatedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - inventoryEntry properties: type: type: "string" inventoryEntry: $ref: '#/components/schemas/InventoryEntry' InventoryEntryDeletedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - sku properties: type: type: "string" sku: type: "string" supplyChannel: $ref: '#/components/schemas/ChannelReference' InventoryEntryOutOfStockMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - sku properties: type: type: "string" sku: type: "string" supplyChannel: $ref: '#/components/schemas/ChannelReference' InventoryEntryQuantitySetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - newAvailableQuantity - newQuantityOnStock - oldAvailableQuantity - oldQuantityOnStock properties: type: type: "string" oldQuantityOnStock: type: "integer" format: "int64" newQuantityOnStock: type: "integer" format: "int64" oldAvailableQuantity: type: "integer" format: "int64" newAvailableQuantity: type: "integer" format: "int64" sku: type: "string" supplyChannel: $ref: '#/components/schemas/ChannelReference' InventoryEntryReorderPointMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - quantityOnStock - sku properties: type: type: "string" sku: type: "string" quantityOnStock: type: "integer" format: "int32" supplyChannel: $ref: '#/components/schemas/ChannelReference' InventoryEntryReservationExpirationInMinutesSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" newReservationExpirationInMinutes: type: "integer" format: "int32" oldReservationExpirationInMinutes: type: "integer" format: "int32" InventoryEntrySafetyStockMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - quantityOnStock - sku properties: type: type: "string" sku: type: "string" quantityOnStock: type: "integer" format: "int32" supplyChannel: $ref: '#/components/schemas/ChannelReference' LineItemStateTransitionMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - fromState - lineItemId - quantity - toState - transitionDate properties: type: type: "string" lineItemId: type: "string" lineItemKey: type: "string" transitionDate: type: "string" format: "datetime" quantity: type: "integer" format: "int64" fromState: $ref: '#/components/schemas/StateReference' toState: $ref: '#/components/schemas/StateReference' MessagePayload: type: "object" discriminator: propertyName: type mapping: ApprovalFlowApproved: '#/components/schemas/ApprovalFlowApprovedMessagePayload' ApprovalFlowCompleted: '#/components/schemas/ApprovalFlowCompletedMessagePayload' ApprovalFlowCreated: '#/components/schemas/ApprovalFlowCreatedMessagePayload' ApprovalFlowRejected: '#/components/schemas/ApprovalFlowRejectedMessagePayload' ApprovalRuleApproversSet: '#/components/schemas/ApprovalRuleApproversSetMessagePayload' ApprovalRuleCreated: '#/components/schemas/ApprovalRuleCreatedMessagePayload' ApprovalRuleDescriptionSet: '#/components/schemas/ApprovalRuleDescriptionSetMessagePayload' ApprovalRuleKeySet: '#/components/schemas/ApprovalRuleKeySetMessagePayload' ApprovalRuleNameSet: '#/components/schemas/ApprovalRuleNameSetMessagePayload' ApprovalRulePredicateSet: '#/components/schemas/ApprovalRulePredicateSetMessagePayload' ApprovalRuleRequestersSet: '#/components/schemas/ApprovalRuleRequestersSetMessagePayload' ApprovalRuleStatusSet: '#/components/schemas/ApprovalRuleStatusSetMessagePayload' AssociateRoleBuyerAssignableChanged: '#/components/schemas/AssociateRoleBuyerAssignableChangedMessagePayload' AssociateRoleCreated: '#/components/schemas/AssociateRoleCreatedMessagePayload' AssociateRoleDeleted: '#/components/schemas/AssociateRoleDeletedMessagePayload' AssociateRoleNameSet: '#/components/schemas/AssociateRoleNameSetMessagePayload' AssociateRolePermissionAdded: '#/components/schemas/AssociateRolePermissionAddedMessagePayload' AssociateRolePermissionRemoved: '#/components/schemas/AssociateRolePermissionRemovedMessagePayload' AssociateRolePermissionsSet: '#/components/schemas/AssociateRolePermissionsSetMessagePayload' BusinessUnitAddressAdded: '#/components/schemas/BusinessUnitAddressAddedMessagePayload' BusinessUnitAddressChanged: '#/components/schemas/BusinessUnitAddressChangedMessagePayload' BusinessUnitAddressCustomFieldAdded: '#/components/schemas/BusinessUnitAddressCustomFieldAddedMessagePayload' BusinessUnitAddressCustomFieldChanged: '#/components/schemas/BusinessUnitAddressCustomFieldChangedMessagePayload' BusinessUnitAddressCustomFieldRemoved: '#/components/schemas/BusinessUnitAddressCustomFieldRemovedMessagePayload' BusinessUnitAddressCustomTypeRemoved: '#/components/schemas/BusinessUnitAddressCustomTypeRemovedMessagePayload' BusinessUnitAddressCustomTypeSet: '#/components/schemas/BusinessUnitAddressCustomTypeSetMessagePayload' BusinessUnitAddressRemoved: '#/components/schemas/BusinessUnitAddressRemovedMessagePayload' BusinessUnitApprovalRuleModeChanged: '#/components/schemas/BusinessUnitApprovalRuleModeChangedMessagePayload' BusinessUnitAssociateAdded: '#/components/schemas/BusinessUnitAssociateAddedMessagePayload' BusinessUnitAssociateChanged: '#/components/schemas/BusinessUnitAssociateChangedMessagePayload' BusinessUnitAssociateModeChanged: '#/components/schemas/BusinessUnitAssociateModeChangedMessagePayload' BusinessUnitAssociateRemoved: '#/components/schemas/BusinessUnitAssociateRemovedMessagePayload' BusinessUnitAssociatesSet: '#/components/schemas/BusinessUnitAssociatesSetMessagePayload' BusinessUnitBillingAddressAdded: '#/components/schemas/BusinessUnitBillingAddressAddedMessagePayload' BusinessUnitBillingAddressRemoved: '#/components/schemas/BusinessUnitBillingAddressRemovedMessagePayload' BusinessUnitContactEmailSet: '#/components/schemas/BusinessUnitContactEmailSetMessagePayload' BusinessUnitCreated: '#/components/schemas/BusinessUnitCreatedMessagePayload' BusinessUnitCustomFieldAdded: '#/components/schemas/BusinessUnitCustomFieldAddedMessagePayload' BusinessUnitCustomFieldChanged: '#/components/schemas/BusinessUnitCustomFieldChangedMessagePayload' BusinessUnitCustomFieldRemoved: '#/components/schemas/BusinessUnitCustomFieldRemovedMessagePayload' BusinessUnitCustomTypeRemoved: '#/components/schemas/BusinessUnitCustomTypeRemovedMessagePayload' BusinessUnitCustomTypeSet: '#/components/schemas/BusinessUnitCustomTypeSetMessagePayload' BusinessUnitCustomerGroupAssignmentAdded: '#/components/schemas/BusinessUnitCustomerGroupAssignmentAddedMessagePayload' BusinessUnitCustomerGroupAssignmentRemoved: '#/components/schemas/BusinessUnitCustomerGroupAssignmentRemovedMessagePayload' BusinessUnitCustomerGroupAssignmentsSet: '#/components/schemas/BusinessUnitCustomerGroupAssignmentsSetMessagePayload' BusinessUnitDefaultBillingAddressSet: '#/components/schemas/BusinessUnitDefaultBillingAddressSetMessagePayload' BusinessUnitDefaultShippingAddressSet: '#/components/schemas/BusinessUnitDefaultShippingAddressSetMessagePayload' BusinessUnitDeleted: '#/components/schemas/BusinessUnitDeletedMessagePayload' BusinessUnitNameChanged: '#/components/schemas/BusinessUnitNameChangedMessagePayload' BusinessUnitParentChanged: '#/components/schemas/BusinessUnitParentChangedMessagePayload' BusinessUnitShippingAddressAdded: '#/components/schemas/BusinessUnitShippingAddressAddedMessagePayload' BusinessUnitShippingAddressRemoved: '#/components/schemas/BusinessUnitShippingAddressRemovedMessagePayload' BusinessUnitStatusChanged: '#/components/schemas/BusinessUnitStatusChangedMessagePayload' BusinessUnitStoreAdded: '#/components/schemas/BusinessUnitStoreAddedMessagePayload' BusinessUnitStoreModeChanged: '#/components/schemas/BusinessUnitStoreModeChangedMessagePayload' BusinessUnitStoreRemoved: '#/components/schemas/BusinessUnitStoreRemovedMessagePayload' BusinessUnitStoresSet: '#/components/schemas/BusinessUnitStoresSetMessagePayload' BusinessUnitTopLevelUnitSet: '#/components/schemas/BusinessUnitTopLevelUnitSetMessagePayload' BusinessUnitTypeSet: '#/components/schemas/BusinessUnitTypeSetMessagePayload' CartDiscountCreated: '#/components/schemas/CartDiscountCreatedMessagePayload' CartDiscountDeleted: '#/components/schemas/CartDiscountDeletedMessagePayload' CartDiscountStoreAdded: '#/components/schemas/CartDiscountStoreAddedMessagePayload' CartDiscountStoreRemoved: '#/components/schemas/CartDiscountStoreRemovedMessagePayload' CartDiscountStoresSet: '#/components/schemas/CartDiscountStoresSetMessagePayload' CartEstimatedDeliverySet: '#/components/schemas/CartEstimatedDeliverySetMessagePayload' CartFrozen: '#/components/schemas/CartFrozenMessagePayload' CartLocked: '#/components/schemas/CartLockedMessagePayload' CartPurchaseOrderNumberSet: '#/components/schemas/CartPurchaseOrderNumberSetMessagePayload' CartUnfrozen: '#/components/schemas/CartUnfrozenMessagePayload' CartUnlocked: '#/components/schemas/CartUnlockedMessagePayload' CategoryCreated: '#/components/schemas/CategoryCreatedMessagePayload' CategorySlugChanged: '#/components/schemas/CategorySlugChangedMessagePayload' CustomerAddressAdded: '#/components/schemas/CustomerAddressAddedMessagePayload' CustomerAddressChanged: '#/components/schemas/CustomerAddressChangedMessagePayload' CustomerAddressCustomFieldAdded: '#/components/schemas/CustomerAddressCustomFieldAddedMessagePayload' CustomerAddressCustomFieldChanged: '#/components/schemas/CustomerAddressCustomFieldChangedMessagePayload' CustomerAddressCustomFieldRemoved: '#/components/schemas/CustomerAddressCustomFieldRemovedMessagePayload' CustomerAddressCustomTypeRemoved: '#/components/schemas/CustomerAddressCustomTypeRemovedMessagePayload' CustomerAddressCustomTypeSet: '#/components/schemas/CustomerAddressCustomTypeSetMessagePayload' CustomerAddressRemoved: '#/components/schemas/CustomerAddressRemovedMessagePayload' CustomerBillingAddressAdded: '#/components/schemas/CustomerBillingAddressAddedMessagePayload' CustomerBillingAddressRemoved: '#/components/schemas/CustomerBillingAddressRemovedMessagePayload' CustomerCompanyNameSet: '#/components/schemas/CustomerCompanyNameSetMessagePayload' CustomerCreated: '#/components/schemas/CustomerCreatedMessagePayload' CustomerCustomFieldAdded: '#/components/schemas/CustomerCustomFieldAddedMessagePayload' CustomerCustomFieldChanged: '#/components/schemas/CustomerCustomFieldChangedMessagePayload' CustomerCustomFieldRemoved: '#/components/schemas/CustomerCustomFieldRemovedMessagePayload' CustomerCustomTypeRemoved: '#/components/schemas/CustomerCustomTypeRemovedMessagePayload' CustomerCustomTypeSet: '#/components/schemas/CustomerCustomTypeSetMessagePayload' CustomerDateOfBirthSet: '#/components/schemas/CustomerDateOfBirthSetMessagePayload' CustomerDefaultBillingAddressSet: '#/components/schemas/CustomerDefaultBillingAddressSetMessagePayload' CustomerDefaultShippingAddressSet: '#/components/schemas/CustomerDefaultShippingAddressSetMessagePayload' CustomerDeleted: '#/components/schemas/CustomerDeletedMessagePayload' CustomerEmailChanged: '#/components/schemas/CustomerEmailChangedMessagePayload' CustomerEmailTokenCreated: '#/components/schemas/CustomerEmailTokenCreatedMessagePayload' CustomerEmailVerified: '#/components/schemas/CustomerEmailVerifiedMessagePayload' CustomerExternalIdSet: '#/components/schemas/CustomerExternalIdSetMessagePayload' CustomerFirstNameSet: '#/components/schemas/CustomerFirstNameSetMessagePayload' CustomerGroupAssignmentAdded: '#/components/schemas/CustomerGroupAssignmentAddedMessagePayload' CustomerGroupAssignmentRemoved: '#/components/schemas/CustomerGroupAssignmentRemovedMessagePayload' CustomerGroupAssignmentsSet: '#/components/schemas/CustomerGroupAssignmentsSetMessagePayload' CustomerGroupCustomFieldAdded: '#/components/schemas/CustomerGroupCustomFieldAddedMessagePayload' CustomerGroupCustomFieldChanged: '#/components/schemas/CustomerGroupCustomFieldChangedMessagePayload' CustomerGroupCustomFieldRemoved: '#/components/schemas/CustomerGroupCustomFieldRemovedMessagePayload' CustomerGroupCustomTypeRemoved: '#/components/schemas/CustomerGroupCustomTypeRemovedMessagePayload' CustomerGroupCustomTypeSet: '#/components/schemas/CustomerGroupCustomTypeSetMessagePayload' CustomerGroupSet: '#/components/schemas/CustomerGroupSetMessagePayload' CustomerLastNameSet: '#/components/schemas/CustomerLastNameSetMessagePayload' CustomerPasswordTokenCreated: '#/components/schemas/CustomerPasswordTokenCreatedMessagePayload' CustomerPasswordUpdated: '#/components/schemas/CustomerPasswordUpdatedMessagePayload' CustomerShippingAddressAdded: '#/components/schemas/CustomerShippingAddressAddedMessagePayload' CustomerShippingAddressRemoved: '#/components/schemas/CustomerShippingAddressRemovedMessagePayload' CustomerStoresSet: '#/components/schemas/CustomerStoresSetMessagePayload' CustomerTitleSet: '#/components/schemas/CustomerTitleSetMessagePayload' DiscountCodeCreated: '#/components/schemas/DiscountCodeCreatedMessagePayload' DiscountCodeDeleted: '#/components/schemas/DiscountCodeDeletedMessagePayload' DiscountCodeKeySet: '#/components/schemas/DiscountCodeKeySetMessagePayload' DiscountGroupCreated: '#/components/schemas/DiscountGroupCreatedMessagePayload' DiscountGroupDeleted: '#/components/schemas/DiscountGroupDeletedMessagePayload' DiscountGroupIsActiveSet: '#/components/schemas/DiscountGroupIsActiveSetMessagePayload' DiscountGroupKeySet: '#/components/schemas/DiscountGroupKeySetMessagePayload' DiscountGroupSortOrderSet: '#/components/schemas/DiscountGroupSortOrderSetMessagePayload' InventoryEntryCreated: '#/components/schemas/InventoryEntryCreatedMessagePayload' InventoryEntryDeleted: '#/components/schemas/InventoryEntryDeletedMessagePayload' InventoryEntryOutOfStock: '#/components/schemas/InventoryEntryOutOfStockMessagePayload' InventoryEntryQuantitySet: '#/components/schemas/InventoryEntryQuantitySetMessagePayload' InventoryEntryReorderPoint: '#/components/schemas/InventoryEntryReorderPointMessagePayload' InventoryEntryReservationExpirationInMinutesSet: '#/components/schemas/InventoryEntryReservationExpirationInMinutesSetMessagePayload' InventoryEntrySafetyStock: '#/components/schemas/InventoryEntrySafetyStockMessagePayload' OrderPaymentAdded: '#/components/schemas/OrderPaymentAddedMessagePayload' OrderPaymentRemoved: '#/components/schemas/OrderPaymentRemovedMessagePayload' PaymentCreated: '#/components/schemas/PaymentCreatedMessagePayload' PaymentInteractionAdded: '#/components/schemas/PaymentInteractionAddedMessagePayload' PaymentInterfaceIdSet: '#/components/schemas/PaymentInterfaceIdSetMessagePayload' PaymentMethodCreated: '#/components/schemas/PaymentMethodCreatedMessagePayload' PaymentMethodCustomFieldAdded: '#/components/schemas/PaymentMethodCustomFieldAddedMessagePayload' PaymentMethodCustomFieldChanged: '#/components/schemas/PaymentMethodCustomFieldChangedMessagePayload' PaymentMethodCustomFieldRemoved: '#/components/schemas/PaymentMethodCustomFieldRemovedMessagePayload' PaymentMethodCustomTypeRemoved: '#/components/schemas/PaymentMethodCustomTypeRemovedMessagePayload' PaymentMethodCustomTypeSet: '#/components/schemas/PaymentMethodCustomTypeSetMessagePayload' PaymentMethodDefaultSet: '#/components/schemas/PaymentMethodDefaultSetMessagePayload' PaymentMethodDeleted: '#/components/schemas/PaymentMethodDeletedMessagePayload' PaymentMethodInfoCustomFieldAdded: '#/components/schemas/PaymentMethodInfoCustomFieldAddedMessagePayload' PaymentMethodInfoCustomFieldChanged: '#/components/schemas/PaymentMethodInfoCustomFieldChangedMessagePayload' PaymentMethodInfoCustomFieldRemoved: '#/components/schemas/PaymentMethodInfoCustomFieldRemovedMessagePayload' PaymentMethodInfoCustomTypeRemoved: '#/components/schemas/PaymentMethodInfoCustomTypeRemovedMessagePayload' PaymentMethodInfoCustomTypeSet: '#/components/schemas/PaymentMethodInfoCustomTypeSetMessagePayload' PaymentMethodInfoInterfaceAccountSet: '#/components/schemas/PaymentMethodInfoInterfaceAccountSetMessagePayload' PaymentMethodInfoInterfaceSet: '#/components/schemas/PaymentMethodInfoInterfaceSetMessagePayload' PaymentMethodInfoMethodSet: '#/components/schemas/PaymentMethodInfoMethodSetMessagePayload' PaymentMethodInfoNameSet: '#/components/schemas/PaymentMethodInfoNameSetMessagePayload' PaymentMethodInfoTokenSet: '#/components/schemas/PaymentMethodInfoTokenSetMessagePayload' PaymentMethodInterfaceAccountSet: '#/components/schemas/PaymentMethodInterfaceAccountSetMessagePayload' PaymentMethodKeySet: '#/components/schemas/PaymentMethodKeySetMessagePayload' PaymentMethodMethodSet: '#/components/schemas/PaymentMethodMethodSetMessagePayload' PaymentMethodNameSet: '#/components/schemas/PaymentMethodNameSetMessagePayload' PaymentMethodPaymentInterfaceSet: '#/components/schemas/PaymentMethodPaymentInterfaceSetMessagePayload' PaymentMethodPaymentMethodStatusSet: '#/components/schemas/PaymentMethodPaymentMethodStatusSetMessagePayload' PaymentStatusInterfaceCodeSet: '#/components/schemas/PaymentStatusInterfaceCodeSetMessagePayload' PaymentStatusStateTransition: '#/components/schemas/PaymentStatusStateTransitionMessagePayload' PaymentTransactionAdded: '#/components/schemas/PaymentTransactionAddedMessagePayload' PaymentTransactionInterfaceIdSet: '#/components/schemas/PaymentTransactionInterfaceIdSetMessagePayload' PaymentTransactionStateChanged: '#/components/schemas/PaymentTransactionStateChangedMessagePayload' ProductAddedToCategory: '#/components/schemas/ProductAddedToCategoryMessagePayload' ProductCreated: '#/components/schemas/ProductCreatedMessagePayload' ProductDeleted: '#/components/schemas/ProductDeletedMessagePayload' ProductImageAdded: '#/components/schemas/ProductImageAddedMessagePayload' ProductPriceAdded: '#/components/schemas/ProductPriceAddedMessagePayload' ProductPriceChanged: '#/components/schemas/ProductPriceChangedMessagePayload' ProductPriceCustomFieldAdded: '#/components/schemas/ProductPriceCustomFieldAddedMessagePayload' ProductPriceCustomFieldChanged: '#/components/schemas/ProductPriceCustomFieldChangedMessagePayload' ProductPriceCustomFieldRemoved: '#/components/schemas/ProductPriceCustomFieldRemovedMessagePayload' ProductPriceCustomFieldsRemoved: '#/components/schemas/ProductPriceCustomFieldsRemovedMessagePayload' ProductPriceCustomFieldsSet: '#/components/schemas/ProductPriceCustomFieldsSetMessagePayload' ProductPriceDiscountsSet: '#/components/schemas/ProductPriceDiscountsSetMessagePayload' ProductPriceExternalDiscountSet: '#/components/schemas/ProductPriceExternalDiscountSetMessagePayload' ProductPriceKeySet: '#/components/schemas/ProductPriceKeySetMessagePayload' ProductPriceModeSet: '#/components/schemas/ProductPriceModeSetMessagePayload' ProductPriceRemoved: '#/components/schemas/ProductPriceRemovedMessagePayload' ProductPricesSet: '#/components/schemas/ProductPricesSetMessagePayload' ProductPublished: '#/components/schemas/ProductPublishedMessagePayload' ProductRemovedFromCategory: '#/components/schemas/ProductRemovedFromCategoryMessagePayload' ProductRevertedStagedChanges: '#/components/schemas/ProductRevertedStagedChangesMessagePayload' ProductSelectionCreated: '#/components/schemas/ProductSelectionCreatedMessagePayload' ProductSelectionDeleted: '#/components/schemas/ProductSelectionDeletedMessagePayload' ProductSelectionProductAdded: '#/components/schemas/ProductSelectionProductAddedMessagePayload' ProductSelectionProductExcluded: '#/components/schemas/ProductSelectionProductExcludedMessagePayload' ProductSelectionProductRemoved: '#/components/schemas/ProductSelectionProductRemovedMessagePayload' ProductSelectionVariantExclusionChanged: '#/components/schemas/ProductSelectionVariantExclusionChangedMessagePayload' ProductSelectionVariantSelectionChanged: '#/components/schemas/ProductSelectionVariantSelectionChangedMessagePayload' ProductSlugChanged: '#/components/schemas/ProductSlugChangedMessagePayload' ProductStateTransition: '#/components/schemas/ProductStateTransitionMessagePayload' ProductTailoringCreated: '#/components/schemas/ProductTailoringCreatedMessagePayload' ProductTailoringDeleted: '#/components/schemas/ProductTailoringDeletedMessagePayload' ProductTailoringDescriptionSet: '#/components/schemas/ProductTailoringDescriptionSetMessagePayload' ProductTailoringImageAdded: '#/components/schemas/ProductTailoringImageAddedMessagePayload' ProductTailoringImagesSet: '#/components/schemas/ProductTailoringImagesSetMessagePayload' ProductTailoringKeySet: '#/components/schemas/ProductTailoringKeySetMessagePayload' ProductTailoringNameSet: '#/components/schemas/ProductTailoringNameSetMessagePayload' ProductTailoringPublished: '#/components/schemas/ProductTailoringPublishedMessagePayload' ProductTailoringSlugSet: '#/components/schemas/ProductTailoringSlugSetMessagePayload' ProductTailoringUnpublished: '#/components/schemas/ProductTailoringUnpublishedMessagePayload' ProductUnpublished: '#/components/schemas/ProductUnpublishedMessagePayload' ProductVariantAdded: '#/components/schemas/ProductVariantAddedMessagePayload' ProductVariantDeleted: '#/components/schemas/ProductVariantDeletedMessagePayload' ProductVariantTailoringAdded: '#/components/schemas/ProductVariantTailoringAddedMessagePayload' ProductVariantTailoringRemoved: '#/components/schemas/ProductVariantTailoringRemovedMessagePayload' QuoteCreated: '#/components/schemas/QuoteCreatedMessagePayload' QuoteCustomerChanged: '#/components/schemas/QuoteCustomerChangedMessagePayload' QuoteDeleted: '#/components/schemas/QuoteDeletedMessagePayload' QuoteRenegotiationRequested: '#/components/schemas/QuoteRenegotiationRequestedMessagePayload' QuoteRequestCreated: '#/components/schemas/QuoteRequestCreatedMessagePayload' QuoteRequestCustomerChanged: '#/components/schemas/QuoteRequestCustomerChangedMessagePayload' QuoteRequestDeleted: '#/components/schemas/QuoteRequestDeletedMessagePayload' QuoteRequestStateChanged: '#/components/schemas/QuoteRequestStateChangedMessagePayload' QuoteRequestStateTransition: '#/components/schemas/QuoteRequestStateTransitionMessagePayload' QuoteStateChanged: '#/components/schemas/QuoteStateChangedMessagePayload' QuoteStateTransition: '#/components/schemas/QuoteStateTransitionMessagePayload' RecurringOrderCreated: '#/components/schemas/RecurringOrderCreatedMessagePayload' RecurringOrderCustomFieldAdded: '#/components/schemas/RecurringOrderCustomFieldAddedMessagePayload' RecurringOrderCustomFieldChanged: '#/components/schemas/RecurringOrderCustomFieldChangedMessagePayload' RecurringOrderCustomFieldRemoved: '#/components/schemas/RecurringOrderCustomFieldRemovedMessagePayload' RecurringOrderCustomTypeRemoved: '#/components/schemas/RecurringOrderCustomTypeRemovedMessagePayload' RecurringOrderCustomTypeSet: '#/components/schemas/RecurringOrderCustomTypeSetMessagePayload' RecurringOrderDeleted: '#/components/schemas/RecurringOrderDeletedMessagePayload' RecurringOrderExpiresAtSet: '#/components/schemas/RecurringOrderExpiresAtSetMessagePayload' RecurringOrderFailed: '#/components/schemas/RecurringOrderFailedMessagePayload' RecurringOrderKeySet: '#/components/schemas/RecurringOrderKeySetMessagePayload' RecurringOrderScheduleSet: '#/components/schemas/RecurringOrderScheduleSetMessagePayload' RecurringOrderStartsAtSet: '#/components/schemas/RecurringOrderStartsAtSetMessagePayload' RecurringOrderStateChanged: '#/components/schemas/RecurringOrderStateChangedMessagePayload' RecurringOrderStateTransition: '#/components/schemas/RecurringOrderStateTransitionMessagePayload' ReviewCreated: '#/components/schemas/ReviewCreatedMessagePayload' ReviewRatingSet: '#/components/schemas/ReviewRatingSetMessagePayload' ReviewStateTransition: '#/components/schemas/ReviewStateTransitionMessagePayload' ShoppingListStoreSet: '#/components/schemas/ShoppingListStoreSetMessagePayload' StagedQuoteCreated: '#/components/schemas/StagedQuoteCreatedMessagePayload' StagedQuoteDeleted: '#/components/schemas/StagedQuoteDeletedMessagePayload' StagedQuoteSellerCommentSet: '#/components/schemas/StagedQuoteSellerCommentSetMessagePayload' StagedQuoteStateChanged: '#/components/schemas/StagedQuoteStateChangedMessagePayload' StagedQuoteStateTransition: '#/components/schemas/StagedQuoteStateTransitionMessagePayload' StagedQuoteValidToSet: '#/components/schemas/StagedQuoteValidToSetMessagePayload' StandalonePriceActiveChanged: '#/components/schemas/StandalonePriceActiveChangedMessagePayload' StandalonePriceCreated: '#/components/schemas/StandalonePriceCreatedMessagePayload' StandalonePriceDeleted: '#/components/schemas/StandalonePriceDeletedMessagePayload' StandalonePriceDiscountSet: '#/components/schemas/StandalonePriceDiscountSetMessagePayload' StandalonePriceExternalDiscountSet: '#/components/schemas/StandalonePriceExternalDiscountSetMessagePayload' StandalonePriceKeySet: '#/components/schemas/StandalonePriceKeySetMessagePayload' StandalonePriceStagedChangesApplied: '#/components/schemas/StandalonePriceStagedChangesAppliedMessagePayload' StandalonePriceStagedChangesRemoved: '#/components/schemas/StandalonePriceStagedChangesRemovedMessagePayload' StandalonePriceTierAdded: '#/components/schemas/StandalonePriceTierAddedMessagePayload' StandalonePriceTierRemoved: '#/components/schemas/StandalonePriceTierRemovedMessagePayload' StandalonePriceTiersSet: '#/components/schemas/StandalonePriceTiersSetMessagePayload' StandalonePriceValidFromAndUntilSet: '#/components/schemas/StandalonePriceValidFromAndUntilSetMessagePayload' StandalonePriceValidFromSet: '#/components/schemas/StandalonePriceValidFromSetMessagePayload' StandalonePriceValidUntilSet: '#/components/schemas/StandalonePriceValidUntilSetMessagePayload' StandalonePriceValueChanged: '#/components/schemas/StandalonePriceValueChangedMessagePayload' StoreCheckoutUrlTemplateSet: '#/components/schemas/StoreCheckoutUrlTemplateSetMessagePayload' StoreContactUrlSet: '#/components/schemas/StoreContactUrlSetMessagePayload' StoreCookiePolicyUrlSet: '#/components/schemas/StoreCookiePolicyUrlSetMessagePayload' StoreCountriesChanged: '#/components/schemas/StoreCountriesChangedMessagePayload' StoreCreated: '#/components/schemas/StoreCreatedMessagePayload' StoreDeleted: '#/components/schemas/StoreDeletedMessagePayload' StoreDistributionChannelsChanged: '#/components/schemas/StoreDistributionChannelsChangedMessagePayload' StoreFaqUrlSet: '#/components/schemas/StoreFaqUrlSetMessagePayload' StoreImprintUrlSet: '#/components/schemas/StoreImprintUrlSetMessagePayload' StoreLanguagesChanged: '#/components/schemas/StoreLanguagesChangedMessagePayload' StoreNameSet: '#/components/schemas/StoreNameSetMessagePayload' StoreOrderUrlTemplateSet: '#/components/schemas/StoreOrderUrlTemplateSetMessagePayload' StorePrivacyPolicyUrlSet: '#/components/schemas/StorePrivacyPolicyUrlSetMessagePayload' StoreProductSelectionsChanged: '#/components/schemas/StoreProductSelectionsChangedMessagePayload' StoreRefundPolicyUrlSet: '#/components/schemas/StoreRefundPolicyUrlSetMessagePayload' StoreShippingPolicyUrlSet: '#/components/schemas/StoreShippingPolicyUrlSetMessagePayload' StoreSupplyChannelsChanged: '#/components/schemas/StoreSupplyChannelsChangedMessagePayload' StoreTermsOfServiceUrlSet: '#/components/schemas/StoreTermsOfServiceUrlSetMessagePayload' VariantCreated: '#/components/schemas/VariantCreatedMessagePayload' VariantDeleted: '#/components/schemas/VariantDeletedMessagePayload' VariantImageAdded: '#/components/schemas/VariantImageAddedMessagePayload' VariantImagesSet: '#/components/schemas/VariantImagesSetMessagePayload' VariantKeySet: '#/components/schemas/VariantKeySetMessagePayload' VariantPublished: '#/components/schemas/VariantPublishedMessagePayload' VariantSkuSet: '#/components/schemas/VariantSkuSetMessagePayload' VariantStagedChangesRemoved: '#/components/schemas/VariantStagedChangesRemovedMessagePayload' VariantUnpublished: '#/components/schemas/VariantUnpublishedMessagePayload' required: - type properties: type: type: "string" OrderBillingAddressSetMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" properties: type: type: "string" address: $ref: '#/components/schemas/Address' oldAddress: $ref: '#/components/schemas/Address' OrderBusinessUnitSetMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" properties: type: type: "string" businessUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' oldbusinessUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' OrderCreatedFromRecurringOrderMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - order - recurringOrderRef properties: type: type: "string" order: $ref: '#/components/schemas/Order' recurringOrderRef: $ref: '#/components/schemas/RecurringOrderReference' OrderCreatedMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - order properties: type: type: "string" order: $ref: '#/components/schemas/Order' OrderCustomFieldAddedMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - name - value properties: type: type: "string" name: type: "string" value: {} OrderCustomFieldChangedMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - name - value properties: type: type: "string" name: type: "string" value: {} previousValue: {} OrderCustomFieldRemovedMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - name properties: type: type: "string" name: type: "string" OrderCustomLineItemAddedMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - customLineItem properties: type: type: "string" customLineItem: $ref: '#/components/schemas/CustomLineItem' OrderCustomLineItemDiscountSetMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - customLineItemId - discountedPricePerQuantity properties: type: type: "string" customLineItemId: type: "string" customLineItemKey: type: "string" discountedPricePerQuantity: type: "array" items: $ref: '#/components/schemas/DiscountedLineItemPriceForQuantity' taxedPrice: $ref: '#/components/schemas/TaxedItemPrice' OrderCustomLineItemQuantityChangedMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - customLineItemId - oldQuantity - quantity properties: type: type: "string" customLineItemId: type: "string" customLineItemKey: type: "string" quantity: type: "integer" format: "int64" oldQuantity: type: "integer" format: "int64" OrderCustomLineItemRemovedMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - customLineItem - customLineItemId properties: type: type: "string" customLineItemId: type: "string" customLineItemKey: type: "string" customLineItem: $ref: '#/components/schemas/CustomLineItem' OrderCustomTypeRemovedMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" properties: type: type: "string" previousTypeId: type: "string" OrderCustomTypeSetMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - customFields properties: type: type: "string" customFields: $ref: '#/components/schemas/CustomFields' previousTypeId: type: "string" OrderCustomerEmailSetMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" properties: type: type: "string" email: type: "string" oldEmail: type: "string" OrderCustomerGroupSetMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" properties: type: type: "string" customerGroup: $ref: '#/components/schemas/CustomerGroupReference' oldCustomerGroup: $ref: '#/components/schemas/CustomerGroupReference' OrderCustomerSetMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" properties: type: type: "string" customer: $ref: '#/components/schemas/CustomerReference' customerGroup: $ref: '#/components/schemas/CustomerGroupReference' oldCustomer: $ref: '#/components/schemas/CustomerReference' oldCustomerGroup: $ref: '#/components/schemas/CustomerGroupReference' OrderDeletedMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - order properties: type: type: "string" order: $ref: '#/components/schemas/Order' OrderDiscountCodeAddedMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - discountCode properties: type: type: "string" discountCode: $ref: '#/components/schemas/DiscountCodeReference' OrderDiscountCodeRemovedMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - discountCode properties: type: type: "string" discountCode: $ref: '#/components/schemas/DiscountCodeReference' OrderDiscountCodeStateSetMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - discountCode - state properties: type: type: "string" discountCode: $ref: '#/components/schemas/DiscountCodeReference' state: $ref: '#/components/schemas/DiscountCodeState' oldState: $ref: '#/components/schemas/DiscountCodeState' OrderEditAppliedMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - edit - result properties: type: type: "string" edit: $ref: '#/components/schemas/OrderEdit' result: $ref: '#/components/schemas/OrderEditApplied' OrderEstimatedDeliverySetMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" properties: type: type: "string" estimatedDelivery: $ref: '#/components/schemas/EstimatedDelivery' shippingKey: type: "string" OrderImportedMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - order properties: type: type: "string" order: $ref: '#/components/schemas/Order' OrderLineItemAddedMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - addedQuantity - lineItem properties: type: type: "string" lineItem: $ref: '#/components/schemas/LineItem' addedQuantity: type: "integer" format: "int64" OrderLineItemDiscountSetMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - discountedPricePerQuantity - lineItemId - taxedPricePortions - totalPrice properties: type: type: "string" lineItemId: type: "string" lineItemKey: type: "string" discountedPricePerQuantity: type: "array" items: $ref: '#/components/schemas/DiscountedLineItemPriceForQuantity' totalPrice: $ref: '#/components/schemas/CentPrecisionMoney' taxedPrice: $ref: '#/components/schemas/TaxedItemPrice' taxedPricePortions: type: "array" items: $ref: '#/components/schemas/MethodTaxedPrice' OrderLineItemDistributionChannelSetMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - lineItemId properties: type: type: "string" lineItemId: type: "string" lineItemKey: type: "string" distributionChannel: $ref: '#/components/schemas/ChannelReference' OrderLineItemRemovedMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - lineItemId - newQuantity - newState - newTotalPrice - removedQuantity properties: type: type: "string" lineItemId: type: "string" lineItemKey: type: "string" removedQuantity: type: "integer" format: "int64" newQuantity: type: "integer" format: "int64" newState: type: "array" items: $ref: '#/components/schemas/ItemState' newTotalPrice: $ref: '#/components/schemas/CentPrecisionMoney' newTaxedPrice: $ref: '#/components/schemas/TaxedItemPrice' newPrice: $ref: '#/components/schemas/Price' newShippingDetail: $ref: '#/components/schemas/ItemShippingDetails' OrderMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" OrderPaymentAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - paymentRef properties: type: type: "string" paymentRef: $ref: '#/components/schemas/PaymentReference' OrderPaymentRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - paymentRef - removedPaymentInfo properties: type: type: "string" paymentRef: $ref: '#/components/schemas/PaymentReference' removedPaymentInfo: type: "boolean" OrderPaymentStateChangedMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - paymentState properties: type: type: "string" paymentState: $ref: '#/components/schemas/PaymentState' oldPaymentState: $ref: '#/components/schemas/PaymentState' OrderPurchaseOrderNumberSetMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" properties: type: type: "string" purchaseOrderNumber: type: "string" oldPurchaseOrderNumber: type: "string" OrderReturnShipmentStateChangedMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - returnItemId - returnShipmentState properties: type: type: "string" returnItemId: type: "string" returnShipmentState: $ref: '#/components/schemas/ReturnShipmentState' OrderShipmentStateChangedMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - shipmentState properties: type: type: "string" shipmentState: $ref: '#/components/schemas/ShipmentState' oldShipmentState: $ref: '#/components/schemas/ShipmentState' OrderShippingAddressSetMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" properties: type: type: "string" address: $ref: '#/components/schemas/Address' oldAddress: $ref: '#/components/schemas/Address' OrderShippingInfoSetMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" properties: type: type: "string" shippingInfo: $ref: '#/components/schemas/ShippingInfo' oldShippingInfo: $ref: '#/components/schemas/ShippingInfo' OrderShippingRateInputSetMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" properties: type: type: "string" shippingRateInput: $ref: '#/components/schemas/ShippingRateInput' oldShippingRateInput: $ref: '#/components/schemas/ShippingRateInput' OrderStateChangedMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - orderState properties: type: type: "string" orderState: $ref: '#/components/schemas/OrderState' oldOrderState: $ref: '#/components/schemas/OrderState' OrderStateTransitionMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - force - state properties: type: type: "string" state: $ref: '#/components/schemas/StateReference' oldState: $ref: '#/components/schemas/StateReference' force: type: "boolean" OrderStoreSetMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" properties: type: type: "string" store: $ref: '#/components/schemas/StoreKeyReference' ParcelAddedToDeliveryMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - delivery - parcel properties: type: type: "string" delivery: $ref: '#/components/schemas/Delivery' parcel: $ref: '#/components/schemas/Parcel' shippingKey: type: "string" ParcelItemsUpdatedMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - deliveryId - items - oldItems - parcelId properties: type: type: "string" parcelId: type: "string" deliveryId: type: "string" items: type: "array" items: $ref: '#/components/schemas/DeliveryItem' oldItems: type: "array" items: $ref: '#/components/schemas/DeliveryItem' shippingKey: type: "string" ParcelMeasurementsUpdatedMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - deliveryId - parcelId properties: type: type: "string" deliveryId: type: "string" parcelId: type: "string" measurements: $ref: '#/components/schemas/ParcelMeasurements' shippingKey: type: "string" ParcelRemovedFromDeliveryMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - deliveryId - parcel properties: type: type: "string" deliveryId: type: "string" parcel: $ref: '#/components/schemas/Parcel' shippingKey: type: "string" ParcelTrackingDataUpdatedMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - deliveryId - parcelId properties: type: type: "string" deliveryId: type: "string" parcelId: type: "string" trackingData: $ref: '#/components/schemas/TrackingData' shippingKey: type: "string" PaymentCreatedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - payment properties: type: type: "string" payment: $ref: '#/components/schemas/Payment' PaymentInteractionAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - interaction properties: type: type: "string" interaction: $ref: '#/components/schemas/CustomFields' PaymentInterfaceIdSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" interfaceId: type: "string" oldInterfaceId: type: "string" PaymentMethodCreatedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - paymentMethod properties: type: type: "string" paymentMethod: $ref: '#/components/schemas/PaymentMethod' PaymentMethodCustomFieldAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - name - value properties: type: type: "string" name: type: "string" value: {} PaymentMethodCustomFieldChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - name - value properties: type: type: "string" name: type: "string" value: {} oldValue: {} PaymentMethodCustomFieldRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - name properties: type: type: "string" name: type: "string" PaymentMethodCustomTypeRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" oldTypeId: type: "string" PaymentMethodCustomTypeSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - customFields properties: type: type: "string" customFields: $ref: '#/components/schemas/CustomFields' oldTypeId: type: "string" PaymentMethodDefaultSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - default - oldDefault properties: type: type: "string" default: type: "boolean" oldDefault: type: "boolean" PaymentMethodDeletedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - paymentMethod properties: type: type: "string" paymentMethod: $ref: '#/components/schemas/PaymentMethod' PaymentMethodInfoCustomFieldAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - name - value properties: type: type: "string" name: type: "string" value: {} PaymentMethodInfoCustomFieldChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - name - value properties: type: type: "string" name: type: "string" value: {} PaymentMethodInfoCustomFieldRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - name properties: type: type: "string" name: type: "string" PaymentMethodInfoCustomTypeRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" oldTypeId: type: "string" PaymentMethodInfoCustomTypeSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - customFields properties: type: type: "string" customFields: $ref: '#/components/schemas/CustomFields' oldTypeId: type: "string" PaymentMethodInfoInterfaceAccountSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" interfaceAccount: type: "string" oldInterfaceAccount: type: "string" PaymentMethodInfoInterfaceSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" interface: type: "string" oldInterface: type: "string" PaymentMethodInfoMethodSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" method: type: "string" oldMethod: type: "string" PaymentMethodInfoNameSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" name: $ref: '#/components/schemas/LocalizedString' oldName: $ref: '#/components/schemas/LocalizedString' PaymentMethodInfoTokenSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" token: $ref: '#/components/schemas/PaymentMethodToken' oldToken: $ref: '#/components/schemas/PaymentMethodToken' PaymentMethodInterfaceAccountSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" interfaceAccount: type: "string" oldInterfaceAccount: type: "string" PaymentMethodKeySetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" key: type: "string" oldKey: type: "string" PaymentMethodMethodSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" method: type: "string" oldMethod: type: "string" PaymentMethodNameSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" name: $ref: '#/components/schemas/LocalizedString' oldName: $ref: '#/components/schemas/LocalizedString' PaymentMethodPaymentInterfaceSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" paymentInterface: type: "string" oldPaymentInterface: type: "string" PaymentMethodPaymentMethodStatusSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" status: $ref: '#/components/schemas/PaymentMethodStatus' oldStatus: $ref: '#/components/schemas/PaymentMethodStatus' PaymentStatusInterfaceCodeSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - paymentId properties: type: type: "string" paymentId: type: "string" interfaceCode: type: "string" PaymentStatusStateTransitionMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - force - state properties: type: type: "string" state: $ref: '#/components/schemas/StateReference' force: type: "boolean" PaymentTransactionAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - transaction properties: type: type: "string" transaction: $ref: '#/components/schemas/Transaction' PaymentTransactionInterfaceIdSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - transactionId properties: type: type: "string" transactionId: type: "string" newInterfaceId: type: "string" oldInterfaceId: type: "string" PaymentTransactionStateChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - state - transactionId properties: type: type: "string" transactionId: type: "string" state: $ref: '#/components/schemas/TransactionState' ProductAddedToCategoryMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - category - staged properties: type: type: "string" category: $ref: '#/components/schemas/CategoryReference' staged: type: "boolean" ProductCreatedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - productProjection properties: type: type: "string" productProjection: $ref: '#/components/schemas/ProductProjection' ProductDeletedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - removedImageUrls properties: type: type: "string" removedImageUrls: type: "array" items: type: "string" currentProjection: $ref: '#/components/schemas/ProductProjection' ProductImageAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - image - staged - variantId properties: type: type: "string" variantId: type: "integer" format: "int64" image: $ref: '#/components/schemas/Image' staged: type: "boolean" ProductPriceAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - price - staged - variantId properties: type: type: "string" variantId: type: "integer" format: "int64" price: $ref: '#/components/schemas/Price' staged: type: "boolean" ProductPriceChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - newPrice - oldPrice - staged - variantId properties: type: type: "string" variantId: type: "integer" format: "int64" oldPrice: $ref: '#/components/schemas/Price' newPrice: $ref: '#/components/schemas/Price' staged: type: "boolean" oldStagedPrice: $ref: '#/components/schemas/Price' ProductPriceCustomFieldAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - name - priceId - staged - value - variantId properties: type: type: "string" priceId: type: "string" variantId: type: "integer" format: "int64" staged: type: "boolean" name: type: "string" value: {} ProductPriceCustomFieldChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - name - priceId - staged - value - variantId properties: type: type: "string" priceId: type: "string" variantId: type: "integer" format: "int64" staged: type: "boolean" name: type: "string" value: {} ProductPriceCustomFieldRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - name - priceId - staged - variantId properties: type: type: "string" priceId: type: "string" variantId: type: "integer" format: "int64" staged: type: "boolean" name: type: "string" ProductPriceCustomFieldsRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - priceId - staged - variantId properties: type: type: "string" priceId: type: "string" variantId: type: "integer" format: "int64" staged: type: "boolean" ProductPriceCustomFieldsSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - customField - priceId - staged - variantId properties: type: type: "string" priceId: type: "string" variantId: type: "integer" format: "int64" staged: type: "boolean" customField: $ref: '#/components/schemas/CustomFields' oldTypeId: type: "string" ProductPriceDiscountsSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - updatedPrices properties: type: type: "string" updatedPrices: type: "array" items: $ref: '#/components/schemas/ProductPriceDiscountsSetUpdatedPrice' ProductPriceExternalDiscountSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - priceId - staged - variantId properties: type: type: "string" variantId: type: "integer" format: "int32" variantKey: type: "string" sku: type: "string" priceId: type: "string" discounted: $ref: '#/components/schemas/DiscountedPrice' staged: type: "boolean" ProductPriceKeySetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - staged - variantId properties: type: type: "string" variantId: type: "integer" format: "int64" priceId: type: "string" oldKey: type: "string" key: type: "string" staged: type: "boolean" ProductPriceModeSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - to properties: type: type: "string" to: $ref: '#/components/schemas/ProductPriceModeEnum' ProductPriceRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - price - staged - variantId properties: type: type: "string" variantId: type: "integer" format: "int64" price: $ref: '#/components/schemas/Price' staged: type: "boolean" ProductPricesSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - prices - staged - variantId properties: type: type: "string" variantId: type: "integer" format: "int64" prices: type: "array" items: $ref: '#/components/schemas/Price' staged: type: "boolean" ProductPublishedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - productProjection - removedImageUrls - scope properties: type: type: "string" removedImageUrls: type: "array" items: type: "string" productProjection: $ref: '#/components/schemas/ProductProjection' scope: $ref: '#/components/schemas/ProductPublishScope' ProductRemovedFromCategoryMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - category - staged properties: type: type: "string" category: $ref: '#/components/schemas/CategoryReference' staged: type: "boolean" ProductRevertedStagedChangesMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - removedImageUrls properties: type: type: "string" removedImageUrls: type: "array" items: type: "string" ProductSelectionCreatedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - productSelection properties: type: type: "string" productSelection: $ref: '#/components/schemas/ProductSelection' ProductSelectionDeletedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" ProductSelectionProductAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - product properties: type: type: "string" product: $ref: '#/components/schemas/ProductReference' variantSelection: $ref: '#/components/schemas/ProductVariantSelection' ProductSelectionProductExcludedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - product properties: type: type: "string" product: $ref: '#/components/schemas/ProductReference' variantExclusion: $ref: '#/components/schemas/ProductVariantExclusion' ProductSelectionProductRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - product properties: type: type: "string" product: $ref: '#/components/schemas/ProductReference' ProductSelectionVariantExclusionChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - product properties: type: type: "string" product: $ref: '#/components/schemas/ProductReference' oldVariantExclusion: $ref: '#/components/schemas/ProductVariantExclusion' newVariantExclusion: $ref: '#/components/schemas/ProductVariantExclusion' ProductSelectionVariantSelectionChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - product properties: type: type: "string" product: $ref: '#/components/schemas/ProductReference' oldVariantSelection: $ref: '#/components/schemas/ProductVariantSelection' newVariantSelection: $ref: '#/components/schemas/ProductVariantSelection' ProductSlugChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - slug properties: type: type: "string" slug: $ref: '#/components/schemas/LocalizedString' oldSlug: $ref: '#/components/schemas/LocalizedString' ProductStateTransitionMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - force - state properties: type: type: "string" state: $ref: '#/components/schemas/StateReference' force: type: "boolean" ProductTailoringCreatedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - product - published - store properties: type: type: "string" key: type: "string" store: $ref: '#/components/schemas/StoreKeyReference' productKey: type: "string" product: $ref: '#/components/schemas/ProductReference' description: $ref: '#/components/schemas/LocalizedString' name: $ref: '#/components/schemas/LocalizedString' slug: $ref: '#/components/schemas/LocalizedString' metaTitle: $ref: '#/components/schemas/LocalizedString' metaDescription: $ref: '#/components/schemas/LocalizedString' metaKeywords: $ref: '#/components/schemas/LocalizedString' variants: type: "array" items: $ref: '#/components/schemas/ProductVariantTailoring' attributes: type: "array" items: $ref: '#/components/schemas/ProductTailoringAttribute' published: type: "boolean" ProductTailoringDeletedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - product - store properties: type: type: "string" store: $ref: '#/components/schemas/StoreKeyReference' productKey: type: "string" product: $ref: '#/components/schemas/ProductReference' ProductTailoringDescriptionSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - product - store properties: type: type: "string" store: $ref: '#/components/schemas/StoreKeyReference' productKey: type: "string" product: $ref: '#/components/schemas/ProductReference' description: $ref: '#/components/schemas/LocalizedString' oldDescription: $ref: '#/components/schemas/LocalizedString' ProductTailoringImageAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - image - product - store - variantId properties: type: type: "string" store: $ref: '#/components/schemas/StoreKeyReference' productKey: type: "string" product: $ref: '#/components/schemas/ProductReference' variantId: type: "integer" format: "int64" image: $ref: '#/components/schemas/Image' ProductTailoringImagesSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - product - store - variantId properties: type: type: "string" store: $ref: '#/components/schemas/StoreKeyReference' productKey: type: "string" product: $ref: '#/components/schemas/ProductReference' variantId: type: "integer" format: "int64" oldImages: type: "array" items: $ref: '#/components/schemas/Image' images: type: "array" items: $ref: '#/components/schemas/Image' ProductTailoringKeySetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - product - store properties: type: type: "string" store: $ref: '#/components/schemas/StoreKeyReference' productKey: type: "string" product: $ref: '#/components/schemas/ProductReference' key: type: "string" oldKey: type: "string" ProductTailoringNameSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - product - store properties: type: type: "string" store: $ref: '#/components/schemas/StoreKeyReference' productKey: type: "string" product: $ref: '#/components/schemas/ProductReference' name: $ref: '#/components/schemas/LocalizedString' oldName: $ref: '#/components/schemas/LocalizedString' ProductTailoringPublishedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - product - store properties: type: type: "string" store: $ref: '#/components/schemas/StoreKeyReference' productKey: type: "string" product: $ref: '#/components/schemas/ProductReference' ProductTailoringSlugSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - product - store properties: type: type: "string" store: $ref: '#/components/schemas/StoreKeyReference' productKey: type: "string" product: $ref: '#/components/schemas/ProductReference' slug: $ref: '#/components/schemas/LocalizedString' oldSlug: $ref: '#/components/schemas/LocalizedString' ProductTailoringUnpublishedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - product - store properties: type: type: "string" store: $ref: '#/components/schemas/StoreKeyReference' productKey: type: "string" product: $ref: '#/components/schemas/ProductReference' ProductUnpublishedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" ProductVariantAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - staged - variant properties: type: type: "string" variant: $ref: '#/components/schemas/ProductVariant' staged: type: "boolean" ProductVariantDeletedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - removedImageUrls - staged properties: type: type: "string" variant: $ref: '#/components/schemas/ProductVariant' removedImageUrls: type: "array" items: type: "string" staged: type: "boolean" ProductVariantTailoringAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - product - store - variant - variantId properties: type: type: "string" store: $ref: '#/components/schemas/StoreKeyReference' productKey: type: "string" product: $ref: '#/components/schemas/ProductReference' variantId: type: "integer" format: "int64" variant: $ref: '#/components/schemas/ProductVariantTailoring' ProductVariantTailoringRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - product - store - variant - variantId properties: type: type: "string" store: $ref: '#/components/schemas/StoreKeyReference' productKey: type: "string" product: $ref: '#/components/schemas/ProductReference' variantId: type: "integer" format: "int64" variant: $ref: '#/components/schemas/ProductVariantTailoring' QuoteCreatedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - quote properties: type: type: "string" quote: $ref: '#/components/schemas/Quote' QuoteCustomerChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - customer - previousCustomer properties: type: type: "string" customer: $ref: '#/components/schemas/CustomerReference' previousCustomer: $ref: '#/components/schemas/CustomerReference' QuoteDeletedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" QuoteRenegotiationRequestedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" buyerComment: type: "string" QuoteRequestCreatedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - quoteRequest properties: type: type: "string" quoteRequest: $ref: '#/components/schemas/QuoteRequest' QuoteRequestCustomerChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - customer - previousCustomer properties: type: type: "string" customer: $ref: '#/components/schemas/CustomerReference' previousCustomer: $ref: '#/components/schemas/CustomerReference' QuoteRequestDeletedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" QuoteRequestStateChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - oldQuoteRequestState - quoteRequestState properties: type: type: "string" quoteRequestState: $ref: '#/components/schemas/QuoteRequestState' oldQuoteRequestState: $ref: '#/components/schemas/QuoteRequestState' QuoteRequestStateTransitionMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - force - state properties: type: type: "string" state: $ref: '#/components/schemas/StateReference' oldState: $ref: '#/components/schemas/StateReference' force: type: "boolean" QuoteStateChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - oldQuoteState - quoteState properties: type: type: "string" quoteState: $ref: '#/components/schemas/QuoteState' oldQuoteState: $ref: '#/components/schemas/QuoteState' QuoteStateTransitionMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - force - state properties: type: type: "string" state: $ref: '#/components/schemas/StateReference' oldState: $ref: '#/components/schemas/StateReference' force: type: "boolean" RecurringOrderCreatedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - recurringOrder properties: type: type: "string" recurringOrder: $ref: '#/components/schemas/RecurringOrder' RecurringOrderCustomFieldAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - name - value properties: type: type: "string" name: type: "string" value: {} RecurringOrderCustomFieldChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - name - value properties: type: type: "string" name: type: "string" value: {} previousValue: {} RecurringOrderCustomFieldRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - name properties: type: type: "string" name: type: "string" RecurringOrderCustomTypeRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" previousTypeId: type: "string" RecurringOrderCustomTypeSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - customFields properties: type: type: "string" customFields: $ref: '#/components/schemas/CustomFields' previousTypeId: type: "string" RecurringOrderDeletedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - recurringOrder properties: type: type: "string" recurringOrder: $ref: '#/components/schemas/RecurringOrder' RecurringOrderExpiresAtSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - newExpiresAt - oldExpiresAt properties: type: type: "string" newExpiresAt: type: "string" format: "datetime" oldExpiresAt: type: "string" format: "datetime" RecurringOrderFailedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - cartId - failedAt - failureReason - orderScheduledAt properties: type: type: "string" cartId: type: "string" failedAt: type: "string" format: "datetime" failureReason: type: "string" orderScheduledAt: type: "string" format: "datetime" errors: type: "array" items: $ref: '#/components/schemas/RecurringOrderFailureError' RecurringOrderKeySetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" key: type: "string" oldKey: type: "string" RecurringOrderScheduleSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - oldRecurrencePolicySchedule - recurrencePolicySchedule properties: type: type: "string" recurrencePolicySchedule: $ref: '#/components/schemas/RecurrencePolicySchedule' oldRecurrencePolicySchedule: $ref: '#/components/schemas/RecurrencePolicySchedule' RecurringOrderStartsAtSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - oldStartsAt - startsAt properties: type: type: "string" startsAt: type: "string" format: "datetime" oldStartsAt: type: "string" format: "datetime" RecurringOrderStateChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - state properties: type: type: "string" state: $ref: '#/components/schemas/RecurringOrderState' oldState: $ref: '#/components/schemas/RecurringOrderState' RecurringOrderStateTransitionMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - force - state properties: type: type: "string" state: $ref: '#/components/schemas/StateReference' oldState: $ref: '#/components/schemas/StateReference' force: type: "boolean" ReturnInfoAddedMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" required: - returnInfo properties: type: type: "string" returnInfo: $ref: '#/components/schemas/ReturnInfo' ReturnInfoSetMessagePayload: allOf: - $ref: '#/components/schemas/OrderMessagePayload' - type: "object" properties: type: type: "string" returnInfo: type: "array" items: $ref: '#/components/schemas/ReturnInfo' ReviewCreatedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - review properties: type: type: "string" review: $ref: '#/components/schemas/Review' ReviewRatingSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - includedInStatistics properties: type: type: "string" oldRating: type: "number" format: "double" newRating: type: "number" format: "double" includedInStatistics: type: "boolean" target: $ref: '#/components/schemas/Reference' ReviewStateTransitionMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - force - newIncludedInStatistics - newState - oldIncludedInStatistics properties: type: type: "string" oldState: $ref: '#/components/schemas/StateReference' newState: $ref: '#/components/schemas/StateReference' oldIncludedInStatistics: type: "boolean" newIncludedInStatistics: type: "boolean" target: $ref: '#/components/schemas/Reference' force: type: "boolean" ShoppingListLineItemAddedMessagePayload: allOf: - $ref: '#/components/schemas/ShoppingListMessagePayload' - type: "object" required: - lineItem properties: type: type: "string" lineItem: $ref: '#/components/schemas/ShoppingListLineItem' ShoppingListLineItemRemovedMessagePayload: allOf: - $ref: '#/components/schemas/ShoppingListMessagePayload' - type: "object" required: - lineItem properties: type: type: "string" lineItem: $ref: '#/components/schemas/ShoppingListLineItem' ShoppingListMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" ShoppingListStoreSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - store properties: type: type: "string" store: $ref: '#/components/schemas/StoreKeyReference' StagedQuoteCreatedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - stagedQuote properties: type: type: "string" stagedQuote: $ref: '#/components/schemas/StagedQuote' StagedQuoteDeletedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" StagedQuoteSellerCommentSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - sellerComment properties: type: type: "string" sellerComment: type: "string" StagedQuoteStateChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - oldStagedQuoteState - stagedQuoteState properties: type: type: "string" stagedQuoteState: $ref: '#/components/schemas/StagedQuoteState' oldStagedQuoteState: $ref: '#/components/schemas/StagedQuoteState' StagedQuoteStateTransitionMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - force - state properties: type: type: "string" state: $ref: '#/components/schemas/StateReference' oldState: $ref: '#/components/schemas/StateReference' force: type: "boolean" StagedQuoteValidToSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - validTo properties: type: type: "string" validTo: type: "string" format: "datetime" StandalonePriceActiveChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - active - oldActive properties: type: type: "string" active: type: "boolean" oldActive: type: "boolean" StandalonePriceCreatedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - standalonePrice properties: type: type: "string" standalonePrice: $ref: '#/components/schemas/StandalonePrice' StandalonePriceDeletedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - sku properties: type: type: "string" sku: type: "string" StandalonePriceDiscountSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" discounted: $ref: '#/components/schemas/DiscountedPrice' StandalonePriceExternalDiscountSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" discounted: $ref: '#/components/schemas/DiscountedPrice' StandalonePriceKeySetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" key: type: "string" oldKey: type: "string" StandalonePriceStagedChangesAppliedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - stagedChanges properties: type: type: "string" stagedChanges: $ref: '#/components/schemas/StagedStandalonePrice' StandalonePriceStagedChangesRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - stagedChanges properties: type: type: "string" stagedChanges: $ref: '#/components/schemas/StagedStandalonePrice' StandalonePriceTierAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - tier properties: type: type: "string" tier: $ref: '#/components/schemas/PriceTier' StandalonePriceTierRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - removedTier properties: type: type: "string" removedTier: $ref: '#/components/schemas/PriceTier' StandalonePriceTiersSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - previousTiers - tiers properties: type: type: "string" tiers: type: "array" items: $ref: '#/components/schemas/PriceTier' previousTiers: type: "array" items: $ref: '#/components/schemas/PriceTier' StandalonePriceValidFromAndUntilSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" validFrom: type: "string" format: "datetime" previousValidFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" previousValidUntil: type: "string" format: "datetime" StandalonePriceValidFromSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" validFrom: type: "string" format: "datetime" previousValidFrom: type: "string" format: "datetime" StandalonePriceValidUntilSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" validUntil: type: "string" format: "datetime" previousValidUntil: type: "string" format: "datetime" StandalonePriceValueChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - staged - value properties: type: type: "string" value: $ref: '#/components/schemas/TypedMoney' staged: type: "boolean" oldValue: $ref: '#/components/schemas/TypedMoney' StoreCheckoutUrlTemplateSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" checkoutUrlTemplate: type: "string" StoreContactUrlSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" contactUrl: type: "string" StoreCookiePolicyUrlSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" cookiePolicyUrl: type: "string" StoreCountriesChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" addedCountries: type: "array" items: $ref: '#/components/schemas/StoreCountry' removedCountries: type: "array" items: $ref: '#/components/schemas/StoreCountry' StoreCreatedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - distributionChannels - productSelections - supplyChannels properties: type: type: "string" name: $ref: '#/components/schemas/LocalizedString' languages: type: "array" items: type: "string" countries: type: "array" items: $ref: '#/components/schemas/StoreCountry' distributionChannels: type: "array" items: $ref: '#/components/schemas/ChannelReference' supplyChannels: type: "array" items: $ref: '#/components/schemas/ChannelReference' productSelections: type: "array" items: $ref: '#/components/schemas/ProductSelectionSetting' custom: $ref: '#/components/schemas/CustomFields' StoreDeletedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" StoreDistributionChannelsChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" addedDistributionChannels: type: "array" items: $ref: '#/components/schemas/ChannelReference' removedDistributionChannels: type: "array" items: $ref: '#/components/schemas/ChannelReference' StoreFaqUrlSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" faqUrl: type: "string" StoreImprintUrlSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" imprintUrl: type: "string" StoreLanguagesChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" addedLanguages: type: "array" items: $ref: '#/components/schemas/Locale' removedLanguages: type: "array" items: $ref: '#/components/schemas/Locale' StoreNameSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" name: $ref: '#/components/schemas/LocalizedString' nameAllLocales: type: "array" items: $ref: '#/components/schemas/LocalizedString' StoreOrderUrlTemplateSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" orderUrlTemplate: type: "string" StorePrivacyPolicyUrlSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" privacyPolicyUrl: type: "string" StoreProductSelectionsChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" addedProductSelections: type: "array" items: $ref: '#/components/schemas/ProductSelectionSetting' removedProductSelections: type: "array" items: $ref: '#/components/schemas/ProductSelectionSetting' updatedProductSelections: type: "array" items: $ref: '#/components/schemas/ProductSelectionSetting' StoreRefundPolicyUrlSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" refundPolicyUrl: type: "string" StoreShippingPolicyUrlSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" shippingPolicyUrl: type: "string" StoreSupplyChannelsChangedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" addedSupplyChannels: type: "array" items: $ref: '#/components/schemas/ChannelReference' removedSupplyChannels: type: "array" items: $ref: '#/components/schemas/ChannelReference' StoreTermsOfServiceUrlSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" properties: type: type: "string" termsOfServiceUrl: type: "string" VariantCreatedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - id - product - publish - variantId properties: type: type: "string" product: $ref: '#/components/schemas/ProductReference' id: type: "string" variantId: type: "integer" format: "int32" key: type: "string" sku: type: "string" attributes: type: "array" items: $ref: '#/components/schemas/Attribute' assets: type: "array" items: $ref: '#/components/schemas/Asset' images: type: "array" items: $ref: '#/components/schemas/Image' publish: type: "boolean" VariantDeletedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - product properties: type: type: "string" product: $ref: '#/components/schemas/ProductReference' VariantImageAddedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - image - product - staged properties: type: type: "string" product: $ref: '#/components/schemas/ProductReference' image: $ref: '#/components/schemas/Image' staged: type: "boolean" VariantImagesSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - images - oldImages - product - staged properties: type: type: "string" product: $ref: '#/components/schemas/ProductReference' images: type: "array" items: $ref: '#/components/schemas/Image' oldImages: type: "array" items: $ref: '#/components/schemas/Image' staged: type: "boolean" VariantKeySetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - product properties: type: type: "string" product: $ref: '#/components/schemas/ProductReference' key: type: "string" oldKey: type: "string" VariantPublishedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - product properties: type: type: "string" product: $ref: '#/components/schemas/ProductReference' VariantSkuSetMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - product - staged properties: type: type: "string" product: $ref: '#/components/schemas/ProductReference' sku: type: "string" oldSku: type: "string" staged: type: "boolean" VariantStagedChangesRemovedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - product properties: type: type: "string" product: $ref: '#/components/schemas/ProductReference' VariantUnpublishedMessagePayload: allOf: - $ref: '#/components/schemas/MessagePayload' - type: "object" required: - product properties: type: type: "string" product: $ref: '#/components/schemas/ProductReference' OrderEdit: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - createdAt - id - lastModifiedAt - resource - result - stagedActions - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" key: type: "string" resource: $ref: '#/components/schemas/OrderReference' stagedActions: type: "array" items: $ref: '#/components/schemas/StagedOrderUpdateAction' result: $ref: '#/components/schemas/OrderEditResult' comment: type: "string" custom: $ref: '#/components/schemas/CustomFields' lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' OrderEditApplied: allOf: - $ref: '#/components/schemas/OrderEditResult' - type: "object" required: - appliedAt - excerptAfterEdit - excerptBeforeEdit - type properties: type: type: "string" appliedAt: type: "string" format: "datetime" excerptBeforeEdit: $ref: '#/components/schemas/OrderExcerpt' excerptAfterEdit: $ref: '#/components/schemas/OrderExcerpt' OrderEditApply: type: "object" required: - editVersion - resourceVersion properties: editVersion: type: "integer" format: "int64" resourceVersion: type: "integer" format: "int64" OrderEditDraft: type: "object" required: - resource properties: key: type: "string" resource: $ref: '#/components/schemas/OrderReference' stagedActions: type: "array" items: $ref: '#/components/schemas/StagedOrderUpdateAction' custom: $ref: '#/components/schemas/CustomFieldsDraft' comment: type: "string" dryRun: type: "boolean" OrderEditNotProcessed: allOf: - $ref: '#/components/schemas/OrderEditResult' - type: "object" required: - type properties: type: type: "string" OrderEditPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/OrderEdit' OrderEditPreviewFailure: allOf: - $ref: '#/components/schemas/OrderEditResult' - type: "object" required: - errors properties: type: type: "string" errors: type: "array" items: $ref: '#/components/schemas/ErrorObject' OrderEditPreviewSuccess: allOf: - $ref: '#/components/schemas/OrderEditResult' - type: "object" required: - messagePayloads - preview properties: type: type: "string" preview: $ref: '#/components/schemas/StagedOrder' messagePayloads: type: "array" items: $ref: '#/components/schemas/MessagePayload' OrderEditReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/OrderEdit' OrderEditResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" OrderEditResult: type: "object" discriminator: propertyName: type mapping: Applied: '#/components/schemas/OrderEditApplied' NotProcessed: '#/components/schemas/OrderEditNotProcessed' PreviewFailure: '#/components/schemas/OrderEditPreviewFailure' PreviewSuccess: '#/components/schemas/OrderEditPreviewSuccess' required: - type properties: type: type: "string" OrderEditUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/OrderEditUpdateAction' dryRun: type: "boolean" OrderEditUpdateAction: type: "object" discriminator: propertyName: action mapping: addStagedAction: '#/components/schemas/OrderEditAddStagedActionAction' setComment: '#/components/schemas/OrderEditSetCommentAction' setCustomField: '#/components/schemas/OrderEditSetCustomFieldAction' setCustomType: '#/components/schemas/OrderEditSetCustomTypeAction' setKey: '#/components/schemas/OrderEditSetKeyAction' setStagedActions: '#/components/schemas/OrderEditSetStagedActionsAction' required: - action properties: action: type: "string" OrderExcerpt: type: "object" required: - totalPrice - version properties: totalPrice: $ref: '#/components/schemas/TypedMoney' taxedPrice: $ref: '#/components/schemas/TaxedPrice' version: type: "integer" format: "int64" StagedOrder: allOf: - $ref: '#/components/schemas/Order' - type: "object" properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" orderNumber: type: "string" purchaseOrderNumber: type: "string" customerId: type: "string" customerEmail: type: "string" customerGroup: $ref: '#/components/schemas/CustomerGroupReference' anonymousId: type: "string" businessUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' store: $ref: '#/components/schemas/StoreKeyReference' lineItems: type: "array" items: $ref: '#/components/schemas/LineItem' customLineItems: type: "array" items: $ref: '#/components/schemas/CustomLineItem' totalPrice: $ref: '#/components/schemas/CentPrecisionMoney' taxedPrice: $ref: '#/components/schemas/TaxedPrice' taxedShippingPrice: $ref: '#/components/schemas/TaxedPrice' discountOnTotalPrice: $ref: '#/components/schemas/DiscountOnTotalPrice' priceRoundingMode: $ref: '#/components/schemas/RoundingMode' taxMode: $ref: '#/components/schemas/TaxMode' taxRoundingMode: $ref: '#/components/schemas/RoundingMode' taxCalculationMode: $ref: '#/components/schemas/TaxCalculationMode' inventoryMode: $ref: '#/components/schemas/InventoryMode' billingAddress: $ref: '#/components/schemas/Address' shippingAddress: $ref: '#/components/schemas/Address' shippingMode: $ref: '#/components/schemas/ShippingMode' shippingKey: type: "string" shippingInfo: $ref: '#/components/schemas/ShippingInfo' shippingRateInput: $ref: '#/components/schemas/ShippingRateInput' shippingCustomFields: $ref: '#/components/schemas/CustomFields' shipping: type: "array" items: $ref: '#/components/schemas/Shipping' itemShippingAddresses: type: "array" items: $ref: '#/components/schemas/Address' discountCodes: type: "array" items: $ref: '#/components/schemas/DiscountCodeInfo' directDiscounts: type: "array" items: $ref: '#/components/schemas/DirectDiscount' directDiscountsIgnoreCartDiscounts: type: "boolean" refusedGifts: type: "array" items: $ref: '#/components/schemas/CartDiscountReference' paymentInfo: $ref: '#/components/schemas/PaymentInfo' country: $ref: '#/components/schemas/CountryCode' locale: $ref: '#/components/schemas/Locale' origin: $ref: '#/components/schemas/CartOrigin' cart: $ref: '#/components/schemas/CartReference' quote: $ref: '#/components/schemas/QuoteReference' recurringOrder: $ref: '#/components/schemas/RecurringOrderReference' orderState: $ref: '#/components/schemas/OrderState' shipmentState: $ref: '#/components/schemas/ShipmentState' paymentState: $ref: '#/components/schemas/PaymentState' state: $ref: '#/components/schemas/StateReference' syncInfo: type: "array" items: $ref: '#/components/schemas/SyncInfo' returnInfo: type: "array" items: $ref: '#/components/schemas/ReturnInfo' discountTypeCombination: $ref: '#/components/schemas/DiscountTypeCombination' lastMessageSequenceNumber: type: "integer" format: "int64" custom: $ref: '#/components/schemas/CustomFields' completedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' StagedOrderUpdateAction: type: "object" discriminator: propertyName: action mapping: addCustomLineItem: '#/components/schemas/StagedOrderAddCustomLineItemAction' addDelivery: '#/components/schemas/StagedOrderAddDeliveryAction' addDiscountCode: '#/components/schemas/StagedOrderAddDiscountCodeAction' addItemShippingAddress: '#/components/schemas/StagedOrderAddItemShippingAddressAction' addLineItem: '#/components/schemas/StagedOrderAddLineItemAction' addParcelToDelivery: '#/components/schemas/StagedOrderAddParcelToDeliveryAction' addPayment: '#/components/schemas/StagedOrderAddPaymentAction' addReturnInfo: '#/components/schemas/StagedOrderAddReturnInfoAction' addShoppingList: '#/components/schemas/StagedOrderAddShoppingListAction' changeCustomLineItemMoney: '#/components/schemas/StagedOrderChangeCustomLineItemMoneyAction' changeCustomLineItemQuantity: '#/components/schemas/StagedOrderChangeCustomLineItemQuantityAction' changeLineItemQuantity: '#/components/schemas/StagedOrderChangeLineItemQuantityAction' changeOrderState: '#/components/schemas/StagedOrderChangeOrderStateAction' changePaymentState: '#/components/schemas/StagedOrderChangePaymentStateAction' changePriceRoundingMode: '#/components/schemas/StagedOrderChangePriceRoundingModeAction' changeShipmentState: '#/components/schemas/StagedOrderChangeShipmentStateAction' changeTaxCalculationMode: '#/components/schemas/StagedOrderChangeTaxCalculationModeAction' changeTaxMode: '#/components/schemas/StagedOrderChangeTaxModeAction' changeTaxRoundingMode: '#/components/schemas/StagedOrderChangeTaxRoundingModeAction' importCustomLineItemState: '#/components/schemas/StagedOrderImportCustomLineItemStateAction' importLineItemState: '#/components/schemas/StagedOrderImportLineItemStateAction' removeCustomLineItem: '#/components/schemas/StagedOrderRemoveCustomLineItemAction' removeDelivery: '#/components/schemas/StagedOrderRemoveDeliveryAction' removeDiscountCode: '#/components/schemas/StagedOrderRemoveDiscountCodeAction' removeItemShippingAddress: '#/components/schemas/StagedOrderRemoveItemShippingAddressAction' removeLineItem: '#/components/schemas/StagedOrderRemoveLineItemAction' removeParcelFromDelivery: '#/components/schemas/StagedOrderRemoveParcelFromDeliveryAction' removePayment: '#/components/schemas/StagedOrderRemovePaymentAction' setBillingAddress: '#/components/schemas/StagedOrderSetBillingAddressAction' setBillingAddressCustomField: '#/components/schemas/StagedOrderSetBillingAddressCustomFieldAction' setBillingAddressCustomType: '#/components/schemas/StagedOrderSetBillingAddressCustomTypeAction' setBusinessUnit: '#/components/schemas/StagedOrderSetBusinessUnitAction' setCountry: '#/components/schemas/StagedOrderSetCountryAction' setCustomField: '#/components/schemas/StagedOrderSetCustomFieldAction' setCustomLineItemCustomField: '#/components/schemas/StagedOrderSetCustomLineItemCustomFieldAction' setCustomLineItemCustomType: '#/components/schemas/StagedOrderSetCustomLineItemCustomTypeAction' setCustomLineItemShippingDetails: '#/components/schemas/StagedOrderSetCustomLineItemShippingDetailsAction' setCustomLineItemTaxAmount: '#/components/schemas/StagedOrderSetCustomLineItemTaxAmountAction' setCustomLineItemTaxRate: '#/components/schemas/StagedOrderSetCustomLineItemTaxRateAction' setCustomShippingMethod: '#/components/schemas/StagedOrderSetCustomShippingMethodAction' setCustomType: '#/components/schemas/StagedOrderSetCustomTypeAction' setCustomerEmail: '#/components/schemas/StagedOrderSetCustomerEmailAction' setCustomerGroup: '#/components/schemas/StagedOrderSetCustomerGroupAction' setCustomerId: '#/components/schemas/StagedOrderSetCustomerIdAction' setDeliveryAddress: '#/components/schemas/StagedOrderSetDeliveryAddressAction' setDeliveryAddressCustomField: '#/components/schemas/StagedOrderSetDeliveryAddressCustomFieldAction' setDeliveryAddressCustomType: '#/components/schemas/StagedOrderSetDeliveryAddressCustomTypeAction' setDeliveryCustomField: '#/components/schemas/StagedOrderSetDeliveryCustomFieldAction' setDeliveryCustomType: '#/components/schemas/StagedOrderSetDeliveryCustomTypeAction' setDeliveryItems: '#/components/schemas/StagedOrderSetDeliveryItemsAction' setDirectDiscounts: '#/components/schemas/StagedOrderSetDirectDiscountsAction' setDirectDiscountsIgnoreCartDiscounts: '#/components/schemas/StagedOrderSetDirectDiscountsIgnoreCartDiscountsAction' setItemShippingAddressCustomField: '#/components/schemas/StagedOrderSetItemShippingAddressCustomFieldAction' setItemShippingAddressCustomType: '#/components/schemas/StagedOrderSetItemShippingAddressCustomTypeAction' setLineItemCustomField: '#/components/schemas/StagedOrderSetLineItemCustomFieldAction' setLineItemCustomType: '#/components/schemas/StagedOrderSetLineItemCustomTypeAction' setLineItemDistributionChannel: '#/components/schemas/StagedOrderSetLineItemDistributionChannelAction' setLineItemPrice: '#/components/schemas/StagedOrderSetLineItemPriceAction' setLineItemShippingDetails: '#/components/schemas/StagedOrderSetLineItemShippingDetailsAction' setLineItemTaxAmount: '#/components/schemas/StagedOrderSetLineItemTaxAmountAction' setLineItemTaxRate: '#/components/schemas/StagedOrderSetLineItemTaxRateAction' setLineItemTotalPrice: '#/components/schemas/StagedOrderSetLineItemTotalPriceAction' setLocale: '#/components/schemas/StagedOrderSetLocaleAction' setOrderNumber: '#/components/schemas/StagedOrderSetOrderNumberAction' setOrderTotalTax: '#/components/schemas/StagedOrderSetOrderTotalTaxAction' setParcelCustomField: '#/components/schemas/StagedOrderSetParcelCustomFieldAction' setParcelCustomType: '#/components/schemas/StagedOrderSetParcelCustomTypeAction' setParcelItems: '#/components/schemas/StagedOrderSetParcelItemsAction' setParcelMeasurements: '#/components/schemas/StagedOrderSetParcelMeasurementsAction' setParcelTrackingData: '#/components/schemas/StagedOrderSetParcelTrackingDataAction' setPurchaseOrderNumber: '#/components/schemas/StagedOrderSetPurchaseOrderNumberAction' setReturnInfo: '#/components/schemas/StagedOrderSetReturnInfoAction' setReturnItemCustomField: '#/components/schemas/StagedOrderSetReturnItemCustomFieldAction' setReturnItemCustomType: '#/components/schemas/StagedOrderSetReturnItemCustomTypeAction' setReturnPaymentState: '#/components/schemas/StagedOrderSetReturnPaymentStateAction' setReturnShipmentState: '#/components/schemas/StagedOrderSetReturnShipmentStateAction' setShippingAddress: '#/components/schemas/StagedOrderSetShippingAddressAction' setShippingAddressAndCustomShippingMethod: '#/components/schemas/StagedOrderSetShippingAddressAndCustomShippingMethodAction' setShippingAddressAndShippingMethod: '#/components/schemas/StagedOrderSetShippingAddressAndShippingMethodAction' setShippingAddressCustomField: '#/components/schemas/StagedOrderSetShippingAddressCustomFieldAction' setShippingAddressCustomType: '#/components/schemas/StagedOrderSetShippingAddressCustomTypeAction' setShippingCustomField: '#/components/schemas/StagedOrderSetShippingCustomFieldAction' setShippingCustomType: '#/components/schemas/StagedOrderSetShippingCustomTypeAction' setShippingMethod: '#/components/schemas/StagedOrderSetShippingMethodAction' setShippingMethodTaxAmount: '#/components/schemas/StagedOrderSetShippingMethodTaxAmountAction' setShippingMethodTaxRate: '#/components/schemas/StagedOrderSetShippingMethodTaxRateAction' setShippingRateInput: '#/components/schemas/StagedOrderSetShippingRateInputAction' setStore: '#/components/schemas/StagedOrderSetStoreAction' transitionCustomLineItemState: '#/components/schemas/StagedOrderTransitionCustomLineItemStateAction' transitionLineItemState: '#/components/schemas/StagedOrderTransitionLineItemStateAction' transitionState: '#/components/schemas/StagedOrderTransitionStateAction' updateItemShippingAddress: '#/components/schemas/StagedOrderUpdateItemShippingAddressAction' updateSyncInfo: '#/components/schemas/StagedOrderUpdateSyncInfoAction' required: - action properties: action: type: "string" OrderEditAddStagedActionAction: allOf: - $ref: '#/components/schemas/OrderEditUpdateAction' - type: "object" required: - stagedAction properties: action: type: "string" stagedAction: $ref: '#/components/schemas/StagedOrderUpdateAction' OrderEditSetCommentAction: allOf: - $ref: '#/components/schemas/OrderEditUpdateAction' - type: "object" properties: action: type: "string" comment: type: "string" OrderEditSetCustomFieldAction: allOf: - $ref: '#/components/schemas/OrderEditUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} OrderEditSetCustomTypeAction: allOf: - $ref: '#/components/schemas/OrderEditUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' OrderEditSetKeyAction: allOf: - $ref: '#/components/schemas/OrderEditUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" OrderEditSetStagedActionsAction: allOf: - $ref: '#/components/schemas/OrderEditUpdateAction' - type: "object" required: - stagedActions properties: action: type: "string" stagedActions: type: "array" items: $ref: '#/components/schemas/StagedOrderUpdateAction' StagedOrderAddCustomLineItemAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - money - name - slug properties: action: type: "string" money: $ref: '#/components/schemas/Money' name: $ref: '#/components/schemas/LocalizedString' key: type: "string" quantity: type: "integer" format: "int64" slug: type: "string" taxCategory: $ref: '#/components/schemas/TaxCategoryResourceIdentifier' externalTaxRate: $ref: '#/components/schemas/ExternalTaxRateDraft' shippingDetails: $ref: '#/components/schemas/ItemShippingDetailsDraft' priceMode: $ref: '#/components/schemas/CustomLineItemPriceMode' custom: $ref: '#/components/schemas/CustomFieldsDraft' recurrenceInfo: $ref: '#/components/schemas/CustomLineItemRecurrenceInfoDraft' StagedOrderAddDeliveryAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" deliveryKey: type: "string" shippingKey: type: "string" items: type: "array" items: $ref: '#/components/schemas/DeliveryItem' address: $ref: '#/components/schemas/BaseAddress' parcels: type: "array" items: $ref: '#/components/schemas/ParcelDraft' custom: $ref: '#/components/schemas/CustomFieldsDraft' StagedOrderAddDiscountCodeAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - code properties: action: type: "string" code: type: "string" StagedOrderAddItemShippingAddressAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - address properties: action: type: "string" address: $ref: '#/components/schemas/BaseAddress' StagedOrderAddLineItemAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" productId: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" quantity: type: "integer" format: "int64" addedAt: type: "string" format: "datetime" distributionChannel: $ref: '#/components/schemas/ChannelResourceIdentifier' supplyChannel: $ref: '#/components/schemas/ChannelResourceIdentifier' externalPrice: $ref: '#/components/schemas/Money' externalTotalPrice: $ref: '#/components/schemas/ExternalLineItemTotalPrice' externalTaxRate: $ref: '#/components/schemas/ExternalTaxRateDraft' inventoryMode: $ref: '#/components/schemas/InventoryMode' shippingDetails: $ref: '#/components/schemas/ItemShippingDetailsDraft' custom: $ref: '#/components/schemas/CustomFieldsDraft' recurrenceInfo: $ref: '#/components/schemas/LineItemRecurrenceInfoDraft' StagedOrderAddParcelToDeliveryAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" deliveryId: type: "string" deliveryKey: type: "string" parcelKey: type: "string" measurements: $ref: '#/components/schemas/ParcelMeasurements' trackingData: $ref: '#/components/schemas/TrackingData' items: type: "array" items: $ref: '#/components/schemas/DeliveryItem' custom: $ref: '#/components/schemas/CustomFieldsDraft' StagedOrderAddPaymentAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - payment properties: action: type: "string" payment: $ref: '#/components/schemas/PaymentResourceIdentifier' StagedOrderAddReturnInfoAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - items properties: action: type: "string" returnTrackingId: type: "string" items: type: "array" items: $ref: '#/components/schemas/ReturnItemDraft' returnDate: type: "string" format: "datetime" StagedOrderAddShoppingListAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - shoppingList properties: action: type: "string" shoppingList: $ref: '#/components/schemas/ShoppingListResourceIdentifier' distributionChannel: $ref: '#/components/schemas/ChannelResourceIdentifier' supplyChannel: $ref: '#/components/schemas/ChannelResourceIdentifier' StagedOrderChangeCustomLineItemMoneyAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - money properties: action: type: "string" customLineItemId: type: "string" customLineItemKey: type: "string" money: $ref: '#/components/schemas/Money' StagedOrderChangeCustomLineItemQuantityAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - quantity properties: action: type: "string" customLineItemId: type: "string" customLineItemKey: type: "string" quantity: type: "integer" format: "int64" StagedOrderChangeLineItemQuantityAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - quantity properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" quantity: type: "integer" format: "int64" externalPrice: $ref: '#/components/schemas/Money' externalTotalPrice: $ref: '#/components/schemas/ExternalLineItemTotalPrice' StagedOrderChangeOrderStateAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - orderState properties: action: type: "string" orderState: $ref: '#/components/schemas/OrderState' StagedOrderChangePaymentStateAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - paymentState properties: action: type: "string" paymentState: $ref: '#/components/schemas/PaymentState' StagedOrderChangePriceRoundingModeAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - priceRoundingMode properties: action: type: "string" priceRoundingMode: $ref: '#/components/schemas/RoundingMode' StagedOrderChangeShipmentStateAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - shipmentState properties: action: type: "string" shipmentState: $ref: '#/components/schemas/ShipmentState' StagedOrderChangeTaxCalculationModeAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - taxCalculationMode properties: action: type: "string" taxCalculationMode: $ref: '#/components/schemas/TaxCalculationMode' StagedOrderChangeTaxModeAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - taxMode properties: action: type: "string" taxMode: $ref: '#/components/schemas/TaxMode' StagedOrderChangeTaxRoundingModeAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - taxRoundingMode properties: action: type: "string" taxRoundingMode: $ref: '#/components/schemas/RoundingMode' StagedOrderImportCustomLineItemStateAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - state properties: action: type: "string" customLineItemId: type: "string" customLineItemKey: type: "string" state: type: "array" items: $ref: '#/components/schemas/ItemState' StagedOrderImportLineItemStateAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - state properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" state: type: "array" items: $ref: '#/components/schemas/ItemState' StagedOrderRemoveCustomLineItemAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" customLineItemId: type: "string" customLineItemKey: type: "string" StagedOrderRemoveDeliveryAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" deliveryId: type: "string" deliveryKey: type: "string" StagedOrderRemoveDiscountCodeAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - discountCode properties: action: type: "string" discountCode: $ref: '#/components/schemas/DiscountCodeReference' StagedOrderRemoveItemShippingAddressAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - addressKey properties: action: type: "string" addressKey: type: "string" StagedOrderRemoveLineItemAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" quantity: type: "integer" format: "int64" externalPrice: $ref: '#/components/schemas/Money' externalTotalPrice: $ref: '#/components/schemas/ExternalLineItemTotalPrice' shippingDetailsToRemove: $ref: '#/components/schemas/ItemShippingDetailsDraft' StagedOrderRemoveParcelFromDeliveryAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" parcelId: type: "string" parcelKey: type: "string" StagedOrderRemovePaymentAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - payment properties: action: type: "string" payment: $ref: '#/components/schemas/PaymentResourceIdentifier' StagedOrderSetBillingAddressAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" address: $ref: '#/components/schemas/BaseAddress' StagedOrderSetBillingAddressCustomFieldAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} StagedOrderSetBillingAddressCustomTypeAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' StagedOrderSetBusinessUnitAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" businessUnit: $ref: '#/components/schemas/BusinessUnitResourceIdentifier' StagedOrderSetCountryAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" country: $ref: '#/components/schemas/CountryCode' StagedOrderSetCustomFieldAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} StagedOrderSetCustomLineItemCustomFieldAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - name properties: action: type: "string" customLineItemId: type: "string" customLineItemKey: type: "string" name: type: "string" value: {} StagedOrderSetCustomLineItemCustomTypeAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" customLineItemId: type: "string" customLineItemKey: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' StagedOrderSetCustomLineItemShippingDetailsAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" customLineItemId: type: "string" customLineItemKey: type: "string" shippingDetails: $ref: '#/components/schemas/ItemShippingDetailsDraft' StagedOrderSetCustomLineItemTaxAmountAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" customLineItemId: type: "string" customLineItemKey: type: "string" externalTaxAmount: $ref: '#/components/schemas/ExternalTaxAmountDraft' shippingKey: type: "string" StagedOrderSetCustomLineItemTaxRateAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" customLineItemId: type: "string" customLineItemKey: type: "string" externalTaxRate: $ref: '#/components/schemas/ExternalTaxRateDraft' shippingKey: type: "string" StagedOrderSetCustomShippingMethodAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - shippingMethodName - shippingRate properties: action: type: "string" shippingMethodName: type: "string" shippingRate: $ref: '#/components/schemas/ShippingRateDraft' taxCategory: $ref: '#/components/schemas/TaxCategoryResourceIdentifier' externalTaxRate: $ref: '#/components/schemas/ExternalTaxRateDraft' custom: $ref: '#/components/schemas/CustomFieldsDraft' StagedOrderSetCustomTypeAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' StagedOrderSetCustomerEmailAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" email: type: "string" StagedOrderSetCustomerGroupAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" customerGroup: $ref: '#/components/schemas/CustomerGroupResourceIdentifier' StagedOrderSetCustomerIdAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" customerId: type: "string" StagedOrderSetDeliveryAddressAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" deliveryId: type: "string" deliveryKey: type: "string" address: $ref: '#/components/schemas/BaseAddress' StagedOrderSetDeliveryAddressCustomFieldAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - name properties: action: type: "string" deliveryId: type: "string" deliveryKey: type: "string" name: type: "string" value: {} StagedOrderSetDeliveryAddressCustomTypeAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" deliveryId: type: "string" deliveryKey: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' StagedOrderSetDeliveryCustomFieldAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - name properties: action: type: "string" deliveryId: type: "string" deliveryKey: type: "string" name: type: "string" value: {} StagedOrderSetDeliveryCustomTypeAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" deliveryId: type: "string" deliveryKey: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' StagedOrderSetDeliveryItemsAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - items properties: action: type: "string" deliveryId: type: "string" deliveryKey: type: "string" items: type: "array" items: $ref: '#/components/schemas/DeliveryItem' StagedOrderSetDirectDiscountsAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - discounts properties: action: type: "string" discounts: type: "array" items: $ref: '#/components/schemas/DirectDiscountDraft' StagedOrderSetDirectDiscountsIgnoreCartDiscountsAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" directDiscountsIgnoreCartDiscounts: type: "boolean" StagedOrderSetItemShippingAddressCustomFieldAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - addressKey - name properties: action: type: "string" addressKey: type: "string" name: type: "string" value: {} StagedOrderSetItemShippingAddressCustomTypeAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - addressKey properties: action: type: "string" addressKey: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' StagedOrderSetLineItemCustomFieldAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - name properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" name: type: "string" value: {} StagedOrderSetLineItemCustomTypeAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' StagedOrderSetLineItemDistributionChannelAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" distributionChannel: $ref: '#/components/schemas/ChannelResourceIdentifier' StagedOrderSetLineItemPriceAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" externalPrice: $ref: '#/components/schemas/Money' StagedOrderSetLineItemShippingDetailsAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" shippingDetails: $ref: '#/components/schemas/ItemShippingDetailsDraft' StagedOrderSetLineItemTaxAmountAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" externalTaxAmount: $ref: '#/components/schemas/ExternalTaxAmountDraft' shippingKey: type: "string" StagedOrderSetLineItemTaxRateAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" externalTaxRate: $ref: '#/components/schemas/ExternalTaxRateDraft' shippingKey: type: "string" StagedOrderSetLineItemTotalPriceAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" externalTotalPrice: $ref: '#/components/schemas/ExternalLineItemTotalPrice' StagedOrderSetLocaleAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" locale: $ref: '#/components/schemas/Locale' StagedOrderSetOrderNumberAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" orderNumber: type: "string" StagedOrderSetOrderTotalTaxAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - externalTotalGross properties: action: type: "string" externalTotalGross: $ref: '#/components/schemas/Money' externalTaxPortions: type: "array" items: $ref: '#/components/schemas/TaxPortionDraft' StagedOrderSetParcelCustomFieldAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - name properties: action: type: "string" parcelId: type: "string" parcelKey: type: "string" name: type: "string" value: {} StagedOrderSetParcelCustomTypeAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" parcelId: type: "string" parcelKey: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' StagedOrderSetParcelItemsAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - items properties: action: type: "string" parcelId: type: "string" parcelKey: type: "string" items: type: "array" items: $ref: '#/components/schemas/DeliveryItem' StagedOrderSetParcelMeasurementsAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" parcelId: type: "string" parcelKey: type: "string" measurements: $ref: '#/components/schemas/ParcelMeasurements' StagedOrderSetParcelTrackingDataAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" parcelId: type: "string" parcelKey: type: "string" trackingData: $ref: '#/components/schemas/TrackingData' StagedOrderSetPurchaseOrderNumberAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" purchaseOrderNumber: type: "string" StagedOrderSetReturnInfoAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" items: type: "array" items: $ref: '#/components/schemas/ReturnInfoDraft' StagedOrderSetReturnItemCustomFieldAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - name properties: action: type: "string" returnItemId: type: "string" returnItemKey: type: "string" name: type: "string" value: {} StagedOrderSetReturnItemCustomTypeAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" returnItemId: type: "string" returnItemKey: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' StagedOrderSetReturnPaymentStateAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - paymentState properties: action: type: "string" returnItemId: type: "string" returnItemKey: type: "string" paymentState: $ref: '#/components/schemas/ReturnPaymentState' StagedOrderSetReturnShipmentStateAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - shipmentState properties: action: type: "string" returnItemId: type: "string" returnItemKey: type: "string" shipmentState: $ref: '#/components/schemas/ReturnShipmentState' StagedOrderSetShippingAddressAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" address: $ref: '#/components/schemas/BaseAddress' StagedOrderSetShippingAddressAndCustomShippingMethodAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - address - shippingMethodName - shippingRate properties: action: type: "string" address: $ref: '#/components/schemas/BaseAddress' shippingMethodName: type: "string" shippingRate: $ref: '#/components/schemas/ShippingRateDraft' taxCategory: $ref: '#/components/schemas/TaxCategoryResourceIdentifier' externalTaxRate: $ref: '#/components/schemas/ExternalTaxRateDraft' custom: $ref: '#/components/schemas/CustomFieldsDraft' StagedOrderSetShippingAddressAndShippingMethodAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - address properties: action: type: "string" address: $ref: '#/components/schemas/BaseAddress' shippingMethod: $ref: '#/components/schemas/ShippingMethodResourceIdentifier' externalTaxRate: $ref: '#/components/schemas/ExternalTaxRateDraft' StagedOrderSetShippingAddressCustomFieldAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} StagedOrderSetShippingAddressCustomTypeAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' StagedOrderSetShippingCustomFieldAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - name properties: action: type: "string" shippingKey: type: "string" name: type: "string" value: {} StagedOrderSetShippingCustomTypeAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" shippingKey: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' StagedOrderSetShippingMethodAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" shippingMethod: $ref: '#/components/schemas/ShippingMethodResourceIdentifier' externalTaxRate: $ref: '#/components/schemas/ExternalTaxRateDraft' StagedOrderSetShippingMethodTaxAmountAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" shippingKey: type: "string" externalTaxAmount: $ref: '#/components/schemas/ExternalTaxAmountDraft' StagedOrderSetShippingMethodTaxRateAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" shippingKey: type: "string" externalTaxRate: $ref: '#/components/schemas/ExternalTaxRateDraft' StagedOrderSetShippingRateInputAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" shippingRateInput: $ref: '#/components/schemas/ShippingRateInputDraft' StagedOrderSetStoreAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" properties: action: type: "string" store: $ref: '#/components/schemas/StoreResourceIdentifier' StagedOrderTransitionCustomLineItemStateAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - fromState - quantity - toState properties: action: type: "string" customLineItemId: type: "string" customLineItemKey: type: "string" quantity: type: "integer" format: "int64" fromState: $ref: '#/components/schemas/StateResourceIdentifier' toState: $ref: '#/components/schemas/StateResourceIdentifier' actualTransitionDate: type: "string" format: "datetime" StagedOrderTransitionLineItemStateAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - fromState - quantity - toState properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" quantity: type: "integer" format: "int64" fromState: $ref: '#/components/schemas/StateResourceIdentifier' toState: $ref: '#/components/schemas/StateResourceIdentifier' actualTransitionDate: type: "string" format: "datetime" StagedOrderTransitionStateAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - state properties: action: type: "string" state: $ref: '#/components/schemas/StateResourceIdentifier' force: type: "boolean" StagedOrderUpdateItemShippingAddressAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - address properties: action: type: "string" address: $ref: '#/components/schemas/BaseAddress' StagedOrderUpdateSyncInfoAction: allOf: - $ref: '#/components/schemas/StagedOrderUpdateAction' - type: "object" required: - channel properties: action: type: "string" externalId: type: "string" channel: $ref: '#/components/schemas/ChannelResourceIdentifier' syncedAt: type: "string" format: "datetime" Hit: type: "object" required: - id - version properties: id: type: "string" version: type: "integer" format: "int64" relevance: type: "number" format: "double" OrderPagedSearchResponse: type: "object" required: - hits - total properties: total: type: "integer" format: "int64" offset: type: "integer" format: "int64" limit: type: "integer" format: "int64" hits: type: "array" items: $ref: '#/components/schemas/Hit' OrderSearchAndExpression: allOf: - $ref: '#/components/schemas/OrderSearchCompoundExpression' - type: "object" required: - and properties: and: type: "array" items: $ref: '#/components/schemas/OrderSearchQuery' OrderSearchAnyValue: allOf: - $ref: '#/components/schemas/OrderSearchQueryExpressionValue' - type: "object" required: - value properties: field: type: "string" boost: type: "integer" format: "int32" customType: $ref: '#/components/schemas/OrderSearchCustomType' value: {} language: type: "string" caseInsensitive: type: "boolean" OrderSearchCompoundExpression: allOf: - $ref: '#/components/schemas/OrderSearchQuery' - type: "object" OrderSearchCustomType: type: "string" enum: - BooleanType - StringType - LocalizedStringType - EnumType - LocalizedEnumType - NumberType - DateType - TimeType - DateTimeType - SetType.StringType - SetType.LocalizedStringType - SetType.EnumType - SetType.LocalizedEnumType - SetType.NumberType - SetType.DateType - SetType.TimeType - SetType.DateTimeType x-annotation-package: "Order" x-annotation-enumDescriptions: BooleanType: "For [CustomFieldBooleanType](ctp:api:type:CustomFieldBooleanType) Custom Fields.n" StringType: "For [CustomFieldStringType](ctp:api:type:CustomFieldStringType) Custom Fields.n" LocalizedStringType: "For [CustomFieldLocalizedStringType](ctp:api:type:CustomFieldLocalizedStringType) Custom Fields.n" EnumType: "For [CustomFieldEnumType](ctp:api:type:CustomFieldEnumType) Custom Fields.n" LocalizedEnumType: "For [CustomFieldLocalizedEnumType](ctp:api:type:CustomFieldLocalizedEnumType) Custom Fields.n" NumberType: "For [CustomFieldNumberType](ctp:api:type:CustomFieldNumberType) Custom Fields.n" DateType: "For [CustomFieldDateType](ctp:api:type:CustomFieldDateType) Custom Fields.n" DateTimeType: "For [CustomFieldDateTimeType](ctp:api:type:CustomFieldDateTimeType) Custom Fields.n" TimeType: "For [CustomFieldTimeType](ctp:api:type:CustomFieldTimeType) Custom Fields.n" SetType.StringType: "For [CustomFieldSetType](ctp:api:type:CustomFieldSetType) of `StringType` Custom Fields.n" SetType.LocalizedStringType: "For [CustomFieldSetType](ctp:api:type:CustomFieldSetType) of `LocalizedStringType` Custom Fields.n" SetType.EnumType: "For [CustomFieldSetType](ctp:api:type:CustomFieldSetType) of `EnumType` Custom Fields.n" SetType.LocalizedEnumType: "For [CustomFieldSetType](ctp:api:type:CustomFieldSetType) of `LocalizedEnumType` Custom Fields.n" SetType.NumberType: "For [CustomFieldSetType](ctp:api:type:CustomFieldSetType) of `NumberType` Custom Fields.n" SetType.DateType: "For [CustomFieldSetType](ctp:api:type:CustomFieldSetType) of `DateType` Custom Fields.n" SetType.DateTimeType: "For [CustomFieldSetType](ctp:api:type:CustomFieldSetType) of `DateTimeType` Custom Fields.n" SetType.TimeType: "For [CustomFieldSetType](ctp:api:type:CustomFieldSetType) of `TimeType` Custom Fields.n" OrderSearchDateRangeExpression: allOf: - $ref: '#/components/schemas/OrderSearchQueryExpression' - type: "object" required: - range properties: range: $ref: '#/components/schemas/OrderSearchDateRangeValue' OrderSearchDateRangeValue: allOf: - $ref: '#/components/schemas/OrderSearchQueryExpressionValue' - type: "object" properties: field: type: "string" boost: type: "integer" format: "int32" customType: $ref: '#/components/schemas/OrderSearchCustomType' gte: type: "string" format: "datetime" lte: type: "string" format: "datetime" OrderSearchExactExpression: allOf: - $ref: '#/components/schemas/OrderSearchQueryExpression' - type: "object" required: - exact properties: exact: $ref: '#/components/schemas/OrderSearchAnyValue' OrderSearchExistsExpression: allOf: - $ref: '#/components/schemas/OrderSearchQueryExpression' - type: "object" required: - exists properties: exists: $ref: '#/components/schemas/OrderSearchQueryExpressionValue' OrderSearchFilterExpression: allOf: - $ref: '#/components/schemas/OrderSearchCompoundExpression' - type: "object" required: - filter properties: filter: type: "array" items: $ref: '#/components/schemas/OrderSearchQueryExpression' OrderSearchFullTextExpression: allOf: - $ref: '#/components/schemas/OrderSearchQueryExpression' - type: "object" required: - fullText properties: fullText: $ref: '#/components/schemas/OrderSearchFullTextValue' OrderSearchFullTextValue: allOf: - $ref: '#/components/schemas/OrderSearchQueryExpressionValue' - type: "object" required: - value properties: field: type: "string" boost: type: "integer" format: "int32" customType: $ref: '#/components/schemas/OrderSearchCustomType' value: type: "string" language: type: "string" mustMatch: $ref: '#/components/schemas/OrderSearchMatchType' OrderSearchLongRangeExpression: allOf: - $ref: '#/components/schemas/OrderSearchQueryExpression' - type: "object" required: - range properties: range: $ref: '#/components/schemas/OrderSearchLongRangeValue' OrderSearchLongRangeValue: allOf: - $ref: '#/components/schemas/OrderSearchQueryExpressionValue' - type: "object" properties: field: type: "string" boost: type: "integer" format: "int32" customType: $ref: '#/components/schemas/OrderSearchCustomType' gte: type: "integer" format: "int64" lte: type: "integer" format: "int64" OrderSearchMatchType: type: "string" enum: - any - all x-annotation-package: "Order" OrderSearchNotExpression: allOf: - $ref: '#/components/schemas/OrderSearchCompoundExpression' - type: "object" required: - not properties: not: type: "array" items: $ref: '#/components/schemas/OrderSearchQuery' OrderSearchNumberRangeExpression: allOf: - $ref: '#/components/schemas/OrderSearchQueryExpression' - type: "object" required: - range properties: range: $ref: '#/components/schemas/OrderSearchNumberRangeValue' OrderSearchNumberRangeValue: allOf: - $ref: '#/components/schemas/OrderSearchQueryExpressionValue' - type: "object" properties: field: type: "string" boost: type: "integer" format: "int32" customType: $ref: '#/components/schemas/OrderSearchCustomType' gte: type: "number" format: "double" lte: type: "number" format: "double" OrderSearchOrExpression: allOf: - $ref: '#/components/schemas/OrderSearchCompoundExpression' - type: "object" required: - or properties: or: type: "array" items: $ref: '#/components/schemas/OrderSearchQuery' OrderSearchPrefixExpression: allOf: - $ref: '#/components/schemas/OrderSearchQueryExpression' - type: "object" required: - prefix properties: prefix: $ref: '#/components/schemas/OrderSearchStringValue' OrderSearchQueryExpression: allOf: - $ref: '#/components/schemas/OrderSearchQuery' - type: "object" OrderSearchQueryExpressionValue: type: "object" required: - field properties: field: type: "string" boost: type: "integer" format: "int32" customType: $ref: '#/components/schemas/OrderSearchCustomType' OrderSearchSortMode: type: "string" enum: - min - max - avg - sum x-annotation-package: "Order" OrderSearchSortOrder: type: "string" enum: - asc - desc x-annotation-package: "Order" OrderSearchStringValue: allOf: - $ref: '#/components/schemas/OrderSearchQueryExpressionValue' - type: "object" required: - value properties: field: type: "string" boost: type: "integer" format: "int32" customType: $ref: '#/components/schemas/OrderSearchCustomType' value: type: "string" language: type: "string" caseInsensitive: type: "boolean" OrderSearchWildCardExpression: allOf: - $ref: '#/components/schemas/OrderSearchQueryExpression' - type: "object" required: - wildcard properties: wildcard: $ref: '#/components/schemas/OrderSearchStringValue' CustomLineItemImportDraft: type: "object" required: - money - name - quantity - slug properties: name: $ref: '#/components/schemas/LocalizedString' key: type: "string" slug: type: "string" quantity: type: "integer" format: "int64" money: $ref: '#/components/schemas/Money' taxRate: $ref: '#/components/schemas/TaxRate' taxedPrice: $ref: '#/components/schemas/TaxedPriceDraft' taxCategory: $ref: '#/components/schemas/TaxCategoryResourceIdentifier' priceMode: $ref: '#/components/schemas/CustomLineItemPriceMode' shippingDetails: $ref: '#/components/schemas/ItemShippingDetailsDraft' state: type: "array" items: $ref: '#/components/schemas/ItemState' custom: $ref: '#/components/schemas/CustomFieldsDraft' CustomLineItemReturnItem: allOf: - $ref: '#/components/schemas/ReturnItem' - type: "object" required: - customLineItemId - quantity properties: id: type: "string" key: type: "string" quantity: type: "integer" format: "int64" type: type: "string" comment: type: "string" shipmentState: $ref: '#/components/schemas/ReturnShipmentState' paymentState: $ref: '#/components/schemas/ReturnPaymentState' custom: $ref: '#/components/schemas/CustomFields' lastModifiedAt: type: "string" format: "datetime" createdAt: type: "string" format: "datetime" customLineItemId: type: "string" Delivery: type: "object" required: - createdAt - id - items - parcels properties: id: type: "string" key: type: "string" createdAt: type: "string" format: "datetime" items: type: "array" items: $ref: '#/components/schemas/DeliveryItem' parcels: type: "array" items: $ref: '#/components/schemas/Parcel' address: $ref: '#/components/schemas/Address' custom: $ref: '#/components/schemas/CustomFields' DeliveryDraft: type: "object" properties: key: type: "string" items: type: "array" items: $ref: '#/components/schemas/DeliveryItem' parcels: type: "array" items: $ref: '#/components/schemas/ParcelDraft' address: $ref: '#/components/schemas/AddressDraft' custom: $ref: '#/components/schemas/CustomFieldsDraft' DeliveryItem: type: "object" required: - id - quantity properties: id: type: "string" quantity: type: "integer" format: "int64" DiscountedLineItemPriceDraft: type: "object" required: - includedDiscounts - value properties: value: $ref: '#/components/schemas/Money' includedDiscounts: type: "array" items: $ref: '#/components/schemas/DiscountedLineItemPortionDraft' ItemState: type: "object" required: - quantity - state properties: quantity: type: "integer" format: "int64" state: $ref: '#/components/schemas/StateReference' LineItemImportDraft: type: "object" required: - name - price - quantity - variant properties: name: $ref: '#/components/schemas/LocalizedString' key: type: "string" variant: $ref: '#/components/schemas/ProductVariantImportDraft' productId: type: "string" quantity: type: "integer" format: "int64" price: $ref: '#/components/schemas/PriceDraft' taxRate: $ref: '#/components/schemas/TaxRate' taxedPrice: $ref: '#/components/schemas/TaxedPriceDraft' distributionChannel: $ref: '#/components/schemas/ChannelResourceIdentifier' supplyChannel: $ref: '#/components/schemas/ChannelResourceIdentifier' inventoryMode: $ref: '#/components/schemas/InventoryMode' shippingDetails: $ref: '#/components/schemas/ItemShippingDetailsDraft' state: type: "array" items: $ref: '#/components/schemas/ItemState' custom: $ref: '#/components/schemas/CustomFieldsDraft' LineItemReturnItem: allOf: - $ref: '#/components/schemas/ReturnItem' - type: "object" required: - lineItemId - quantity properties: id: type: "string" key: type: "string" quantity: type: "integer" format: "int64" type: type: "string" comment: type: "string" shipmentState: $ref: '#/components/schemas/ReturnShipmentState' paymentState: $ref: '#/components/schemas/ReturnPaymentState' custom: $ref: '#/components/schemas/CustomFields' lastModifiedAt: type: "string" format: "datetime" createdAt: type: "string" format: "datetime" lineItemId: type: "string" Order: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - createdAt - customLineItems - id - lastModifiedAt - lineItems - orderState - origin - refusedGifts - shipping - shippingMode - syncInfo - totalPrice - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" orderNumber: type: "string" purchaseOrderNumber: type: "string" customerId: type: "string" customerEmail: type: "string" customerGroup: $ref: '#/components/schemas/CustomerGroupReference' anonymousId: type: "string" businessUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' store: $ref: '#/components/schemas/StoreKeyReference' lineItems: type: "array" items: $ref: '#/components/schemas/LineItem' customLineItems: type: "array" items: $ref: '#/components/schemas/CustomLineItem' totalPrice: $ref: '#/components/schemas/CentPrecisionMoney' taxedPrice: $ref: '#/components/schemas/TaxedPrice' taxedShippingPrice: $ref: '#/components/schemas/TaxedPrice' discountOnTotalPrice: $ref: '#/components/schemas/DiscountOnTotalPrice' priceRoundingMode: $ref: '#/components/schemas/RoundingMode' taxMode: $ref: '#/components/schemas/TaxMode' taxRoundingMode: $ref: '#/components/schemas/RoundingMode' taxCalculationMode: $ref: '#/components/schemas/TaxCalculationMode' inventoryMode: $ref: '#/components/schemas/InventoryMode' billingAddress: $ref: '#/components/schemas/Address' shippingAddress: $ref: '#/components/schemas/Address' shippingMode: $ref: '#/components/schemas/ShippingMode' shippingKey: type: "string" shippingInfo: $ref: '#/components/schemas/ShippingInfo' shippingRateInput: $ref: '#/components/schemas/ShippingRateInput' shippingCustomFields: $ref: '#/components/schemas/CustomFields' shipping: type: "array" items: $ref: '#/components/schemas/Shipping' itemShippingAddresses: type: "array" items: $ref: '#/components/schemas/Address' discountCodes: type: "array" items: $ref: '#/components/schemas/DiscountCodeInfo' directDiscounts: type: "array" items: $ref: '#/components/schemas/DirectDiscount' directDiscountsIgnoreCartDiscounts: type: "boolean" refusedGifts: type: "array" items: $ref: '#/components/schemas/CartDiscountReference' paymentInfo: $ref: '#/components/schemas/PaymentInfo' country: $ref: '#/components/schemas/CountryCode' locale: $ref: '#/components/schemas/Locale' origin: $ref: '#/components/schemas/CartOrigin' cart: $ref: '#/components/schemas/CartReference' quote: $ref: '#/components/schemas/QuoteReference' recurringOrder: $ref: '#/components/schemas/RecurringOrderReference' orderState: $ref: '#/components/schemas/OrderState' shipmentState: $ref: '#/components/schemas/ShipmentState' paymentState: $ref: '#/components/schemas/PaymentState' state: $ref: '#/components/schemas/StateReference' syncInfo: type: "array" items: $ref: '#/components/schemas/SyncInfo' returnInfo: type: "array" items: $ref: '#/components/schemas/ReturnInfo' discountTypeCombination: $ref: '#/components/schemas/DiscountTypeCombination' lastMessageSequenceNumber: type: "integer" format: "int64" custom: $ref: '#/components/schemas/CustomFields' completedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' OrderFromCartDraft: type: "object" required: - version properties: id: type: "string" cart: $ref: '#/components/schemas/CartResourceIdentifier' version: type: "integer" format: "int64" orderNumber: type: "string" purchaseOrderNumber: type: "string" paymentState: $ref: '#/components/schemas/PaymentState' shipmentState: $ref: '#/components/schemas/ShipmentState' orderState: $ref: '#/components/schemas/OrderState' state: $ref: '#/components/schemas/StateResourceIdentifier' custom: $ref: '#/components/schemas/CustomFieldsDraft' OrderFromQuoteDraft: type: "object" required: - quote - version properties: quote: $ref: '#/components/schemas/QuoteResourceIdentifier' version: type: "integer" format: "int64" quoteStateToAccepted: type: "boolean" orderNumber: type: "string" paymentState: $ref: '#/components/schemas/PaymentState' shipmentState: $ref: '#/components/schemas/ShipmentState' orderState: $ref: '#/components/schemas/OrderState' state: $ref: '#/components/schemas/StateResourceIdentifier' OrderImportDraft: type: "object" required: - totalPrice properties: orderNumber: type: "string" purchaseOrderNumber: type: "string" customerId: type: "string" customerEmail: type: "string" customerGroup: $ref: '#/components/schemas/CustomerGroupResourceIdentifier' businessUnit: $ref: '#/components/schemas/BusinessUnitResourceIdentifier' store: $ref: '#/components/schemas/StoreResourceIdentifier' lineItems: type: "array" items: $ref: '#/components/schemas/LineItemImportDraft' customLineItems: type: "array" items: $ref: '#/components/schemas/CustomLineItemImportDraft' totalPrice: $ref: '#/components/schemas/Money' taxedPrice: $ref: '#/components/schemas/TaxedPriceDraft' priceRoundingMode: $ref: '#/components/schemas/RoundingMode' taxRoundingMode: $ref: '#/components/schemas/RoundingMode' taxCalculationMode: $ref: '#/components/schemas/TaxCalculationMode' inventoryMode: $ref: '#/components/schemas/InventoryMode' billingAddress: $ref: '#/components/schemas/BaseAddress' shippingAddress: $ref: '#/components/schemas/BaseAddress' itemShippingAddresses: type: "array" items: $ref: '#/components/schemas/BaseAddress' shippingInfo: $ref: '#/components/schemas/ShippingInfoImportDraft' paymentInfo: $ref: '#/components/schemas/PaymentInfo' paymentState: $ref: '#/components/schemas/PaymentState' shipmentState: $ref: '#/components/schemas/ShipmentState' orderState: $ref: '#/components/schemas/OrderState' state: $ref: '#/components/schemas/StateReference' country: $ref: '#/components/schemas/CountryCode' origin: $ref: '#/components/schemas/CartOrigin' completedAt: type: "string" format: "datetime" custom: $ref: '#/components/schemas/CustomFieldsDraft' OrderPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/Order' OrderReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/Order' OrderSearchQuery: type: "object" OrderSearchRequest: type: "object" required: - query properties: query: $ref: '#/components/schemas/OrderSearchQuery' sort: type: "array" items: $ref: '#/components/schemas/OrderSearchSorting' limit: type: "integer" format: "int32" offset: type: "integer" format: "int32" OrderSearchSorting: type: "object" required: - field properties: field: type: "string" language: type: "string" order: $ref: '#/components/schemas/OrderSearchSortOrder' mode: $ref: '#/components/schemas/OrderSearchSortMode' filter: $ref: '#/components/schemas/OrderSearchQueryExpression' OrderState: type: "string" enum: - Open - Confirmed - Complete - Cancelled x-annotation-package: "Order" x-annotation-enumDescriptions: Open: "The default state of a new Order.n" Confirmed: "Indicates that the Order is accepted and being processed.n" Complete: "Indicates that the Order is fulfilled.n" Cancelled: "Indicates that the Order is canceled.n" OrderUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/OrderUpdateAction' OrderUpdateAction: type: "object" discriminator: propertyName: action mapping: addDelivery: '#/components/schemas/OrderAddDeliveryAction' addItemShippingAddress: '#/components/schemas/OrderAddItemShippingAddressAction' addParcelToDelivery: '#/components/schemas/OrderAddParcelToDeliveryAction' addPayment: '#/components/schemas/OrderAddPaymentAction' addReturnInfo: '#/components/schemas/OrderAddReturnInfoAction' changeOrderState: '#/components/schemas/OrderChangeOrderStateAction' changePaymentState: '#/components/schemas/OrderChangePaymentStateAction' changeShipmentState: '#/components/schemas/OrderChangeShipmentStateAction' importCustomLineItemState: '#/components/schemas/OrderImportCustomLineItemStateAction' importLineItemState: '#/components/schemas/OrderImportLineItemStateAction' removeDelivery: '#/components/schemas/OrderRemoveDeliveryAction' removeItemShippingAddress: '#/components/schemas/OrderRemoveItemShippingAddressAction' removeParcelFromDelivery: '#/components/schemas/OrderRemoveParcelFromDeliveryAction' removePayment: '#/components/schemas/OrderRemovePaymentAction' setBillingAddress: '#/components/schemas/OrderSetBillingAddressAction' setBillingAddressCustomField: '#/components/schemas/OrderSetBillingAddressCustomFieldAction' setBillingAddressCustomType: '#/components/schemas/OrderSetBillingAddressCustomTypeAction' setBusinessUnit: '#/components/schemas/OrderSetBusinessUnitAction' setCustomField: '#/components/schemas/OrderSetCustomFieldAction' setCustomLineItemCustomField: '#/components/schemas/OrderSetCustomLineItemCustomFieldAction' setCustomLineItemCustomType: '#/components/schemas/OrderSetCustomLineItemCustomTypeAction' setCustomLineItemShippingDetails: '#/components/schemas/OrderSetCustomLineItemShippingDetailsAction' setCustomType: '#/components/schemas/OrderSetCustomTypeAction' setCustomerEmail: '#/components/schemas/OrderSetCustomerEmailAction' setCustomerId: '#/components/schemas/OrderSetCustomerIdAction' setDeliveryAddress: '#/components/schemas/OrderSetDeliveryAddressAction' setDeliveryAddressCustomField: '#/components/schemas/OrderSetDeliveryAddressCustomFieldAction' setDeliveryAddressCustomType: '#/components/schemas/OrderSetDeliveryAddressCustomTypeAction' setDeliveryCustomField: '#/components/schemas/OrderSetDeliveryCustomFieldAction' setDeliveryCustomType: '#/components/schemas/OrderSetDeliveryCustomTypeAction' setDeliveryItems: '#/components/schemas/OrderSetDeliveryItemsAction' setEstimatedDelivery: '#/components/schemas/OrderSetEstimatedDeliveryAction' setItemShippingAddressCustomField: '#/components/schemas/OrderSetItemShippingAddressCustomFieldAction' setItemShippingAddressCustomType: '#/components/schemas/OrderSetItemShippingAddressCustomTypeAction' setLineItemCustomField: '#/components/schemas/OrderSetLineItemCustomFieldAction' setLineItemCustomType: '#/components/schemas/OrderSetLineItemCustomTypeAction' setLineItemShippingDetails: '#/components/schemas/OrderSetLineItemShippingDetailsAction' setLocale: '#/components/schemas/OrderSetLocaleAction' setOrderNumber: '#/components/schemas/OrderSetOrderNumberAction' setParcelCustomField: '#/components/schemas/OrderSetParcelCustomFieldAction' setParcelCustomType: '#/components/schemas/OrderSetParcelCustomTypeAction' setParcelItems: '#/components/schemas/OrderSetParcelItemsAction' setParcelMeasurements: '#/components/schemas/OrderSetParcelMeasurementsAction' setParcelTrackingData: '#/components/schemas/OrderSetParcelTrackingDataAction' setPurchaseOrderNumber: '#/components/schemas/OrderSetPurchaseOrderNumberAction' setReturnInfo: '#/components/schemas/OrderSetReturnInfoAction' setReturnItemCustomField: '#/components/schemas/OrderSetReturnItemCustomFieldAction' setReturnItemCustomType: '#/components/schemas/OrderSetReturnItemCustomTypeAction' setReturnPaymentState: '#/components/schemas/OrderSetReturnPaymentStateAction' setReturnShipmentState: '#/components/schemas/OrderSetReturnShipmentStateAction' setShippingAddress: '#/components/schemas/OrderSetShippingAddressAction' setShippingAddressCustomField: '#/components/schemas/OrderSetShippingAddressCustomFieldAction' setShippingAddressCustomType: '#/components/schemas/OrderSetShippingAddressCustomTypeAction' setShippingCustomField: '#/components/schemas/OrderSetShippingCustomFieldAction' setShippingCustomType: '#/components/schemas/OrderSetShippingCustomTypeAction' setStore: '#/components/schemas/OrderSetStoreAction' transitionCustomLineItemState: '#/components/schemas/OrderTransitionCustomLineItemStateAction' transitionLineItemState: '#/components/schemas/OrderTransitionLineItemStateAction' transitionState: '#/components/schemas/OrderTransitionStateAction' updateItemShippingAddress: '#/components/schemas/OrderUpdateItemShippingAddressAction' updateSyncInfo: '#/components/schemas/OrderUpdateSyncInfoAction' required: - action properties: action: type: "string" Parcel: type: "object" required: - createdAt - id properties: id: type: "string" key: type: "string" createdAt: type: "string" format: "datetime" measurements: $ref: '#/components/schemas/ParcelMeasurements' trackingData: $ref: '#/components/schemas/TrackingData' items: type: "array" items: $ref: '#/components/schemas/DeliveryItem' custom: $ref: '#/components/schemas/CustomFields' ParcelDraft: type: "object" properties: key: type: "string" measurements: $ref: '#/components/schemas/ParcelMeasurements' trackingData: $ref: '#/components/schemas/TrackingData' items: type: "array" items: $ref: '#/components/schemas/DeliveryItem' custom: $ref: '#/components/schemas/CustomFieldsDraft' ParcelMeasurements: type: "object" properties: heightInMillimeter: type: "integer" format: "int32" lengthInMillimeter: type: "integer" format: "int32" widthInMillimeter: type: "integer" format: "int32" weightInGram: type: "integer" format: "int32" PaymentInfo: type: "object" required: - payments properties: payments: type: "array" items: $ref: '#/components/schemas/PaymentReference' PaymentState: type: "string" enum: - BalanceDue - Failed - Pending - CreditOwed - Paid x-annotation-package: "Order" x-annotation-enumDescriptions: BalanceDue: "Indicates that payment balance is due for the Order.n" Failed: "Indicates that payment for the Order has failed.n" Pending: "Indicates that payment for the Order is pending.n" CreditOwed: "Indicates that payment for the Order is made on a credit basis.n" Paid: "Indicates that the Order is paid for.n" ProductVariantImportDraft: type: "object" properties: id: type: "integer" format: "int64" sku: type: "string" prices: type: "array" items: $ref: '#/components/schemas/PriceDraft' attributes: type: "array" items: $ref: '#/components/schemas/Attribute' images: type: "array" items: $ref: '#/components/schemas/Image' ReturnInfo: type: "object" required: - items properties: items: type: "array" items: $ref: '#/components/schemas/ReturnItem' returnTrackingId: type: "string" returnDate: type: "string" format: "datetime" ReturnInfoDraft: type: "object" required: - items properties: items: type: "array" items: $ref: '#/components/schemas/ReturnItemDraft' returnTrackingId: type: "string" returnDate: type: "string" format: "datetime" ReturnItem: type: "object" discriminator: propertyName: type mapping: CustomLineItemReturnItem: '#/components/schemas/CustomLineItemReturnItem' LineItemReturnItem: '#/components/schemas/LineItemReturnItem' required: - createdAt - id - lastModifiedAt - paymentState - quantity - shipmentState - type properties: id: type: "string" key: type: "string" quantity: type: "integer" format: "int64" type: type: "string" comment: type: "string" shipmentState: $ref: '#/components/schemas/ReturnShipmentState' paymentState: $ref: '#/components/schemas/ReturnPaymentState' custom: $ref: '#/components/schemas/CustomFields' lastModifiedAt: type: "string" format: "datetime" createdAt: type: "string" format: "datetime" ReturnItemDraft: type: "object" required: - quantity - shipmentState properties: key: type: "string" quantity: type: "integer" format: "int64" lineItemId: type: "string" customLineItemId: type: "string" comment: type: "string" shipmentState: $ref: '#/components/schemas/ReturnShipmentState' custom: $ref: '#/components/schemas/CustomFieldsDraft' ReturnPaymentState: type: "string" enum: - NonRefundable - Initial - Refunded - NotRefunded x-annotation-package: "Order" x-annotation-enumDescriptions: NonRefundable: "Initial state for Return Items for which payment cannot be refunded.n nReturn Items have the `Advised` [ReturnShipmentState](ctp:api:type:ReturnShipmentState).n" Initial: "Initial state for Return Items for which payment can be refunded.nnReturn Items have the `Returned` [ReturnShipmentState](ctp:api:type:ReturnShipmentState).n" Refunded: "The payment for the Return Items is refunded.n" NotRefunded: "The payment for the Return Items is not refunded.n" ReturnShipmentState: type: "string" enum: - Advised - Returned - BackInStock - Unusable x-annotation-package: "Order" x-annotation-enumDescriptions: Advised: "Initial state for Return Items that are non-refundable.nnReturn Items of this state will have the `NonRefundable` [ReturnPaymentState](ctp:api:type:ReturnPaymentState).n" Returned: "Initial state for Return Items that are refundable.nnReturn Items of this state will have the `Initial` [ReturnPaymentState](ctp:api:type:ReturnPaymentState).n" BackInStock: "A state indicating that the Return Items are restocked in inventory.n" Unusable: "A state indicating that the Return Items are not in good condition and cannot be restocked.n" ShipmentState: type: "string" enum: - Shipped - Delivered - Ready - Pending - Delayed - Partial - Backorder - Canceled x-annotation-package: "Order" x-annotation-enumDescriptions: Shipped: "Indicates that the Order is shipped.n" Delivered: "Indicates that the Order is delivered.n" Ready: "Indicates that the Order is ready to be shipped.n" Pending: "Indicates that the shipment of the Order is pending.n" Delayed: "Indicates that the shipment of the Order is delayed.n" Partial: "Indicates that items in the Order are shipped in more than one shipment.n" Backorder: "Indicates that items in the Order are not in stock and will be delivered once the items are restocked.n" Canceled: "Indicates that the shipment of the Order is canceled.n" ShippingInfoImportDraft: type: "object" required: - price - shippingMethodName - shippingRate properties: shippingMethodName: type: "string" price: $ref: '#/components/schemas/Money' shippingRate: $ref: '#/components/schemas/ShippingRateDraft' taxRate: $ref: '#/components/schemas/TaxRate' taxedPrice: $ref: '#/components/schemas/TaxedPriceDraft' taxCategory: $ref: '#/components/schemas/TaxCategoryResourceIdentifier' shippingMethod: $ref: '#/components/schemas/ShippingMethodResourceIdentifier' deliveries: type: "array" items: $ref: '#/components/schemas/DeliveryDraft' discountedPrice: $ref: '#/components/schemas/DiscountedLineItemPriceDraft' shippingMethodState: $ref: '#/components/schemas/ShippingMethodState' SyncInfo: type: "object" required: - channel - syncedAt properties: channel: $ref: '#/components/schemas/ChannelReference' externalId: type: "string" syncedAt: type: "string" format: "datetime" TaxedItemPriceDraft: type: "object" required: - totalGross - totalNet properties: totalNet: $ref: '#/components/schemas/Money' totalGross: $ref: '#/components/schemas/Money' TrackingData: type: "object" properties: trackingId: type: "string" carrier: type: "string" provider: type: "string" providerTransaction: type: "string" isReturn: type: "boolean" OrderAddDeliveryAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" properties: action: type: "string" deliveryKey: type: "string" shippingKey: type: "string" items: type: "array" items: $ref: '#/components/schemas/DeliveryItem' address: $ref: '#/components/schemas/BaseAddress' parcels: type: "array" items: $ref: '#/components/schemas/ParcelDraft' custom: $ref: '#/components/schemas/CustomFieldsDraft' OrderAddItemShippingAddressAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - address properties: action: type: "string" address: $ref: '#/components/schemas/BaseAddress' OrderAddParcelToDeliveryAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" properties: action: type: "string" deliveryId: type: "string" deliveryKey: type: "string" parcelKey: type: "string" measurements: $ref: '#/components/schemas/ParcelMeasurements' trackingData: $ref: '#/components/schemas/TrackingData' items: type: "array" items: $ref: '#/components/schemas/DeliveryItem' custom: $ref: '#/components/schemas/CustomFieldsDraft' OrderAddPaymentAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - payment properties: action: type: "string" payment: $ref: '#/components/schemas/PaymentResourceIdentifier' OrderAddReturnInfoAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - items properties: action: type: "string" returnTrackingId: type: "string" items: type: "array" items: $ref: '#/components/schemas/ReturnItemDraft' returnDate: type: "string" format: "datetime" OrderChangeOrderStateAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - orderState properties: action: type: "string" orderState: $ref: '#/components/schemas/OrderState' OrderChangePaymentStateAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - paymentState properties: action: type: "string" paymentState: $ref: '#/components/schemas/PaymentState' OrderChangeShipmentStateAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - shipmentState properties: action: type: "string" shipmentState: $ref: '#/components/schemas/ShipmentState' OrderImportCustomLineItemStateAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - state properties: action: type: "string" customLineItemId: type: "string" customLineItemKey: type: "string" state: type: "array" items: $ref: '#/components/schemas/ItemState' OrderImportLineItemStateAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - state properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" state: type: "array" items: $ref: '#/components/schemas/ItemState' OrderRemoveDeliveryAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" properties: action: type: "string" deliveryId: type: "string" deliveryKey: type: "string" OrderRemoveItemShippingAddressAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - addressKey properties: action: type: "string" addressKey: type: "string" OrderRemoveParcelFromDeliveryAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" properties: action: type: "string" parcelId: type: "string" parcelKey: type: "string" OrderRemovePaymentAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - payment properties: action: type: "string" payment: $ref: '#/components/schemas/PaymentResourceIdentifier' OrderSetBillingAddressAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" properties: action: type: "string" address: $ref: '#/components/schemas/BaseAddress' OrderSetBillingAddressCustomFieldAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} OrderSetBillingAddressCustomTypeAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' OrderSetBusinessUnitAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" properties: action: type: "string" businessUnit: $ref: '#/components/schemas/BusinessUnitResourceIdentifier' OrderSetCustomFieldAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} OrderSetCustomLineItemCustomFieldAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - name properties: action: type: "string" customLineItemId: type: "string" customLineItemKey: type: "string" name: type: "string" value: {} OrderSetCustomLineItemCustomTypeAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" properties: action: type: "string" customLineItemId: type: "string" customLineItemKey: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' OrderSetCustomLineItemShippingDetailsAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" properties: action: type: "string" customLineItemId: type: "string" customLineItemKey: type: "string" shippingDetails: $ref: '#/components/schemas/ItemShippingDetailsDraft' OrderSetCustomTypeAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' OrderSetCustomerEmailAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" properties: action: type: "string" email: type: "string" OrderSetCustomerIdAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" properties: action: type: "string" customerId: type: "string" OrderSetDeliveryAddressAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" properties: action: type: "string" deliveryId: type: "string" deliveryKey: type: "string" address: $ref: '#/components/schemas/BaseAddress' OrderSetDeliveryAddressCustomFieldAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - name properties: action: type: "string" deliveryId: type: "string" deliveryKey: type: "string" name: type: "string" value: {} OrderSetDeliveryAddressCustomTypeAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" properties: action: type: "string" deliveryId: type: "string" deliveryKey: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' OrderSetDeliveryCustomFieldAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - name properties: action: type: "string" deliveryId: type: "string" deliveryKey: type: "string" name: type: "string" value: {} OrderSetDeliveryCustomTypeAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" properties: action: type: "string" deliveryId: type: "string" deliveryKey: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' OrderSetDeliveryItemsAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - items properties: action: type: "string" deliveryId: type: "string" deliveryKey: type: "string" items: type: "array" items: $ref: '#/components/schemas/DeliveryItem' OrderSetEstimatedDeliveryAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" properties: action: type: "string" shippingKey: type: "string" estimatedDelivery: $ref: '#/components/schemas/EstimatedDelivery' OrderSetItemShippingAddressCustomFieldAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - addressKey - name properties: action: type: "string" addressKey: type: "string" name: type: "string" value: {} OrderSetItemShippingAddressCustomTypeAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - addressKey properties: action: type: "string" addressKey: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' OrderSetLineItemCustomFieldAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - name properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" name: type: "string" value: {} OrderSetLineItemCustomTypeAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' OrderSetLineItemShippingDetailsAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" shippingDetails: $ref: '#/components/schemas/ItemShippingDetailsDraft' OrderSetLocaleAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" properties: action: type: "string" locale: $ref: '#/components/schemas/Locale' OrderSetOrderNumberAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" properties: action: type: "string" orderNumber: type: "string" OrderSetParcelCustomFieldAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - name properties: action: type: "string" parcelId: type: "string" parcelKey: type: "string" name: type: "string" value: {} OrderSetParcelCustomTypeAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" properties: action: type: "string" parcelId: type: "string" parcelKey: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' OrderSetParcelItemsAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - items properties: action: type: "string" parcelId: type: "string" parcelKey: type: "string" items: type: "array" items: $ref: '#/components/schemas/DeliveryItem' OrderSetParcelMeasurementsAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" properties: action: type: "string" parcelId: type: "string" parcelKey: type: "string" measurements: $ref: '#/components/schemas/ParcelMeasurements' OrderSetParcelTrackingDataAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" properties: action: type: "string" parcelId: type: "string" parcelKey: type: "string" trackingData: $ref: '#/components/schemas/TrackingData' OrderSetPurchaseOrderNumberAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" properties: action: type: "string" purchaseOrderNumber: type: "string" OrderSetReturnInfoAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" properties: action: type: "string" items: type: "array" items: $ref: '#/components/schemas/ReturnInfoDraft' OrderSetReturnItemCustomFieldAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - name properties: action: type: "string" returnItemId: type: "string" returnItemKey: type: "string" name: type: "string" value: {} OrderSetReturnItemCustomTypeAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" properties: action: type: "string" returnItemId: type: "string" returnItemKey: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' OrderSetReturnPaymentStateAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - paymentState properties: action: type: "string" returnItemId: type: "string" returnItemKey: type: "string" paymentState: $ref: '#/components/schemas/ReturnPaymentState' OrderSetReturnShipmentStateAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - shipmentState properties: action: type: "string" returnItemId: type: "string" returnItemKey: type: "string" shipmentState: $ref: '#/components/schemas/ReturnShipmentState' OrderSetShippingAddressAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" properties: action: type: "string" address: $ref: '#/components/schemas/BaseAddress' OrderSetShippingAddressCustomFieldAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} OrderSetShippingAddressCustomTypeAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' OrderSetShippingCustomFieldAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - name properties: action: type: "string" shippingKey: type: "string" name: type: "string" value: {} OrderSetShippingCustomTypeAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" properties: action: type: "string" shippingKey: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' OrderSetStoreAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" properties: action: type: "string" store: $ref: '#/components/schemas/StoreResourceIdentifier' OrderTransitionCustomLineItemStateAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - fromState - quantity - toState properties: action: type: "string" customLineItemId: type: "string" customLineItemKey: type: "string" quantity: type: "integer" format: "int64" fromState: $ref: '#/components/schemas/StateResourceIdentifier' toState: $ref: '#/components/schemas/StateResourceIdentifier' actualTransitionDate: type: "string" format: "datetime" OrderTransitionLineItemStateAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - fromState - quantity - toState properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" quantity: type: "integer" format: "int64" fromState: $ref: '#/components/schemas/StateResourceIdentifier' toState: $ref: '#/components/schemas/StateResourceIdentifier' actualTransitionDate: type: "string" format: "datetime" OrderTransitionStateAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - state properties: action: type: "string" state: $ref: '#/components/schemas/StateResourceIdentifier' force: type: "boolean" OrderUpdateItemShippingAddressAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - address properties: action: type: "string" address: $ref: '#/components/schemas/BaseAddress' OrderUpdateSyncInfoAction: allOf: - $ref: '#/components/schemas/OrderUpdateAction' - type: "object" required: - channel properties: action: type: "string" externalId: type: "string" channel: $ref: '#/components/schemas/ChannelResourceIdentifier' syncedAt: type: "string" format: "datetime" PaymentMethod: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - createdAt - default - id - lastModifiedAt - paymentMethodStatus - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" key: type: "string" name: $ref: '#/components/schemas/LocalizedString' customer: $ref: '#/components/schemas/CustomerReference' businessUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' method: type: "string" paymentInterface: type: "string" interfaceAccount: type: "string" token: $ref: '#/components/schemas/PaymentMethodToken' paymentMethodStatus: $ref: '#/components/schemas/PaymentMethodStatus' default: type: "boolean" custom: $ref: '#/components/schemas/CustomFields' lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' PaymentMethodDraft: type: "object" properties: key: type: "string" name: $ref: '#/components/schemas/LocalizedString' customer: $ref: '#/components/schemas/CustomerResourceIdentifier' businessUnit: $ref: '#/components/schemas/BusinessUnitResourceIdentifier' method: type: "string" paymentInterface: type: "string" interfaceAccount: type: "string" token: $ref: '#/components/schemas/PaymentMethodToken' paymentMethodStatus: $ref: '#/components/schemas/PaymentMethodStatus' default: type: "boolean" custom: $ref: '#/components/schemas/CustomFieldsDraft' PaymentMethodPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/PaymentMethod' PaymentMethodReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/PaymentMethod' PaymentMethodStatus: type: "string" enum: - Active - Inactive x-annotation-package: "PaymentMethod" x-annotation-enumDescriptions: Active: "The PaymentMethod is active.n" Inactive: "The PaymentMethod is inactive.n" PaymentMethodToken: type: "object" required: - value properties: value: type: "string" PaymentMethodUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/PaymentMethodUpdateAction' PaymentMethodUpdateAction: type: "object" discriminator: propertyName: action mapping: setCustomField: '#/components/schemas/PaymentMethodSetCustomFieldAction' setCustomType: '#/components/schemas/PaymentMethodSetCustomTypeAction' setDefault: '#/components/schemas/PaymentMethodSetDefaultAction' setInterfaceAccount: '#/components/schemas/PaymentMethodSetInterfaceAccountAction' setKey: '#/components/schemas/PaymentMethodSetKeyAction' setMethod: '#/components/schemas/PaymentMethodSetMethodAction' setName: '#/components/schemas/PaymentMethodSetNameAction' setPaymentInterface: '#/components/schemas/PaymentMethodSetPaymentInterfaceAction' setPaymentMethodStatus: '#/components/schemas/PaymentMethodSetPaymentMethodStatusAction' required: - action properties: action: type: "string" PaymentMethodSetCustomFieldAction: allOf: - $ref: '#/components/schemas/PaymentMethodUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} PaymentMethodSetCustomTypeAction: allOf: - $ref: '#/components/schemas/PaymentMethodUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' PaymentMethodSetDefaultAction: allOf: - $ref: '#/components/schemas/PaymentMethodUpdateAction' - type: "object" required: - default properties: action: type: "string" default: type: "boolean" PaymentMethodSetInterfaceAccountAction: allOf: - $ref: '#/components/schemas/PaymentMethodUpdateAction' - type: "object" properties: action: type: "string" interfaceAccount: type: "string" PaymentMethodSetKeyAction: allOf: - $ref: '#/components/schemas/PaymentMethodUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" PaymentMethodSetMethodAction: allOf: - $ref: '#/components/schemas/PaymentMethodUpdateAction' - type: "object" properties: action: type: "string" method: type: "string" PaymentMethodSetNameAction: allOf: - $ref: '#/components/schemas/PaymentMethodUpdateAction' - type: "object" properties: action: type: "string" name: $ref: '#/components/schemas/LocalizedString' PaymentMethodSetPaymentInterfaceAction: allOf: - $ref: '#/components/schemas/PaymentMethodUpdateAction' - type: "object" properties: action: type: "string" paymentInterface: type: "string" PaymentMethodSetPaymentMethodStatusAction: allOf: - $ref: '#/components/schemas/PaymentMethodUpdateAction' - type: "object" required: - paymentMethodStatus properties: action: type: "string" paymentMethodStatus: $ref: '#/components/schemas/PaymentMethodStatus' Payment: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - amountPlanned - createdAt - id - interfaceInteractions - lastModifiedAt - paymentMethodInfo - paymentStatus - transactions - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' customer: $ref: '#/components/schemas/CustomerReference' anonymousId: type: "string" externalId: type: "string" interfaceId: type: "string" amountPlanned: $ref: '#/components/schemas/CentPrecisionMoney' amountAuthorized: $ref: '#/components/schemas/TypedMoney' authorizedUntil: type: "string" amountPaid: $ref: '#/components/schemas/TypedMoney' amountRefunded: $ref: '#/components/schemas/TypedMoney' paymentMethodInfo: $ref: '#/components/schemas/PaymentMethodInfo' paymentStatus: $ref: '#/components/schemas/PaymentStatus' transactions: type: "array" items: $ref: '#/components/schemas/Transaction' interfaceInteractions: type: "array" items: $ref: '#/components/schemas/CustomFields' custom: $ref: '#/components/schemas/CustomFields' key: type: "string" PaymentDraft: type: "object" required: - amountPlanned properties: customer: $ref: '#/components/schemas/CustomerResourceIdentifier' anonymousId: type: "string" externalId: type: "string" interfaceId: type: "string" amountPlanned: $ref: '#/components/schemas/Money' amountAuthorized: $ref: '#/components/schemas/Money' authorizedUntil: type: "string" amountPaid: $ref: '#/components/schemas/Money' amountRefunded: $ref: '#/components/schemas/Money' paymentMethodInfo: $ref: '#/components/schemas/PaymentMethodInfoDraft' paymentStatus: $ref: '#/components/schemas/PaymentStatusDraft' transactions: type: "array" items: $ref: '#/components/schemas/TransactionDraft' interfaceInteractions: type: "array" items: $ref: '#/components/schemas/CustomFieldsDraft' custom: $ref: '#/components/schemas/CustomFieldsDraft' key: type: "string" PaymentMethodInfo: type: "object" properties: paymentInterface: type: "string" method: type: "string" name: $ref: '#/components/schemas/LocalizedString' token: $ref: '#/components/schemas/PaymentMethodToken' interfaceAccount: type: "string" custom: $ref: '#/components/schemas/CustomFields' PaymentMethodInfoDraft: type: "object" properties: paymentInterface: type: "string" method: type: "string" name: $ref: '#/components/schemas/LocalizedString' token: $ref: '#/components/schemas/PaymentMethodToken' interfaceAccount: type: "string" custom: $ref: '#/components/schemas/CustomFieldsDraft' PaymentPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" offset: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/Payment' PaymentReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/Payment' PaymentResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" PaymentStatus: type: "object" properties: interfaceCode: type: "string" interfaceText: type: "string" state: $ref: '#/components/schemas/StateReference' PaymentStatusDraft: type: "object" properties: interfaceCode: type: "string" interfaceText: type: "string" state: $ref: '#/components/schemas/StateResourceIdentifier' PaymentUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/PaymentUpdateAction' PaymentUpdateAction: type: "object" discriminator: propertyName: action mapping: addInterfaceInteraction: '#/components/schemas/PaymentAddInterfaceInteractionAction' addTransaction: '#/components/schemas/PaymentAddTransactionAction' changeAmountPlanned: '#/components/schemas/PaymentChangeAmountPlannedAction' changeTransactionInteractionId: '#/components/schemas/PaymentChangeTransactionInteractionIdAction' changeTransactionState: '#/components/schemas/PaymentChangeTransactionStateAction' changeTransactionTimestamp: '#/components/schemas/PaymentChangeTransactionTimestampAction' setAmountPaid: '#/components/schemas/PaymentSetAmountPaidAction' setAmountRefunded: '#/components/schemas/PaymentSetAmountRefundedAction' setAnonymousId: '#/components/schemas/PaymentSetAnonymousIdAction' setAuthorization: '#/components/schemas/PaymentSetAuthorizationAction' setCustomField: '#/components/schemas/PaymentSetCustomFieldAction' setCustomType: '#/components/schemas/PaymentSetCustomTypeAction' setCustomer: '#/components/schemas/PaymentSetCustomerAction' setExternalId: '#/components/schemas/PaymentSetExternalIdAction' setInterfaceId: '#/components/schemas/PaymentSetInterfaceIdAction' setKey: '#/components/schemas/PaymentSetKeyAction' setMethodInfo: '#/components/schemas/PaymentSetMethodInfoAction' setMethodInfoCustomField: '#/components/schemas/PaymentSetMethodInfoCustomFieldAction' setMethodInfoCustomType: '#/components/schemas/PaymentSetMethodInfoCustomTypeAction' setMethodInfoInterfaceAccount: '#/components/schemas/PaymentSetMethodInfoInterfaceAccountAction' setMethodInfoInterface: '#/components/schemas/PaymentSetMethodInfoInterfaceAction' setMethodInfoMethod: '#/components/schemas/PaymentSetMethodInfoMethodAction' setMethodInfoName: '#/components/schemas/PaymentSetMethodInfoNameAction' setMethodInfoToken: '#/components/schemas/PaymentSetMethodInfoTokenAction' setStatusInterfaceCode: '#/components/schemas/PaymentSetStatusInterfaceCodeAction' setStatusInterfaceText: '#/components/schemas/PaymentSetStatusInterfaceTextAction' setTransactionCustomField: '#/components/schemas/PaymentSetTransactionCustomFieldAction' setTransactionCustomType: '#/components/schemas/PaymentSetTransactionCustomTypeAction' setTransactionInterfaceId: '#/components/schemas/PaymentSetTransactionInterfaceIdAction' transitionState: '#/components/schemas/PaymentTransitionStateAction' required: - action properties: action: type: "string" Transaction: type: "object" required: - amount - id - state - type properties: id: type: "string" timestamp: type: "string" format: "datetime" type: $ref: '#/components/schemas/TransactionType' amount: $ref: '#/components/schemas/CentPrecisionMoney' interactionId: type: "string" state: $ref: '#/components/schemas/TransactionState' custom: $ref: '#/components/schemas/CustomFields' interfaceId: type: "string" TransactionDraft: type: "object" required: - amount - type properties: timestamp: type: "string" format: "datetime" type: $ref: '#/components/schemas/TransactionType' amount: $ref: '#/components/schemas/Money' interactionId: type: "string" state: $ref: '#/components/schemas/TransactionState' custom: $ref: '#/components/schemas/CustomFieldsDraft' interfaceId: type: "string" TransactionState: type: "string" enum: - Initial - Pending - Success - Failure x-annotation-package: "Payment" x-annotation-enumDescriptions: Initial: "Initial State. The payment service has not accepted the Transaction yet.n" Pending: "The payment service has accepted the Transaction, but it is not completed yet.n" Success: "The payment service has confirmed the successful completion of the Transaction.n" Failure: "Transaction has unrecoverably failed.n" TransactionType: type: "string" enum: - Authorization - CancelAuthorization - Charge - Refund - Chargeback x-annotation-package: "Payment" x-annotation-enumDescriptions: Authorization: "Financially reliable reservation of an amount. Typically does not indicate an actual transfer of money.n" CancelAuthorization: "Explicit cancellation of an authorized amount before its expiry.n" Charge: "Collection of money from the customer. Can use an authorized amount or be directly executed.n" Refund: "Explicit transfer of money back to the customer.n" Chargeback: "Customer-initiated transfer of money back to the customer.n" PaymentAddInterfaceInteractionAction: allOf: - $ref: '#/components/schemas/PaymentUpdateAction' - type: "object" required: - type properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' PaymentAddTransactionAction: allOf: - $ref: '#/components/schemas/PaymentUpdateAction' - type: "object" required: - transaction properties: action: type: "string" transaction: $ref: '#/components/schemas/TransactionDraft' PaymentChangeAmountPlannedAction: allOf: - $ref: '#/components/schemas/PaymentUpdateAction' - type: "object" required: - amount properties: action: type: "string" amount: $ref: '#/components/schemas/Money' PaymentChangeTransactionInteractionIdAction: allOf: - $ref: '#/components/schemas/PaymentUpdateAction' - type: "object" required: - interactionId - transactionId properties: action: type: "string" transactionId: type: "string" interactionId: type: "string" PaymentChangeTransactionStateAction: allOf: - $ref: '#/components/schemas/PaymentUpdateAction' - type: "object" required: - state - transactionId properties: action: type: "string" transactionId: type: "string" state: $ref: '#/components/schemas/TransactionState' PaymentChangeTransactionTimestampAction: allOf: - $ref: '#/components/schemas/PaymentUpdateAction' - type: "object" required: - timestamp - transactionId properties: action: type: "string" transactionId: type: "string" timestamp: type: "string" format: "datetime" PaymentSetAmountPaidAction: allOf: - $ref: '#/components/schemas/PaymentUpdateAction' - type: "object" properties: action: type: "string" amount: $ref: '#/components/schemas/Money' PaymentSetAmountRefundedAction: allOf: - $ref: '#/components/schemas/PaymentUpdateAction' - type: "object" properties: action: type: "string" amount: $ref: '#/components/schemas/Money' PaymentSetAnonymousIdAction: allOf: - $ref: '#/components/schemas/PaymentUpdateAction' - type: "object" properties: action: type: "string" anonymousId: type: "string" PaymentSetAuthorizationAction: allOf: - $ref: '#/components/schemas/PaymentUpdateAction' - type: "object" properties: action: type: "string" amount: $ref: '#/components/schemas/Money' until: type: "string" format: "datetime" PaymentSetCustomFieldAction: allOf: - $ref: '#/components/schemas/PaymentUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} PaymentSetCustomTypeAction: allOf: - $ref: '#/components/schemas/PaymentUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' PaymentSetCustomerAction: allOf: - $ref: '#/components/schemas/PaymentUpdateAction' - type: "object" properties: action: type: "string" customer: $ref: '#/components/schemas/CustomerResourceIdentifier' PaymentSetExternalIdAction: allOf: - $ref: '#/components/schemas/PaymentUpdateAction' - type: "object" properties: action: type: "string" externalId: type: "string" PaymentSetInterfaceIdAction: allOf: - $ref: '#/components/schemas/PaymentUpdateAction' - type: "object" required: - interfaceId properties: action: type: "string" interfaceId: type: "string" PaymentSetKeyAction: allOf: - $ref: '#/components/schemas/PaymentUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" PaymentSetMethodInfoAction: allOf: - $ref: '#/components/schemas/PaymentUpdateAction' - type: "object" properties: action: type: "string" paymentInterface: type: "string" method: type: "string" name: $ref: '#/components/schemas/LocalizedString' token: $ref: '#/components/schemas/PaymentMethodToken' interfaceAccount: type: "string" custom: $ref: '#/components/schemas/CustomFieldsDraft' PaymentSetMethodInfoCustomFieldAction: allOf: - $ref: '#/components/schemas/PaymentUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} PaymentSetMethodInfoCustomTypeAction: allOf: - $ref: '#/components/schemas/PaymentUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' PaymentSetMethodInfoInterfaceAccountAction: allOf: - $ref: '#/components/schemas/PaymentUpdateAction' - type: "object" properties: action: type: "string" interfaceAccount: type: "string" PaymentSetMethodInfoInterfaceAction: allOf: - $ref: '#/components/schemas/PaymentUpdateAction' - type: "object" required: - interface properties: action: type: "string" interface: type: "string" PaymentSetMethodInfoMethodAction: allOf: - $ref: '#/components/schemas/PaymentUpdateAction' - type: "object" properties: action: type: "string" method: type: "string" PaymentSetMethodInfoNameAction: allOf: - $ref: '#/components/schemas/PaymentUpdateAction' - type: "object" properties: action: type: "string" name: $ref: '#/components/schemas/LocalizedString' PaymentSetMethodInfoTokenAction: allOf: - $ref: '#/components/schemas/PaymentUpdateAction' - type: "object" properties: action: type: "string" token: $ref: '#/components/schemas/PaymentMethodToken' PaymentSetStatusInterfaceCodeAction: allOf: - $ref: '#/components/schemas/PaymentUpdateAction' - type: "object" properties: action: type: "string" interfaceCode: type: "string" PaymentSetStatusInterfaceTextAction: allOf: - $ref: '#/components/schemas/PaymentUpdateAction' - type: "object" required: - interfaceText properties: action: type: "string" interfaceText: type: "string" PaymentSetTransactionCustomFieldAction: allOf: - $ref: '#/components/schemas/PaymentUpdateAction' - type: "object" required: - name - transactionId properties: action: type: "string" transactionId: type: "string" name: type: "string" value: {} PaymentSetTransactionCustomTypeAction: allOf: - $ref: '#/components/schemas/PaymentUpdateAction' - type: "object" required: - transactionId properties: action: type: "string" transactionId: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' PaymentSetTransactionInterfaceIdAction: allOf: - $ref: '#/components/schemas/PaymentUpdateAction' - type: "object" required: - transactionId properties: action: type: "string" transactionId: type: "string" interfaceId: type: "string" PaymentTransitionStateAction: allOf: - $ref: '#/components/schemas/PaymentUpdateAction' - type: "object" required: - state properties: action: type: "string" state: $ref: '#/components/schemas/StateResourceIdentifier' force: type: "boolean" ProductDiscount: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - createdAt - id - isActive - lastModifiedAt - name - predicate - references - sortOrder - value - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' name: $ref: '#/components/schemas/LocalizedString' key: type: "string" description: $ref: '#/components/schemas/LocalizedString' value: $ref: '#/components/schemas/ProductDiscountValue' predicate: type: "string" sortOrder: type: "string" isActive: type: "boolean" references: type: "array" items: $ref: '#/components/schemas/Reference' validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" ProductDiscountDraft: type: "object" required: - isActive - name - predicate - sortOrder - value properties: name: $ref: '#/components/schemas/LocalizedString' key: type: "string" description: $ref: '#/components/schemas/LocalizedString' value: $ref: '#/components/schemas/ProductDiscountValueDraft' predicate: type: "string" sortOrder: type: "string" isActive: type: "boolean" validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" ProductDiscountMatchQuery: type: "object" required: - price - productId - staged - variantId properties: productId: type: "string" variantId: type: "integer" format: "int32" staged: type: "boolean" price: $ref: '#/components/schemas/QueryPrice' ProductDiscountPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/ProductDiscount' ProductDiscountReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/ProductDiscount' ProductDiscountResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" ProductDiscountUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/ProductDiscountUpdateAction' ProductDiscountUpdateAction: type: "object" discriminator: propertyName: action mapping: changeIsActive: '#/components/schemas/ProductDiscountChangeIsActiveAction' changeName: '#/components/schemas/ProductDiscountChangeNameAction' changePredicate: '#/components/schemas/ProductDiscountChangePredicateAction' changeSortOrder: '#/components/schemas/ProductDiscountChangeSortOrderAction' changeValue: '#/components/schemas/ProductDiscountChangeValueAction' setDescription: '#/components/schemas/ProductDiscountSetDescriptionAction' setKey: '#/components/schemas/ProductDiscountSetKeyAction' setValidFrom: '#/components/schemas/ProductDiscountSetValidFromAction' setValidFromAndUntil: '#/components/schemas/ProductDiscountSetValidFromAndUntilAction' setValidUntil: '#/components/schemas/ProductDiscountSetValidUntilAction' required: - action properties: action: type: "string" ProductDiscountValue: type: "object" discriminator: propertyName: type mapping: absolute: '#/components/schemas/ProductDiscountValueAbsolute' external: '#/components/schemas/ProductDiscountValueExternal' relative: '#/components/schemas/ProductDiscountValueRelative' required: - type properties: type: type: "string" ProductDiscountValueAbsolute: allOf: - $ref: '#/components/schemas/ProductDiscountValue' - type: "object" required: - money properties: type: type: "string" money: type: "array" items: $ref: '#/components/schemas/CentPrecisionMoney' ProductDiscountValueAbsoluteDraft: allOf: - $ref: '#/components/schemas/ProductDiscountValueDraft' - type: "object" required: - money properties: type: type: "string" money: type: "array" items: $ref: '#/components/schemas/Money' ProductDiscountValueDraft: type: "object" discriminator: propertyName: type mapping: absolute: '#/components/schemas/ProductDiscountValueAbsoluteDraft' external: '#/components/schemas/ProductDiscountValueExternalDraft' relative: '#/components/schemas/ProductDiscountValueRelativeDraft' required: - type properties: type: type: "string" ProductDiscountValueExternal: allOf: - $ref: '#/components/schemas/ProductDiscountValue' - type: "object" properties: type: type: "string" ProductDiscountValueExternalDraft: allOf: - $ref: '#/components/schemas/ProductDiscountValueDraft' - type: "object" properties: type: type: "string" ProductDiscountValueRelative: allOf: - $ref: '#/components/schemas/ProductDiscountValue' - type: "object" required: - permyriad properties: type: type: "string" permyriad: type: "integer" format: "int64" ProductDiscountValueRelativeDraft: allOf: - $ref: '#/components/schemas/ProductDiscountValueDraft' - type: "object" required: - permyriad properties: type: type: "string" permyriad: type: "integer" format: "int64" ProductDiscountChangeIsActiveAction: allOf: - $ref: '#/components/schemas/ProductDiscountUpdateAction' - type: "object" required: - isActive properties: action: type: "string" isActive: type: "boolean" ProductDiscountChangeNameAction: allOf: - $ref: '#/components/schemas/ProductDiscountUpdateAction' - type: "object" required: - name properties: action: type: "string" name: $ref: '#/components/schemas/LocalizedString' ProductDiscountChangePredicateAction: allOf: - $ref: '#/components/schemas/ProductDiscountUpdateAction' - type: "object" required: - predicate properties: action: type: "string" predicate: type: "string" ProductDiscountChangeSortOrderAction: allOf: - $ref: '#/components/schemas/ProductDiscountUpdateAction' - type: "object" required: - sortOrder properties: action: type: "string" sortOrder: type: "string" ProductDiscountChangeValueAction: allOf: - $ref: '#/components/schemas/ProductDiscountUpdateAction' - type: "object" required: - value properties: action: type: "string" value: $ref: '#/components/schemas/ProductDiscountValueDraft' ProductDiscountSetDescriptionAction: allOf: - $ref: '#/components/schemas/ProductDiscountUpdateAction' - type: "object" properties: action: type: "string" description: $ref: '#/components/schemas/LocalizedString' ProductDiscountSetKeyAction: allOf: - $ref: '#/components/schemas/ProductDiscountUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" ProductDiscountSetValidFromAction: allOf: - $ref: '#/components/schemas/ProductDiscountUpdateAction' - type: "object" properties: action: type: "string" validFrom: type: "string" format: "datetime" ProductDiscountSetValidFromAndUntilAction: allOf: - $ref: '#/components/schemas/ProductDiscountUpdateAction' - type: "object" properties: action: type: "string" validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" ProductDiscountSetValidUntilAction: allOf: - $ref: '#/components/schemas/ProductDiscountUpdateAction' - type: "object" properties: action: type: "string" validUntil: type: "string" format: "datetime" ProductPagedSearchResponse: type: "object" required: - facets - limit - offset - results - total properties: total: type: "integer" format: "int64" offset: type: "integer" format: "int32" limit: type: "integer" format: "int32" facets: type: "array" items: $ref: '#/components/schemas/ProductSearchFacetResult' results: type: "array" items: $ref: '#/components/schemas/ProductSearchResult' ProductSearchErrorResponse: allOf: - $ref: '#/components/schemas/ErrorResponse' - type: "object" required: - message - statusCode properties: statusCode: type: "integer" format: "int32" message: type: "string" errors: type: "array" items: $ref: '#/components/schemas/ErrorObject' ProductSearchMatchingVariantEntry: type: "object" required: - id properties: id: type: "integer" format: "int32" sku: type: "string" ProductSearchMatchingVariants: type: "object" required: - allMatched - matchedVariants properties: allMatched: type: "boolean" matchedVariants: type: "array" items: $ref: '#/components/schemas/ProductSearchMatchingVariantEntry' ProductSearchProjectionParams: type: "object" properties: expand: type: "array" items: type: "string" staged: type: "boolean" priceCurrency: $ref: '#/components/schemas/CurrencyCode' priceCountry: $ref: '#/components/schemas/CountryCode' priceCustomerGroup: type: "string" priceCustomerGroupAssignments: type: "array" items: type: "string" priceChannel: type: "string" localeProjection: type: "array" items: $ref: '#/components/schemas/Locale' storeProjection: type: "string" ProductSearchRequest: type: "object" properties: query: $ref: '#/components/schemas/SearchQuery' sort: type: "array" items: $ref: '#/components/schemas/SearchSorting' limit: type: "integer" format: "int32" offset: type: "integer" format: "int32" markMatchingVariants: type: "boolean" productProjectionParameters: $ref: '#/components/schemas/ProductSearchProjectionParams' facets: type: "array" items: $ref: '#/components/schemas/ProductSearchFacetExpression' postFilter: $ref: '#/components/schemas/SearchQuery' ProductSearchResult: type: "object" required: - id properties: id: type: "string" matchingVariants: $ref: '#/components/schemas/ProductSearchMatchingVariants' productProjection: $ref: '#/components/schemas/ProductProjection' ProductSearchFacetCountExpression: allOf: - $ref: '#/components/schemas/ProductSearchFacetExpression' - type: "object" required: - count properties: count: $ref: '#/components/schemas/ProductSearchFacetCountValue' ProductSearchFacetCountLevelEnum: type: "string" enum: - products - variants x-annotation-package: "ProductSearch" x-annotation-enumDescriptions: products: "The query should count Products." variants: "The query should count Product Variants." ProductSearchFacetCountValue: type: "object" required: - name properties: name: type: "string" scope: $ref: '#/components/schemas/ProductSearchFacetScopeEnum' filter: $ref: '#/components/schemas/SearchQuery' level: $ref: '#/components/schemas/ProductSearchFacetCountLevelEnum' ProductSearchFacetDistinctBucketSortBy: type: "string" enum: - count - key x-annotation-package: "ProductSearch" x-annotation-enumDescriptions: count: "Sort buckets by the count value." key: "Sort buckets by the bucket key." ProductSearchFacetDistinctBucketSortExpression: type: "object" required: - by - order properties: by: $ref: '#/components/schemas/ProductSearchFacetDistinctBucketSortBy' order: $ref: '#/components/schemas/SearchSortOrder' ProductSearchFacetDistinctExpression: allOf: - $ref: '#/components/schemas/ProductSearchFacetExpression' - type: "object" required: - distinct properties: distinct: $ref: '#/components/schemas/ProductSearchFacetDistinctValue' ProductSearchFacetDistinctValue: type: "object" required: - field - name properties: name: type: "string" scope: $ref: '#/components/schemas/ProductSearchFacetScopeEnum' filter: $ref: '#/components/schemas/SearchQuery' level: $ref: '#/components/schemas/ProductSearchFacetCountLevelEnum' field: type: "string" includes: type: "array" items: type: "string" sort: $ref: '#/components/schemas/ProductSearchFacetDistinctBucketSortExpression' limit: type: "integer" format: "int32" language: $ref: '#/components/schemas/Locale' fieldType: $ref: '#/components/schemas/SearchFieldType' missing: type: "string" ProductSearchFacetExpression: type: "object" ProductSearchFacetRangesExpression: allOf: - $ref: '#/components/schemas/ProductSearchFacetExpression' - type: "object" required: - ranges properties: ranges: $ref: '#/components/schemas/ProductSearchFacetRangesValue' ProductSearchFacetRangesFacetRange: type: "object" properties: from: {} to: {} key: type: "string" ProductSearchFacetRangesValue: type: "object" required: - field - name - ranges properties: name: type: "string" scope: $ref: '#/components/schemas/ProductSearchFacetScopeEnum' filter: $ref: '#/components/schemas/SearchQuery' level: $ref: '#/components/schemas/ProductSearchFacetCountLevelEnum' field: type: "string" ranges: type: "array" items: $ref: '#/components/schemas/ProductSearchFacetRangesFacetRange' language: $ref: '#/components/schemas/Locale' fieldType: $ref: '#/components/schemas/SearchFieldType' ProductSearchFacetResult: type: "object" required: - name properties: name: type: "string" ProductSearchFacetResultBucket: allOf: - $ref: '#/components/schemas/ProductSearchFacetResult' - type: "object" required: - buckets properties: name: type: "string" buckets: type: "array" items: $ref: '#/components/schemas/ProductSearchFacetResultBucketEntry' ProductSearchFacetResultBucketEntry: type: "object" required: - count - key properties: key: type: "string" count: type: "integer" format: "int32" ProductSearchFacetResultCount: allOf: - $ref: '#/components/schemas/ProductSearchFacetResult' - type: "object" required: - value properties: name: type: "string" value: type: "integer" format: "int64" ProductSearchFacetResultStats: allOf: - $ref: '#/components/schemas/ProductSearchFacetResult' - type: "object" required: - count - max - min properties: name: type: "string" min: {} max: {} mean: {} sum: {} count: type: "integer" format: "int64" ProductSearchFacetScopeEnum: type: "string" enum: - all - query x-annotation-package: "ProductSearch" x-annotation-enumDescriptions: all: "Count all Products (or Product Variants) without considering the search query." query: "Only count the Products (or Product Variants) that match the search query." ProductSearchFacetStatsExpression: allOf: - $ref: '#/components/schemas/ProductSearchFacetExpression' - type: "object" required: - stats properties: stats: $ref: '#/components/schemas/ProductSearchFacetStatsValue' ProductSearchFacetStatsValue: type: "object" required: - field - name properties: name: type: "string" scope: $ref: '#/components/schemas/ProductSearchFacetScopeEnum' filter: $ref: '#/components/schemas/SearchQuery' field: type: "string" fieldType: $ref: '#/components/schemas/SearchFieldType' AssignedProductReference: type: "object" required: - product properties: product: $ref: '#/components/schemas/ProductReference' variantSelection: $ref: '#/components/schemas/ProductVariantSelection' variantExclusion: $ref: '#/components/schemas/ProductVariantExclusion' AssignedProductSelection: type: "object" required: - createdAt - productSelection properties: productSelection: $ref: '#/components/schemas/ProductSelectionReference' variantSelection: $ref: '#/components/schemas/ProductVariantSelection' variantExclusion: $ref: '#/components/schemas/ProductVariantExclusion' createdAt: type: "string" format: "datetime" AssignedProductSelectionPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/AssignedProductSelection' IndividualExclusionProductSelectionType: allOf: - $ref: '#/components/schemas/ProductSelectionType' - type: "object" required: - name properties: type: $ref: '#/components/schemas/ProductSelectionTypeEnum' name: $ref: '#/components/schemas/LocalizedString' IndividualProductSelectionType: allOf: - $ref: '#/components/schemas/ProductSelectionType' - type: "object" required: - name properties: type: $ref: '#/components/schemas/ProductSelectionTypeEnum' name: $ref: '#/components/schemas/LocalizedString' ProductSelection: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - createdAt - id - lastModifiedAt - mode - name - productCount - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' key: type: "string" name: $ref: '#/components/schemas/LocalizedString' productCount: type: "integer" format: "int32" type: $ref: '#/components/schemas/ProductSelectionTypeEnum' mode: $ref: '#/components/schemas/ProductSelectionMode' custom: $ref: '#/components/schemas/CustomFields' ProductSelectionAssignment: type: "object" required: - product - productSelection properties: product: $ref: '#/components/schemas/ProductReference' productSelection: $ref: '#/components/schemas/ProductSelectionReference' variantSelection: $ref: '#/components/schemas/ProductVariantSelection' variantExclusion: $ref: '#/components/schemas/ProductVariantExclusion' ProductSelectionDraft: type: "object" required: - name properties: key: type: "string" name: $ref: '#/components/schemas/LocalizedString' custom: $ref: '#/components/schemas/CustomFieldsDraft' type: $ref: '#/components/schemas/ProductSelectionTypeEnum' mode: $ref: '#/components/schemas/ProductSelectionMode' ProductSelectionMode: type: "string" enum: - Individual - IndividualExclusion x-annotation-package: "ProductSelection" x-annotation-enumDescriptions: Individual: "For this mode of Product Selection, the Products are to be assigned individually by using the [Add Product](/projects/product-selections#add-product) update action.n" IndividualExclusion: "Defines the Product Selection to contain Products that are excluded from the catalog.nFor this mode of Product Selection, the Products are to be excluded individually by using the [Exclude Product](/projects/product-selections#exclude-product) update action.n" ProductSelectionPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/ProductSelection' ProductSelectionProductPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/AssignedProductReference' ProductSelectionReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/ProductSelection' ProductSelectionResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" ProductSelectionType: type: "object" discriminator: propertyName: type mapping: individualExclusion: '#/components/schemas/IndividualExclusionProductSelectionType' individual: '#/components/schemas/IndividualProductSelectionType' required: - type properties: type: $ref: '#/components/schemas/ProductSelectionTypeEnum' ProductSelectionTypeEnum: type: "string" enum: - individual - individualExclusion x-annotation-package: "ProductSelection" x-beta: true x-deprecated: true x-annotation-enumDescriptions: individual: "For this type of Product Selection, the Products are to be assigned individually by using the [Add Product](/projects/product-selections#add-product) update action.n" individualExclusion: "Defines the Product Selection to contain Products that are excluded from the catalog ([BETA](/offering/compatibility#public-beta)).nFor this type of Product Selection, the Products are to be excluded individually by using the [Exclude Product](/projects/product-selections#exclude-product) update action.n" ProductSelectionUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/ProductSelectionUpdateAction' ProductSelectionUpdateAction: type: "object" discriminator: propertyName: action mapping: addProduct: '#/components/schemas/ProductSelectionAddProductAction' changeName: '#/components/schemas/ProductSelectionChangeNameAction' excludeProduct: '#/components/schemas/ProductSelectionExcludeProductAction' removeProduct: '#/components/schemas/ProductSelectionRemoveProductAction' setCustomField: '#/components/schemas/ProductSelectionSetCustomFieldAction' setCustomType: '#/components/schemas/ProductSelectionSetCustomTypeAction' setKey: '#/components/schemas/ProductSelectionSetKeyAction' setVariantExclusion: '#/components/schemas/ProductSelectionSetVariantExclusionAction' setVariantSelection: '#/components/schemas/ProductSelectionSetVariantSelectionAction' required: - action properties: action: type: "string" ProductVariantExclusion: type: "object" required: - skus properties: skus: type: "array" items: type: "string" ProductVariantSelection: type: "object" discriminator: propertyName: type mapping: exclusion: '#/components/schemas/ProductVariantSelectionExclusion' includeAllExcept: '#/components/schemas/ProductVariantSelectionIncludeAllExcept' includeOnly: '#/components/schemas/ProductVariantSelectionIncludeOnly' inclusion: '#/components/schemas/ProductVariantSelectionInclusion' required: - type properties: type: $ref: '#/components/schemas/ProductVariantSelectionTypeEnum' ProductVariantSelectionExclusion: allOf: - $ref: '#/components/schemas/ProductVariantSelection' - type: "object" required: - skus - type properties: type: $ref: '#/components/schemas/ProductVariantSelectionTypeEnum' skus: type: "array" items: type: "string" ProductVariantSelectionIncludeAllExcept: allOf: - $ref: '#/components/schemas/ProductVariantSelection' - type: "object" required: - skus - type properties: type: $ref: '#/components/schemas/ProductVariantSelectionTypeEnum' skus: type: "array" items: type: "string" ProductVariantSelectionIncludeOnly: allOf: - $ref: '#/components/schemas/ProductVariantSelection' - type: "object" required: - skus - type properties: type: $ref: '#/components/schemas/ProductVariantSelectionTypeEnum' skus: type: "array" items: type: "string" ProductVariantSelectionInclusion: allOf: - $ref: '#/components/schemas/ProductVariantSelection' - type: "object" required: - skus - type properties: type: $ref: '#/components/schemas/ProductVariantSelectionTypeEnum' skus: type: "array" items: type: "string" ProductVariantSelectionTypeEnum: type: "string" enum: - inclusion - exclusion - includeOnly - includeAllExcept x-annotation-package: "ProductSelection" ProductsInStorePagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/ProductSelectionAssignment' ProductSelectionAddProductAction: allOf: - $ref: '#/components/schemas/ProductSelectionUpdateAction' - type: "object" required: - product properties: action: type: "string" product: $ref: '#/components/schemas/ProductResourceIdentifier' variantSelection: $ref: '#/components/schemas/ProductVariantSelection' ProductSelectionChangeNameAction: allOf: - $ref: '#/components/schemas/ProductSelectionUpdateAction' - type: "object" required: - name properties: action: type: "string" name: $ref: '#/components/schemas/LocalizedString' ProductSelectionExcludeProductAction: allOf: - $ref: '#/components/schemas/ProductSelectionUpdateAction' - type: "object" required: - product properties: action: type: "string" product: $ref: '#/components/schemas/ProductResourceIdentifier' variantExclusion: $ref: '#/components/schemas/ProductVariantExclusion' ProductSelectionRemoveProductAction: allOf: - $ref: '#/components/schemas/ProductSelectionUpdateAction' - type: "object" required: - product properties: action: type: "string" product: $ref: '#/components/schemas/ProductResourceIdentifier' ProductSelectionSetCustomFieldAction: allOf: - $ref: '#/components/schemas/ProductSelectionUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} ProductSelectionSetCustomTypeAction: allOf: - $ref: '#/components/schemas/ProductSelectionUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' ProductSelectionSetKeyAction: allOf: - $ref: '#/components/schemas/ProductSelectionUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" ProductSelectionSetVariantExclusionAction: allOf: - $ref: '#/components/schemas/ProductSelectionUpdateAction' - type: "object" required: - product properties: action: type: "string" product: $ref: '#/components/schemas/ProductResourceIdentifier' variantExclusion: $ref: '#/components/schemas/ProductVariantExclusion' ProductSelectionSetVariantSelectionAction: allOf: - $ref: '#/components/schemas/ProductSelectionUpdateAction' - type: "object" required: - product properties: action: type: "string" product: $ref: '#/components/schemas/ProductResourceIdentifier' variantSelection: $ref: '#/components/schemas/ProductVariantSelection' ProductTailoring: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - createdAt - current - hasStagedChanges - id - lastModifiedAt - product - published - staged - store - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' key: type: "string" store: $ref: '#/components/schemas/StoreKeyReference' product: $ref: '#/components/schemas/ProductReference' published: type: "boolean" current: $ref: '#/components/schemas/ProductTailoringData' staged: $ref: '#/components/schemas/ProductTailoringData' hasStagedChanges: type: "boolean" warnings: type: "array" items: $ref: '#/components/schemas/WarningObject' ProductTailoringAttribute: type: "object" required: - name - value properties: name: type: "string" value: {} ProductTailoringData: type: "object" properties: name: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' metaTitle: $ref: '#/components/schemas/LocalizedString' metaDescription: $ref: '#/components/schemas/LocalizedString' metaKeywords: $ref: '#/components/schemas/LocalizedString' slug: $ref: '#/components/schemas/LocalizedString' variants: type: "array" items: $ref: '#/components/schemas/ProductVariantTailoring' attributes: type: "array" items: $ref: '#/components/schemas/ProductTailoringAttribute' ProductTailoringDraft: type: "object" required: - product - store properties: key: type: "string" store: $ref: '#/components/schemas/StoreResourceIdentifier' product: $ref: '#/components/schemas/ProductResourceIdentifier' name: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' metaTitle: $ref: '#/components/schemas/LocalizedString' metaDescription: $ref: '#/components/schemas/LocalizedString' metaKeywords: $ref: '#/components/schemas/LocalizedString' slug: $ref: '#/components/schemas/LocalizedString' publish: type: "boolean" variants: type: "array" items: $ref: '#/components/schemas/ProductVariantTailoringDraft' attributes: type: "array" items: $ref: '#/components/schemas/ProductTailoringAttribute' ProductTailoringInStoreDraft: type: "object" required: - product properties: key: type: "string" product: $ref: '#/components/schemas/ProductResourceIdentifier' name: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' metaTitle: $ref: '#/components/schemas/LocalizedString' metaDescription: $ref: '#/components/schemas/LocalizedString' metaKeywords: $ref: '#/components/schemas/LocalizedString' slug: $ref: '#/components/schemas/LocalizedString' publish: type: "boolean" variants: type: "array" items: $ref: '#/components/schemas/ProductVariantTailoringDraft' attributes: type: "array" items: $ref: '#/components/schemas/ProductTailoringAttribute' ProductTailoringPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/ProductTailoring' ProductTailoringReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/ProductTailoring' ProductTailoringResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" ProductTailoringUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/ProductTailoringUpdateAction' ProductTailoringUpdateAction: type: "object" discriminator: propertyName: action mapping: addAsset: '#/components/schemas/ProductTailoringAddAssetAction' addExternalImage: '#/components/schemas/ProductTailoringAddExternalImageAction' addVariant: '#/components/schemas/ProductTailoringAddVariantAction' changeAssetName: '#/components/schemas/ProductTailoringChangeAssetNameAction' changeAssetOrder: '#/components/schemas/ProductTailoringChangeAssetOrderAction' moveImageToPosition: '#/components/schemas/ProductTailoringMoveImageToPositionAction' publish: '#/components/schemas/ProductTailoringPublishAction' removeAsset: '#/components/schemas/ProductTailoringRemoveAssetAction' removeImage: '#/components/schemas/ProductTailoringRemoveImageAction' removeVariant: '#/components/schemas/ProductTailoringRemoveVariantAction' setAssetCustomField: '#/components/schemas/ProductTailoringSetAssetCustomFieldAction' setAssetCustomType: '#/components/schemas/ProductTailoringSetAssetCustomTypeAction' setAssetDescription: '#/components/schemas/ProductTailoringSetAssetDescriptionAction' setAssetKey: '#/components/schemas/ProductTailoringSetAssetKeyAction' setAssetSources: '#/components/schemas/ProductTailoringSetAssetSourcesAction' setAssetTags: '#/components/schemas/ProductTailoringSetAssetTagsAction' setAttribute: '#/components/schemas/ProductTailoringSetAttributeAction' setAttributeInAllVariants: '#/components/schemas/ProductTailoringSetAttributeInAllVariantsAction' setDescription: '#/components/schemas/ProductTailoringSetDescriptionAction' setImages: '#/components/schemas/ProductTailoringSetExternalImagesAction' setImageLabel: '#/components/schemas/ProductTailoringSetImageLabelAction' setKey: '#/components/schemas/ProductTailoringSetKeyAction' setMetaAttributes: '#/components/schemas/ProductTailoringSetMetaAttributesAction' setMetaDescription: '#/components/schemas/ProductTailoringSetMetaDescriptionAction' setMetaKeywords: '#/components/schemas/ProductTailoringSetMetaKeywordsAction' setMetaTitle: '#/components/schemas/ProductTailoringSetMetaTitleAction' setName: '#/components/schemas/ProductTailoringSetNameAction' setProductAttribute: '#/components/schemas/ProductTailoringSetProductAttributeAction' setSlug: '#/components/schemas/ProductTailoringSetSlugAction' unpublish: '#/components/schemas/ProductTailoringUnpublishAction' required: - action properties: action: type: "string" ProductVariantTailoring: type: "object" required: - id properties: id: type: "integer" format: "int64" images: type: "array" items: $ref: '#/components/schemas/Image' assets: type: "array" items: $ref: '#/components/schemas/Asset' attributes: type: "array" items: $ref: '#/components/schemas/ProductTailoringAttribute' ProductVariantTailoringDraft: type: "object" properties: id: type: "integer" format: "int64" sku: type: "string" images: type: "array" items: $ref: '#/components/schemas/Image' assets: type: "array" items: $ref: '#/components/schemas/Asset' attributes: type: "array" items: $ref: '#/components/schemas/ProductTailoringAttribute' ProductTailoringAddAssetAction: allOf: - $ref: '#/components/schemas/ProductTailoringUpdateAction' - type: "object" required: - asset properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" staged: type: "boolean" asset: $ref: '#/components/schemas/AssetDraft' position: type: "integer" format: "int32" ProductTailoringAddExternalImageAction: allOf: - $ref: '#/components/schemas/ProductTailoringUpdateAction' - type: "object" required: - image properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" image: $ref: '#/components/schemas/Image' staged: type: "boolean" ProductTailoringAddVariantAction: allOf: - $ref: '#/components/schemas/ProductTailoringUpdateAction' - type: "object" properties: action: type: "string" id: type: "integer" format: "int64" sku: type: "string" images: type: "array" items: $ref: '#/components/schemas/Image' assets: type: "array" items: $ref: '#/components/schemas/AssetDraft' attributes: type: "array" items: $ref: '#/components/schemas/ProductTailoringAttribute' staged: type: "boolean" ProductTailoringChangeAssetNameAction: allOf: - $ref: '#/components/schemas/ProductTailoringUpdateAction' - type: "object" required: - name properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" staged: type: "boolean" assetId: type: "string" assetKey: type: "string" name: $ref: '#/components/schemas/LocalizedString' ProductTailoringChangeAssetOrderAction: allOf: - $ref: '#/components/schemas/ProductTailoringUpdateAction' - type: "object" required: - assetOrder properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" staged: type: "boolean" assetOrder: type: "array" items: type: "string" ProductTailoringMoveImageToPositionAction: allOf: - $ref: '#/components/schemas/ProductTailoringUpdateAction' - type: "object" required: - imageUrl - position properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" imageUrl: type: "string" position: type: "integer" format: "int64" staged: type: "boolean" ProductTailoringPublishAction: allOf: - $ref: '#/components/schemas/ProductTailoringUpdateAction' - type: "object" properties: action: type: "string" ProductTailoringRemoveAssetAction: allOf: - $ref: '#/components/schemas/ProductTailoringUpdateAction' - type: "object" properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" staged: type: "boolean" assetId: type: "string" assetKey: type: "string" ProductTailoringRemoveImageAction: allOf: - $ref: '#/components/schemas/ProductTailoringUpdateAction' - type: "object" required: - imageUrl properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" imageUrl: type: "string" staged: type: "boolean" ProductTailoringRemoveVariantAction: allOf: - $ref: '#/components/schemas/ProductTailoringUpdateAction' - type: "object" properties: action: type: "string" id: type: "integer" format: "int64" sku: type: "string" staged: type: "boolean" ProductTailoringSetAssetCustomFieldAction: allOf: - $ref: '#/components/schemas/ProductTailoringUpdateAction' - type: "object" required: - name properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" staged: type: "boolean" assetId: type: "string" assetKey: type: "string" name: type: "string" value: {} ProductTailoringSetAssetCustomTypeAction: allOf: - $ref: '#/components/schemas/ProductTailoringUpdateAction' - type: "object" properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" staged: type: "boolean" assetId: type: "string" assetKey: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' ProductTailoringSetAssetDescriptionAction: allOf: - $ref: '#/components/schemas/ProductTailoringUpdateAction' - type: "object" properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" staged: type: "boolean" assetId: type: "string" assetKey: type: "string" description: $ref: '#/components/schemas/LocalizedString' ProductTailoringSetAssetKeyAction: allOf: - $ref: '#/components/schemas/ProductTailoringUpdateAction' - type: "object" required: - assetId properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" staged: type: "boolean" assetId: type: "string" assetKey: type: "string" ProductTailoringSetAssetSourcesAction: allOf: - $ref: '#/components/schemas/ProductTailoringUpdateAction' - type: "object" required: - sources properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" staged: type: "boolean" assetId: type: "string" assetKey: type: "string" sources: type: "array" items: $ref: '#/components/schemas/AssetSource' ProductTailoringSetAssetTagsAction: allOf: - $ref: '#/components/schemas/ProductTailoringUpdateAction' - type: "object" properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" staged: type: "boolean" assetId: type: "string" assetKey: type: "string" tags: type: "array" items: type: "string" ProductTailoringSetAttributeAction: allOf: - $ref: '#/components/schemas/ProductTailoringUpdateAction' - type: "object" required: - name properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" name: type: "string" value: {} staged: type: "boolean" ProductTailoringSetAttributeInAllVariantsAction: allOf: - $ref: '#/components/schemas/ProductTailoringUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} staged: type: "boolean" ProductTailoringSetDescriptionAction: allOf: - $ref: '#/components/schemas/ProductTailoringUpdateAction' - type: "object" properties: action: type: "string" description: $ref: '#/components/schemas/LocalizedString' staged: type: "boolean" ProductTailoringSetExternalImagesAction: allOf: - $ref: '#/components/schemas/ProductTailoringUpdateAction' - type: "object" properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" images: type: "array" items: $ref: '#/components/schemas/Image' staged: type: "boolean" ProductTailoringSetImageLabelAction: allOf: - $ref: '#/components/schemas/ProductTailoringUpdateAction' - type: "object" required: - imageUrl properties: action: type: "string" sku: type: "string" variantId: type: "integer" format: "int64" imageUrl: type: "string" label: type: "string" staged: type: "boolean" ProductTailoringSetKeyAction: allOf: - $ref: '#/components/schemas/ProductTailoringUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" ProductTailoringSetMetaAttributesAction: allOf: - $ref: '#/components/schemas/ProductTailoringUpdateAction' - type: "object" properties: action: type: "string" metaTitle: $ref: '#/components/schemas/LocalizedString' metaDescription: $ref: '#/components/schemas/LocalizedString' metaKeywords: $ref: '#/components/schemas/LocalizedString' staged: type: "boolean" ProductTailoringSetMetaDescriptionAction: allOf: - $ref: '#/components/schemas/ProductTailoringUpdateAction' - type: "object" properties: action: type: "string" metaDescription: $ref: '#/components/schemas/LocalizedString' staged: type: "boolean" ProductTailoringSetMetaKeywordsAction: allOf: - $ref: '#/components/schemas/ProductTailoringUpdateAction' - type: "object" properties: action: type: "string" metaKeywords: $ref: '#/components/schemas/LocalizedString' staged: type: "boolean" ProductTailoringSetMetaTitleAction: allOf: - $ref: '#/components/schemas/ProductTailoringUpdateAction' - type: "object" properties: action: type: "string" metaTitle: $ref: '#/components/schemas/LocalizedString' staged: type: "boolean" ProductTailoringSetNameAction: allOf: - $ref: '#/components/schemas/ProductTailoringUpdateAction' - type: "object" properties: action: type: "string" name: $ref: '#/components/schemas/LocalizedString' staged: type: "boolean" ProductTailoringSetProductAttributeAction: allOf: - $ref: '#/components/schemas/ProductTailoringUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} staged: type: "boolean" ProductTailoringSetSlugAction: allOf: - $ref: '#/components/schemas/ProductTailoringUpdateAction' - type: "object" properties: action: type: "string" slug: $ref: '#/components/schemas/LocalizedString' staged: type: "boolean" ProductTailoringUnpublishAction: allOf: - $ref: '#/components/schemas/ProductTailoringUpdateAction' - type: "object" properties: action: type: "string" AttributeBooleanType: allOf: - $ref: '#/components/schemas/AttributeType' - type: "object" properties: name: type: "string" AttributeConstraintEnum: type: "string" enum: - None - Unique - CombinationUnique - SameForAll x-annotation-package: "ProductType" x-annotation-enumDescriptions: None: "No constraints are applied to the Attribute.n" Unique: "Attribute values must be different for each variant.n" CombinationUnique: "Set of Attributes that have this constraint, should have different combinations in each variant.n" SameForAll: "Attribute value should be the same in all variants.n" AttributeConstraintEnumDraft: type: "string" enum: - None x-annotation-package: "ProductType" AttributeDateTimeType: allOf: - $ref: '#/components/schemas/AttributeType' - type: "object" properties: name: type: "string" AttributeDateType: allOf: - $ref: '#/components/schemas/AttributeType' - type: "object" properties: name: type: "string" AttributeDefinition: type: "object" required: - attributeConstraint - inputHint - isRequired - isSearchable - label - level - name - type properties: type: $ref: '#/components/schemas/AttributeType' name: type: "string" label: $ref: '#/components/schemas/LocalizedString' isRequired: type: "boolean" level: $ref: '#/components/schemas/AttributeLevelEnum' attributeConstraint: $ref: '#/components/schemas/AttributeConstraintEnum' inputTip: $ref: '#/components/schemas/LocalizedString' inputHint: $ref: '#/components/schemas/TextInputHint' isSearchable: type: "boolean" AttributeDefinitionDraft: type: "object" required: - isRequired - label - name - type properties: type: $ref: '#/components/schemas/AttributeType' name: type: "string" label: $ref: '#/components/schemas/LocalizedString' isRequired: type: "boolean" level: $ref: '#/components/schemas/AttributeLevelEnum' attributeConstraint: $ref: '#/components/schemas/AttributeConstraintEnum' inputTip: $ref: '#/components/schemas/LocalizedString' inputHint: $ref: '#/components/schemas/TextInputHint' isSearchable: type: "boolean" AttributeEnumType: allOf: - $ref: '#/components/schemas/AttributeType' - type: "object" required: - values properties: name: type: "string" values: type: "array" items: $ref: '#/components/schemas/AttributePlainEnumValue' AttributeLevelEnum: type: "string" enum: - Product - Variant x-annotation-package: "ProductType" x-annotation-enumDescriptions: Product: "Attribute is defined at Product level (**not supported** by [Product Projection Search](/projects/product-projection-search))." Variant: "Attributes are defined at the Product Variant level." AttributeLocalizableTextType: allOf: - $ref: '#/components/schemas/AttributeType' - type: "object" properties: name: type: "string" AttributeLocalizedEnumType: allOf: - $ref: '#/components/schemas/AttributeType' - type: "object" required: - values properties: name: type: "string" values: type: "array" items: $ref: '#/components/schemas/AttributeLocalizedEnumValue' AttributeLocalizedEnumValue: type: "object" required: - key - label properties: key: type: "string" label: $ref: '#/components/schemas/LocalizedString' AttributeMoneyType: allOf: - $ref: '#/components/schemas/AttributeType' - type: "object" properties: name: type: "string" AttributeNestedType: allOf: - $ref: '#/components/schemas/AttributeType' - type: "object" required: - typeReference properties: name: type: "string" typeReference: $ref: '#/components/schemas/ProductTypeReference' AttributeNumberType: allOf: - $ref: '#/components/schemas/AttributeType' - type: "object" properties: name: type: "string" AttributePlainEnumValue: type: "object" required: - key - label properties: key: type: "string" label: type: "string" AttributeReferenceType: allOf: - $ref: '#/components/schemas/AttributeType' - type: "object" required: - referenceTypeId properties: name: type: "string" referenceTypeId: $ref: '#/components/schemas/AttributeReferenceTypeId' AttributeReferenceTypeId: type: "string" enum: - associate-role - business-unit - cart - cart-discount - category - channel - customer - customer-group - key-value-document - order - product - product-type - review - shipping-method - state - variant - zone x-annotation-package: "ProductType" x-annotation-enumDescriptions: associate-role: "References a [AssociateRole](ctp:api:type:AssociateRole). Only available for [B2B](/offering/commerce-b2b)-enabled Projects.n" business-unit: "References a [BusinessUnit](ctp:api:type:BusinessUnit). Only available for [B2B](/offering/commerce-b2b)-enabled Projects.n" cart: "References a [Cart](ctp:api:type:Cart).n" cart-discount: "References a [CartDiscount](ctp:api:type:CartDiscount).n" category: "References a [Category](ctp:api:type:Category).n" channel: "References a [Channel](ctp:api:type:Channel).n" customer: "References a [Customer](ctp:api:type:Customer).n" customer-group: "References a [CustomerGroup](ctp:api:type:CustomerGroup).n" key-value-document: "References a [CustomObject](ctp:api:type:CustomObject).n" order: "References an [Order](ctp:api:type:Order).n" product: "References a [Product](ctp:api:type:Product).n" product-type: "References a [ProductType](ctp:api:type:ProductType).n" review: "References a [Review](ctp:api:type:Review).n" shipping-method: "References a [ShippingMethod](ctp:api:type:ShippingMethod).n" state: "References a [State](ctp:api:type:State).n" variant: "References a [Variant](ctp:api:type:Variant). Only available for Projects with `productCatalogModel` set to `Modular` ([BETA](/offering/compatibility#public-beta)).n" zone: "References a [Zone](ctp:api:type:Zone).n" AttributeSetType: allOf: - $ref: '#/components/schemas/AttributeType' - type: "object" required: - elementType properties: name: type: "string" elementType: $ref: '#/components/schemas/AttributeType' AttributeTextType: allOf: - $ref: '#/components/schemas/AttributeType' - type: "object" properties: name: type: "string" AttributeTimeType: allOf: - $ref: '#/components/schemas/AttributeType' - type: "object" properties: name: type: "string" AttributeType: type: "object" discriminator: propertyName: name mapping: boolean: '#/components/schemas/AttributeBooleanType' datetime: '#/components/schemas/AttributeDateTimeType' date: '#/components/schemas/AttributeDateType' enum: '#/components/schemas/AttributeEnumType' ltext: '#/components/schemas/AttributeLocalizableTextType' lenum: '#/components/schemas/AttributeLocalizedEnumType' money: '#/components/schemas/AttributeMoneyType' nested: '#/components/schemas/AttributeNestedType' number: '#/components/schemas/AttributeNumberType' reference: '#/components/schemas/AttributeReferenceType' set: '#/components/schemas/AttributeSetType' text: '#/components/schemas/AttributeTextType' time: '#/components/schemas/AttributeTimeType' required: - name properties: name: type: "string" ProductType: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - createdAt - description - id - lastModifiedAt - name - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' key: type: "string" name: type: "string" description: type: "string" attributes: type: "array" items: $ref: '#/components/schemas/AttributeDefinition' ProductTypeDraft: type: "object" required: - description - name properties: key: type: "string" name: type: "string" description: type: "string" attributes: type: "array" items: $ref: '#/components/schemas/AttributeDefinitionDraft' ProductTypePagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/ProductType' ProductTypeReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/ProductType' ProductTypeResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" ProductTypeUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/ProductTypeUpdateAction' ProductTypeUpdateAction: type: "object" discriminator: propertyName: action mapping: addAttributeDefinition: '#/components/schemas/ProductTypeAddAttributeDefinitionAction' addLocalizedEnumValue: '#/components/schemas/ProductTypeAddLocalizedEnumValueAction' addPlainEnumValue: '#/components/schemas/ProductTypeAddPlainEnumValueAction' changeAttributeConstraint: '#/components/schemas/ProductTypeChangeAttributeConstraintAction' changeAttributeName: '#/components/schemas/ProductTypeChangeAttributeNameAction' changeAttributeOrder: '#/components/schemas/ProductTypeChangeAttributeOrderAction' changeAttributeOrderByName: '#/components/schemas/ProductTypeChangeAttributeOrderByNameAction' changeDescription: '#/components/schemas/ProductTypeChangeDescriptionAction' changeEnumKey: '#/components/schemas/ProductTypeChangeEnumKeyAction' changeInputHint: '#/components/schemas/ProductTypeChangeInputHintAction' changeIsSearchable: '#/components/schemas/ProductTypeChangeIsSearchableAction' changeLabel: '#/components/schemas/ProductTypeChangeLabelAction' changeLocalizedEnumValueLabel: '#/components/schemas/ProductTypeChangeLocalizedEnumValueLabelAction' changeLocalizedEnumValueOrder: '#/components/schemas/ProductTypeChangeLocalizedEnumValueOrderAction' changeName: '#/components/schemas/ProductTypeChangeNameAction' changePlainEnumValueLabel: '#/components/schemas/ProductTypeChangePlainEnumValueLabelAction' changePlainEnumValueOrder: '#/components/schemas/ProductTypeChangePlainEnumValueOrderAction' removeAttributeDefinition: '#/components/schemas/ProductTypeRemoveAttributeDefinitionAction' removeEnumValues: '#/components/schemas/ProductTypeRemoveEnumValuesAction' setInputTip: '#/components/schemas/ProductTypeSetInputTipAction' setKey: '#/components/schemas/ProductTypeSetKeyAction' required: - action properties: action: type: "string" TextInputHint: type: "string" enum: - SingleLine - MultiLine x-annotation-package: "ProductType" x-annotation-enumDescriptions: SingleLine: "Hint for GUIs to display the field's content in a single line of text.n" MultiLine: "Hint for GUIs to display the field's content over multiple lines of text.n" ProductTypeAddAttributeDefinitionAction: allOf: - $ref: '#/components/schemas/ProductTypeUpdateAction' - type: "object" required: - attribute properties: action: type: "string" attribute: $ref: '#/components/schemas/AttributeDefinitionDraft' ProductTypeAddLocalizedEnumValueAction: allOf: - $ref: '#/components/schemas/ProductTypeUpdateAction' - type: "object" required: - attributeName - value properties: action: type: "string" attributeName: type: "string" value: $ref: '#/components/schemas/AttributeLocalizedEnumValue' ProductTypeAddPlainEnumValueAction: allOf: - $ref: '#/components/schemas/ProductTypeUpdateAction' - type: "object" required: - attributeName - value properties: action: type: "string" attributeName: type: "string" value: $ref: '#/components/schemas/AttributePlainEnumValue' ProductTypeChangeAttributeConstraintAction: allOf: - $ref: '#/components/schemas/ProductTypeUpdateAction' - type: "object" required: - attributeName - newValue properties: action: type: "string" attributeName: type: "string" newValue: $ref: '#/components/schemas/AttributeConstraintEnumDraft' ProductTypeChangeAttributeNameAction: allOf: - $ref: '#/components/schemas/ProductTypeUpdateAction' - type: "object" required: - attributeName - newAttributeName properties: action: type: "string" attributeName: type: "string" newAttributeName: type: "string" ProductTypeChangeAttributeOrderAction: allOf: - $ref: '#/components/schemas/ProductTypeUpdateAction' - type: "object" required: - attributes properties: action: type: "string" attributes: type: "array" items: $ref: '#/components/schemas/AttributeDefinition' ProductTypeChangeAttributeOrderByNameAction: allOf: - $ref: '#/components/schemas/ProductTypeUpdateAction' - type: "object" required: - attributeNames properties: action: type: "string" attributeNames: type: "array" items: type: "string" ProductTypeChangeDescriptionAction: allOf: - $ref: '#/components/schemas/ProductTypeUpdateAction' - type: "object" required: - description properties: action: type: "string" description: type: "string" ProductTypeChangeEnumKeyAction: allOf: - $ref: '#/components/schemas/ProductTypeUpdateAction' - type: "object" required: - attributeName - key - newKey properties: action: type: "string" attributeName: type: "string" key: type: "string" newKey: type: "string" ProductTypeChangeInputHintAction: allOf: - $ref: '#/components/schemas/ProductTypeUpdateAction' - type: "object" required: - attributeName - newValue properties: action: type: "string" attributeName: type: "string" newValue: $ref: '#/components/schemas/TextInputHint' ProductTypeChangeIsSearchableAction: allOf: - $ref: '#/components/schemas/ProductTypeUpdateAction' - type: "object" required: - attributeName - isSearchable properties: action: type: "string" attributeName: type: "string" isSearchable: type: "boolean" ProductTypeChangeLabelAction: allOf: - $ref: '#/components/schemas/ProductTypeUpdateAction' - type: "object" required: - attributeName - label properties: action: type: "string" attributeName: type: "string" label: $ref: '#/components/schemas/LocalizedString' ProductTypeChangeLocalizedEnumValueLabelAction: allOf: - $ref: '#/components/schemas/ProductTypeUpdateAction' - type: "object" required: - attributeName - newValue properties: action: type: "string" attributeName: type: "string" newValue: $ref: '#/components/schemas/AttributeLocalizedEnumValue' ProductTypeChangeLocalizedEnumValueOrderAction: allOf: - $ref: '#/components/schemas/ProductTypeUpdateAction' - type: "object" required: - attributeName - values properties: action: type: "string" attributeName: type: "string" values: type: "array" items: $ref: '#/components/schemas/AttributeLocalizedEnumValue' ProductTypeChangeNameAction: allOf: - $ref: '#/components/schemas/ProductTypeUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" ProductTypeChangePlainEnumValueLabelAction: allOf: - $ref: '#/components/schemas/ProductTypeUpdateAction' - type: "object" required: - attributeName - newValue properties: action: type: "string" attributeName: type: "string" newValue: $ref: '#/components/schemas/AttributePlainEnumValue' ProductTypeChangePlainEnumValueOrderAction: allOf: - $ref: '#/components/schemas/ProductTypeUpdateAction' - type: "object" required: - attributeName - values properties: action: type: "string" attributeName: type: "string" values: type: "array" items: $ref: '#/components/schemas/AttributePlainEnumValue' ProductTypeRemoveAttributeDefinitionAction: allOf: - $ref: '#/components/schemas/ProductTypeUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" ProductTypeRemoveEnumValuesAction: allOf: - $ref: '#/components/schemas/ProductTypeUpdateAction' - type: "object" required: - attributeName - keys properties: action: type: "string" attributeName: type: "string" keys: type: "array" items: type: "string" ProductTypeSetInputTipAction: allOf: - $ref: '#/components/schemas/ProductTypeUpdateAction' - type: "object" required: - attributeName properties: action: type: "string" attributeName: type: "string" inputTip: $ref: '#/components/schemas/LocalizedString' ProductTypeSetKeyAction: allOf: - $ref: '#/components/schemas/ProductTypeUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" Attribute: type: "object" required: - name - value properties: name: type: "string" value: {} AttributeValue: {} CategoryOrderHints: type: "object" required: - /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/ additionalProperties: type: "string" CustomTokenizer: allOf: - $ref: '#/components/schemas/SuggestTokenizer' - type: "object" required: - inputs properties: type: type: "string" inputs: type: "array" items: type: "string" FacetRange: type: "object" required: - count - from - fromStr - max - mean - min - to - toStr - total properties: from: type: "number" format: "double" fromStr: type: "string" to: type: "number" format: "double" toStr: type: "string" count: type: "integer" format: "int64" productCount: type: "integer" format: "int64" total: type: "number" format: "double" min: type: "number" format: "double" max: type: "number" format: "double" mean: type: "number" format: "double" FacetResult: type: "object" discriminator: propertyName: type mapping: filter: '#/components/schemas/FilteredFacetResult' range: '#/components/schemas/RangeFacetResult' terms: '#/components/schemas/TermFacetResult' required: - type properties: type: $ref: '#/components/schemas/FacetTypes' FacetResults: type: "object" required: - /^[a-z].*$/ additionalProperties: type: "string" FacetTerm: type: "object" required: - count - term properties: term: {} count: type: "integer" format: "int64" productCount: type: "integer" format: "int64" FacetTypes: type: "string" enum: - terms - range - filter x-annotation-package: "Product" x-markDeprecated: true FilteredFacetResult: allOf: - $ref: '#/components/schemas/FacetResult' - type: "object" required: - count properties: type: $ref: '#/components/schemas/FacetTypes' count: type: "integer" format: "int64" productCount: type: "integer" format: "int64" Product: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - createdAt - id - lastModifiedAt - masterData - productType - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' key: type: "string" productType: $ref: '#/components/schemas/ProductTypeReference' masterData: $ref: '#/components/schemas/ProductCatalogData' taxCategory: $ref: '#/components/schemas/TaxCategoryReference' state: $ref: '#/components/schemas/StateReference' reviewRatingStatistics: $ref: '#/components/schemas/ReviewRatingStatistics' priceMode: $ref: '#/components/schemas/ProductPriceModeEnum' warnings: type: "array" items: $ref: '#/components/schemas/WarningObject' ProductCatalogData: type: "object" required: - current - hasStagedChanges - published - staged properties: published: type: "boolean" current: $ref: '#/components/schemas/ProductData' staged: $ref: '#/components/schemas/ProductData' hasStagedChanges: type: "boolean" ProductData: type: "object" required: - attributes - categories - masterVariant - name - searchKeywords - slug - variants properties: name: $ref: '#/components/schemas/LocalizedString' categories: type: "array" items: $ref: '#/components/schemas/CategoryReference' categoryOrderHints: $ref: '#/components/schemas/CategoryOrderHints' description: $ref: '#/components/schemas/LocalizedString' slug: $ref: '#/components/schemas/LocalizedString' metaTitle: $ref: '#/components/schemas/LocalizedString' metaDescription: $ref: '#/components/schemas/LocalizedString' metaKeywords: $ref: '#/components/schemas/LocalizedString' masterVariant: $ref: '#/components/schemas/ProductVariant' variants: type: "array" items: $ref: '#/components/schemas/ProductVariant' searchKeywords: $ref: '#/components/schemas/SearchKeywords' attributes: type: "array" items: $ref: '#/components/schemas/Attribute' defaultVariant: $ref: '#/components/schemas/VariantReference' ProductDraft: type: "object" required: - name - productType - slug properties: productType: $ref: '#/components/schemas/ProductTypeResourceIdentifier' name: $ref: '#/components/schemas/LocalizedString' slug: $ref: '#/components/schemas/LocalizedString' key: type: "string" description: $ref: '#/components/schemas/LocalizedString' categories: type: "array" items: $ref: '#/components/schemas/CategoryResourceIdentifier' categoryOrderHints: $ref: '#/components/schemas/CategoryOrderHints' metaTitle: $ref: '#/components/schemas/LocalizedString' metaDescription: $ref: '#/components/schemas/LocalizedString' metaKeywords: $ref: '#/components/schemas/LocalizedString' masterVariant: $ref: '#/components/schemas/ProductVariantDraft' variants: type: "array" items: $ref: '#/components/schemas/ProductVariantDraft' taxCategory: $ref: '#/components/schemas/TaxCategoryResourceIdentifier' searchKeywords: $ref: '#/components/schemas/SearchKeywords' state: $ref: '#/components/schemas/StateResourceIdentifier' publish: type: "boolean" priceMode: $ref: '#/components/schemas/ProductPriceModeEnum' attributes: type: "array" items: $ref: '#/components/schemas/Attribute' ProductPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/Product' ProductPriceModeEnum: type: "string" enum: - Embedded - Standalone x-annotation-package: "Product" x-beta: true x-annotation-enumDescriptions: Embedded: "Composable Commerce uses the [Embedded Prices](ctp:api:type:Price) located inside the `prices` field in [ProductVariant](ctp:api:type:ProductVariant)." Standalone: "Composable Commerce uses [StandalonePrices](ctp:api:type:StandalonePrice), which are associated with the [ProductVariant](ctp:api:type:ProductVariant) through the `sku` field." ProductProjection: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - attributes - categories - createdAt - id - lastModifiedAt - masterVariant - name - productType - slug - variants - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" key: type: "string" productType: $ref: '#/components/schemas/ProductTypeReference' name: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' slug: $ref: '#/components/schemas/LocalizedString' categories: type: "array" items: $ref: '#/components/schemas/CategoryReference' categoryOrderHints: $ref: '#/components/schemas/CategoryOrderHints' metaTitle: $ref: '#/components/schemas/LocalizedString' metaDescription: $ref: '#/components/schemas/LocalizedString' metaKeywords: $ref: '#/components/schemas/LocalizedString' searchKeywords: $ref: '#/components/schemas/SearchKeywords' hasStagedChanges: type: "boolean" published: type: "boolean" masterVariant: $ref: '#/components/schemas/ProductVariant' variants: type: "array" items: $ref: '#/components/schemas/ProductVariant' taxCategory: $ref: '#/components/schemas/TaxCategoryReference' state: $ref: '#/components/schemas/StateReference' reviewRatingStatistics: $ref: '#/components/schemas/ReviewRatingStatistics' priceMode: $ref: '#/components/schemas/ProductPriceModeEnum' attributes: type: "array" items: $ref: '#/components/schemas/Attribute' ProductProjectionPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" offset: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/ProductProjection' ProductProjectionPagedSearchResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/ProductProjection' facets: $ref: '#/components/schemas/FacetResults' ProductPublishScope: type: "string" enum: - All - Prices x-annotation-package: "Cart" x-annotation-enumDescriptions: All: "Publishes a Product that causes the _staged_ projection of the Product to override the _current_ projection. This is the default scope." Prices: "Publishes the Prices of the Product (only if the Product is already published). All Product Variants' Prices in the _staged_ projection are published into the _current_ projection with the same `id`. Prices in a _staged_ Product Variant that has no _current_ projection are not published. Prices in a _current_ Product Variant that has no _staged_ projection are unchanged. The `hasStagedChanges` [flag](ctp:api:type:ProductCatalogData) is updated according to whether the _staged_ and _current_ projections still differ after the prices are published." ProductReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/Product' ProductResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" ProductUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/ProductUpdateAction' ProductUpdateAction: type: "object" discriminator: propertyName: action mapping: addAsset: '#/components/schemas/ProductAddAssetAction' addExternalImage: '#/components/schemas/ProductAddExternalImageAction' addPrice: '#/components/schemas/ProductAddPriceAction' addToCategory: '#/components/schemas/ProductAddToCategoryAction' addVariant: '#/components/schemas/ProductAddVariantAction' changeAssetName: '#/components/schemas/ProductChangeAssetNameAction' changeAssetOrder: '#/components/schemas/ProductChangeAssetOrderAction' changeMasterVariant: '#/components/schemas/ProductChangeMasterVariantAction' changeName: '#/components/schemas/ProductChangeNameAction' changePrice: '#/components/schemas/ProductChangePriceAction' changeSlug: '#/components/schemas/ProductChangeSlugAction' setSKU: '#/components/schemas/ProductLegacySetSkuAction' moveImageToPosition: '#/components/schemas/ProductMoveImageToPositionAction' publish: '#/components/schemas/ProductPublishAction' removeAsset: '#/components/schemas/ProductRemoveAssetAction' removeFromCategory: '#/components/schemas/ProductRemoveFromCategoryAction' removeImage: '#/components/schemas/ProductRemoveImageAction' removePrice: '#/components/schemas/ProductRemovePriceAction' removeVariant: '#/components/schemas/ProductRemoveVariantAction' revertStagedChanges: '#/components/schemas/ProductRevertStagedChangesAction' revertStagedVariantChanges: '#/components/schemas/ProductRevertStagedVariantChangesAction' setAssetCustomField: '#/components/schemas/ProductSetAssetCustomFieldAction' setAssetCustomType: '#/components/schemas/ProductSetAssetCustomTypeAction' setAssetDescription: '#/components/schemas/ProductSetAssetDescriptionAction' setAssetKey: '#/components/schemas/ProductSetAssetKeyAction' setAssetSources: '#/components/schemas/ProductSetAssetSourcesAction' setAssetTags: '#/components/schemas/ProductSetAssetTagsAction' setAttribute: '#/components/schemas/ProductSetAttributeAction' setAttributeInAllVariants: '#/components/schemas/ProductSetAttributeInAllVariantsAction' setCategoryOrderHint: '#/components/schemas/ProductSetCategoryOrderHintAction' setDefaultVariant: '#/components/schemas/ProductSetDefaultVariantAction' setDescription: '#/components/schemas/ProductSetDescriptionAction' setDiscountedPrice: '#/components/schemas/ProductSetDiscountedPriceAction' setImageLabel: '#/components/schemas/ProductSetImageLabelAction' setKey: '#/components/schemas/ProductSetKeyAction' setMetaDescription: '#/components/schemas/ProductSetMetaDescriptionAction' setMetaKeywords: '#/components/schemas/ProductSetMetaKeywordsAction' setMetaTitle: '#/components/schemas/ProductSetMetaTitleAction' setPriceKey: '#/components/schemas/ProductSetPriceKeyAction' setPriceMode: '#/components/schemas/ProductSetPriceModeAction' setPrices: '#/components/schemas/ProductSetPricesAction' setProductAttribute: '#/components/schemas/ProductSetProductAttributeAction' setProductPriceCustomField: '#/components/schemas/ProductSetProductPriceCustomFieldAction' setProductPriceCustomType: '#/components/schemas/ProductSetProductPriceCustomTypeAction' setProductVariantKey: '#/components/schemas/ProductSetProductVariantKeyAction' setSearchKeywords: '#/components/schemas/ProductSetSearchKeywordsAction' setSku: '#/components/schemas/ProductSetSkuAction' setTaxCategory: '#/components/schemas/ProductSetTaxCategoryAction' transitionState: '#/components/schemas/ProductTransitionStateAction' unpublish: '#/components/schemas/ProductUnpublishAction' required: - action properties: action: type: "string" ProductVariant: type: "object" required: - id properties: id: type: "integer" format: "int64" sku: type: "string" key: type: "string" prices: type: "array" items: $ref: '#/components/schemas/Price' attributes: type: "array" items: $ref: '#/components/schemas/Attribute' price: $ref: '#/components/schemas/Price' images: type: "array" items: $ref: '#/components/schemas/Image' assets: type: "array" items: $ref: '#/components/schemas/Asset' availability: $ref: '#/components/schemas/ProductVariantAvailability' isMatchingVariant: type: "boolean" scopedPrice: $ref: '#/components/schemas/ScopedPrice' scopedPriceDiscounted: type: "boolean" recurrencePrices: type: "array" items: $ref: '#/components/schemas/Price' ProductVariantAvailability: type: "object" properties: channels: $ref: '#/components/schemas/ProductVariantChannelAvailabilityMap' isOnStock: type: "boolean" restockableInDays: type: "integer" format: "int64" availableQuantity: type: "integer" format: "int64" id: type: "string" version: type: "integer" format: "int64" ProductVariantChannelAvailability: type: "object" required: - id - version properties: isOnStock: type: "boolean" restockableInDays: type: "integer" format: "int64" availableQuantity: type: "integer" format: "int64" id: type: "string" version: type: "integer" format: "int64" ProductVariantChannelAvailabilityMap: type: "object" required: - /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/ additionalProperties: type: "string" ProductVariantDraft: type: "object" properties: sku: type: "string" key: type: "string" prices: type: "array" items: $ref: '#/components/schemas/PriceDraft' attributes: type: "array" items: $ref: '#/components/schemas/Attribute' images: type: "array" items: $ref: '#/components/schemas/Image' assets: type: "array" items: $ref: '#/components/schemas/AssetDraft' RangeFacetResult: allOf: - $ref: '#/components/schemas/FacetResult' - type: "object" required: - ranges properties: type: $ref: '#/components/schemas/FacetTypes' ranges: type: "array" items: $ref: '#/components/schemas/FacetRange' SearchKeyword: type: "object" required: - text properties: text: type: "string" suggestTokenizer: $ref: '#/components/schemas/SuggestTokenizer' SearchKeywords: type: "object" required: - /^[a-z]{2}(-[A-Z]{2})?$/ additionalProperties: type: "string" SuggestTokenizer: type: "object" discriminator: propertyName: type mapping: custom: '#/components/schemas/CustomTokenizer' whitespace: '#/components/schemas/WhitespaceTokenizer' required: - type properties: type: type: "string" Suggestion: type: "object" required: - text properties: text: type: "string" SuggestionResult: type: "object" required: - /searchKeywords.[a-z]{2}(-[A-Z]{2})?/ additionalProperties: type: "string" TermFacetResult: allOf: - $ref: '#/components/schemas/FacetResult' - type: "object" required: - dataType - missing - other - terms - total properties: type: $ref: '#/components/schemas/FacetTypes' dataType: $ref: '#/components/schemas/TermFacetResultType' missing: type: "integer" format: "int64" total: type: "integer" format: "int64" other: type: "integer" format: "int64" terms: type: "array" items: $ref: '#/components/schemas/FacetTerm' TermFacetResultType: type: "string" enum: - text - date - time - datetime - boolean - number x-annotation-package: "Product" x-markDeprecated: true x-annotation-enumDescriptions: text: "For [AttributeTextType](ctp:api:type:AttributeTextType) Attributes.n" date: "For [AttributeDateType](ctp:api:type:AttributeDateType) Attributes.n" time: "For [AttributeTimeType](ctp:api:type:AttributeTimeType) Attributes.n" datetime: "For [AttributeDateTimeType](ctp:api:type:AttributeDateTimeType) Attributes.n" boolean: "For [AttributeBooleanType](ctp:api:type:AttributeBooleanType) Attributes.n" number: "For [AttributeNumberType](ctp:api:type:AttributeNumberType) Attributes.n" WhitespaceTokenizer: allOf: - $ref: '#/components/schemas/SuggestTokenizer' - type: "object" properties: type: type: "string" ProductAddAssetAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" required: - asset properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" staged: type: "boolean" asset: $ref: '#/components/schemas/AssetDraft' position: type: "integer" format: "int32" ProductAddExternalImageAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" required: - image properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" image: $ref: '#/components/schemas/Image' staged: type: "boolean" ProductAddPriceAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" required: - price properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" price: $ref: '#/components/schemas/PriceDraft' staged: type: "boolean" ProductAddToCategoryAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" required: - category properties: action: type: "string" category: $ref: '#/components/schemas/CategoryResourceIdentifier' orderHint: type: "string" staged: type: "boolean" ProductAddVariantAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" properties: action: type: "string" sku: type: "string" key: type: "string" prices: type: "array" items: $ref: '#/components/schemas/PriceDraft' images: type: "array" items: $ref: '#/components/schemas/Image' attributes: type: "array" items: $ref: '#/components/schemas/Attribute' staged: type: "boolean" assets: type: "array" items: $ref: '#/components/schemas/AssetDraft' ProductChangeAssetNameAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" required: - name properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" staged: type: "boolean" assetId: type: "string" assetKey: type: "string" name: $ref: '#/components/schemas/LocalizedString' ProductChangeAssetOrderAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" required: - assetOrder properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" staged: type: "boolean" assetOrder: type: "array" items: type: "string" ProductChangeMasterVariantAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" staged: type: "boolean" ProductChangeNameAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" required: - name properties: action: type: "string" name: $ref: '#/components/schemas/LocalizedString' staged: type: "boolean" ProductChangePriceAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" required: - price - priceId properties: action: type: "string" priceId: type: "string" price: $ref: '#/components/schemas/PriceDraft' staged: type: "boolean" ProductChangeSlugAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" required: - slug properties: action: type: "string" slug: $ref: '#/components/schemas/LocalizedString' staged: type: "boolean" ProductLegacySetSkuAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" required: - variantId properties: action: type: "string" sku: type: "string" variantId: type: "integer" format: "int32" ProductMoveImageToPositionAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" required: - imageUrl - position properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" imageUrl: type: "string" position: type: "integer" format: "int64" staged: type: "boolean" ProductPublishAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" properties: action: type: "string" scope: $ref: '#/components/schemas/ProductPublishScope' ProductRemoveAssetAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" staged: type: "boolean" assetId: type: "string" assetKey: type: "string" ProductRemoveFromCategoryAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" required: - category properties: action: type: "string" category: $ref: '#/components/schemas/CategoryResourceIdentifier' staged: type: "boolean" ProductRemoveImageAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" required: - imageUrl properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" imageUrl: type: "string" staged: type: "boolean" ProductRemovePriceAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" required: - priceId properties: action: type: "string" priceId: type: "string" sku: type: "string" variantId: type: "integer" format: "int64" price: $ref: '#/components/schemas/PriceDraft' staged: type: "boolean" ProductRemoveVariantAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" properties: action: type: "string" id: type: "integer" format: "int64" sku: type: "string" staged: type: "boolean" ProductRevertStagedChangesAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" properties: action: type: "string" ProductRevertStagedVariantChangesAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" required: - variantId properties: action: type: "string" variantId: type: "integer" format: "int64" ProductSetAssetCustomFieldAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" required: - name properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" staged: type: "boolean" assetId: type: "string" assetKey: type: "string" name: type: "string" value: {} ProductSetAssetCustomTypeAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" staged: type: "boolean" assetId: type: "string" assetKey: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' ProductSetAssetDescriptionAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" staged: type: "boolean" assetId: type: "string" assetKey: type: "string" description: $ref: '#/components/schemas/LocalizedString' ProductSetAssetKeyAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" required: - assetId properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" staged: type: "boolean" assetId: type: "string" assetKey: type: "string" ProductSetAssetSourcesAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" required: - sources properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" staged: type: "boolean" assetId: type: "string" assetKey: type: "string" sources: type: "array" items: $ref: '#/components/schemas/AssetSource' ProductSetAssetTagsAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" staged: type: "boolean" assetId: type: "string" assetKey: type: "string" tags: type: "array" items: type: "string" ProductSetAttributeAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" required: - name properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" name: type: "string" value: {} staged: type: "boolean" ProductSetAttributeInAllVariantsAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} staged: type: "boolean" ProductSetCategoryOrderHintAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" required: - categoryId properties: action: type: "string" categoryId: type: "string" orderHint: type: "string" staged: type: "boolean" ProductSetDefaultVariantAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" properties: action: type: "string" variant: $ref: '#/components/schemas/VariantResourceIdentifier' staged: type: "boolean" ProductSetDescriptionAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" properties: action: type: "string" description: $ref: '#/components/schemas/LocalizedString' staged: type: "boolean" ProductSetDiscountedPriceAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" required: - priceId properties: action: type: "string" priceId: type: "string" staged: type: "boolean" discounted: $ref: '#/components/schemas/DiscountedPriceDraft' ProductSetImageLabelAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" required: - imageUrl properties: action: type: "string" sku: type: "string" variantId: type: "integer" format: "int64" imageUrl: type: "string" label: type: "string" staged: type: "boolean" ProductSetKeyAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" ProductSetMetaDescriptionAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" properties: action: type: "string" metaDescription: $ref: '#/components/schemas/LocalizedString' staged: type: "boolean" ProductSetMetaKeywordsAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" properties: action: type: "string" metaKeywords: $ref: '#/components/schemas/LocalizedString' staged: type: "boolean" ProductSetMetaTitleAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" properties: action: type: "string" metaTitle: $ref: '#/components/schemas/LocalizedString' staged: type: "boolean" ProductSetPriceKeyAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" required: - priceId properties: action: type: "string" priceId: type: "string" staged: type: "boolean" key: type: "string" ProductSetPriceModeAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" properties: action: type: "string" priceMode: $ref: '#/components/schemas/ProductPriceModeEnum' ProductSetPricesAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" required: - prices properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" prices: type: "array" items: $ref: '#/components/schemas/PriceDraft' staged: type: "boolean" ProductSetProductAttributeAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} staged: type: "boolean" ProductSetProductPriceCustomFieldAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" required: - name - priceId properties: action: type: "string" priceId: type: "string" staged: type: "boolean" name: type: "string" value: {} ProductSetProductPriceCustomTypeAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" required: - priceId properties: action: type: "string" priceId: type: "string" staged: type: "boolean" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' ProductSetProductVariantKeyAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" key: type: "string" staged: type: "boolean" ProductSetSearchKeywordsAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" required: - searchKeywords properties: action: type: "string" searchKeywords: $ref: '#/components/schemas/SearchKeywords' staged: type: "boolean" ProductSetSkuAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" required: - variantId properties: action: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" staged: type: "boolean" ProductSetTaxCategoryAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" properties: action: type: "string" taxCategory: $ref: '#/components/schemas/TaxCategoryResourceIdentifier' ProductTransitionStateAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" properties: action: type: "string" state: $ref: '#/components/schemas/StateResourceIdentifier' force: type: "boolean" ProductUnpublishAction: allOf: - $ref: '#/components/schemas/ProductUpdateAction' - type: "object" properties: action: type: "string" BusinessUnitConfiguration: type: "object" required: - myBusinessUnitStatusOnCreation properties: myBusinessUnitStatusOnCreation: $ref: '#/components/schemas/BusinessUnitConfigurationStatus' myBusinessUnitAssociateRoleOnCreation: $ref: '#/components/schemas/AssociateRoleKeyReference' BusinessUnitConfigurationStatus: type: "string" enum: - Active - Inactive x-annotation-package: "Project" x-annotation-enumDescriptions: Active: "The [Business Unit](ctp:api:type:BusinessUnit) can be used in [Orders](ctp:api:type:Order), [Carts](ctp:api:type:Cart), and [Quotes](/api/quotes-overview) and can be updated using the [My Business Unit endpoint](ctp:api:endpoint:/{projectKey}/me/business-units:POST)." Inactive: "The [Business Unit](ctp:api:type:BusinessUnit) cannot be used in [Orders](ctp:api:type:Order), [Carts](ctp:api:type:Cart), and [Quotes](/api/quotes-overview) and cannot be updated using the [My Business Unit endpoint](ctp:api:endpoint:/{projectKey}/me/business-units:POST)." BusinessUnitSearchStatus: type: "string" enum: - Activated - Deactivated x-annotation-package: "Project" x-annotation-enumDescriptions: Activated: "indicates that the Business Unit Search feature is fully operational." Deactivated: "indicates that the Business Unit Search feature is currently not active." CartClassificationType: allOf: - $ref: '#/components/schemas/ShippingRateInputType' - type: "object" required: - values properties: type: $ref: '#/components/schemas/ShippingRateTierType' values: type: "array" items: $ref: '#/components/schemas/CustomFieldLocalizedEnumValue' CartScoreType: allOf: - $ref: '#/components/schemas/ShippingRateInputType' - type: "object" properties: type: $ref: '#/components/schemas/ShippingRateTierType' CartValueType: allOf: - $ref: '#/components/schemas/ShippingRateInputType' - type: "object" properties: type: $ref: '#/components/schemas/ShippingRateTierType' CartsConfiguration: type: "object" required: - deleteDaysAfterLastModification properties: deleteDaysAfterLastModification: type: "integer" format: "int64" countryTaxRateFallbackEnabled: type: "boolean" priceRoundingMode: $ref: '#/components/schemas/RoundingMode' taxRoundingMode: $ref: '#/components/schemas/RoundingMode' CustomerSearchStatus: type: "string" enum: - Activated - Deactivated x-annotation-package: "Project" x-annotation-enumDescriptions: Activated: "indicates that the Customer Search feature is fully operational." Deactivated: "indicates that the Customer Search feature is currently not active." DiscountCombinationMode: type: "string" enum: - BestDeal - Stacking x-annotation-package: "Project" x-annotation-enumDescriptions: BestDeal: "Either Product Discounts or Cart Discounts are chosen for each Line Item in the Cart based on the best deal for the Customer. Only one discount type applies per Line Item in the Cart." Stacking: "Product Discounts and Cart Discounts are both applied to each Line Item in the Cart, potentially increasing the total discount." DiscountsConfiguration: type: "object" required: - discountCombinationMode properties: discountCombinationMode: $ref: '#/components/schemas/DiscountCombinationMode' ExternalOAuth: type: "object" required: - authorizationHeader - url properties: url: type: "string" authorizationHeader: type: "string" InventoryConfiguration: type: "object" required: - releaseExpiredReservations properties: reservationExpirationInMinutes: type: "integer" format: "int32" releaseExpiredReservations: type: "boolean" OrderSearchStatus: type: "string" enum: - Activated - Deactivated x-annotation-package: "Project" x-beta: true x-annotation-enumDescriptions: Activated: "indicates that the [Search Orders](ctp:api:endpoint:/{projectKey}/orders/search:POST) endpoint is fully operational." Deactivated: "indicates that the Order Search feature is currently not active, but can be activated by [update action](#change-order-search-status)." ProductCatalogModel: type: "string" enum: - Classic - InMigration - Modular x-annotation-package: "Project" x-beta: true x-annotation-enumDescriptions: Classic: "Product Variants are embedded in the Product. This is the default behavior." InMigration: "Product Variants remain embedded in the Product and Variant update actions on the Product API are still accepted, but resources that reference a Variant, such as [Carts](/projects/carts) and Order line items, discount matching, and Product Selections, resolve from modular Variants by default. Use this transitional state to migrate your reads to the Modular Catalog model while embedded Variant writes continue." Modular: "Product Variants are managed as standalone entities through the Variants endpoint. Variant-related update actions on Products are not available in this mode. Pricing is exclusively handled through [StandalonePrices](ctp:api:type:StandalonePrice); [Embedded Prices](ctp:api:type:Price) are not supported." ProductSearchIndexingMode: type: "string" enum: - ProductProjectionsSearch - ProductsSearch x-annotation-package: "Project" x-annotation-enumDescriptions: ProductProjectionsSearch: "For [Product Projection Search](/api/projects/product-projection-search). **Deprecated.** Use `ProductsSearch` instead.n" ProductsSearch: "For [Product Search](/api/projects/product-search).n" Project: type: "object" required: - carts - countries - createdAt - currencies - discounts - inventory - key - languages - messages - name - version properties: version: type: "integer" format: "int64" key: type: "string" name: type: "string" countries: type: "array" items: $ref: '#/components/schemas/CountryCode' currencies: type: "array" items: $ref: '#/components/schemas/CurrencyCode' languages: type: "array" items: $ref: '#/components/schemas/Locale' createdAt: type: "string" format: "datetime" trialUntil: type: "string" messages: $ref: '#/components/schemas/MessagesConfiguration' carts: $ref: '#/components/schemas/CartsConfiguration' shoppingLists: $ref: '#/components/schemas/ShoppingListsConfiguration' shippingRateInputType: $ref: '#/components/schemas/ShippingRateInputType' externalOAuth: $ref: '#/components/schemas/ExternalOAuth' searchIndexing: $ref: '#/components/schemas/SearchIndexingConfiguration' businessUnits: $ref: '#/components/schemas/BusinessUnitConfiguration' inventory: $ref: '#/components/schemas/InventoryConfiguration' discounts: $ref: '#/components/schemas/DiscountsConfiguration' productCatalogModel: $ref: '#/components/schemas/ProductCatalogModel' ProjectUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/ProjectUpdateAction' ProjectUpdateAction: type: "object" discriminator: propertyName: action mapping: changeBusinessUnitSearchStatus: '#/components/schemas/ProjectChangeBusinessUnitSearchStatusAction' changeMyBusinessUnitStatusOnCreation: '#/components/schemas/ProjectChangeBusinessUnitStatusOnCreationAction' changeCartsConfiguration: '#/components/schemas/ProjectChangeCartsConfigurationAction' changeCountries: '#/components/schemas/ProjectChangeCountriesAction' changeCountryTaxRateFallbackEnabled: '#/components/schemas/ProjectChangeCountryTaxRateFallbackEnabledAction' changeCurrencies: '#/components/schemas/ProjectChangeCurrenciesAction' changeCustomerSearchStatus: '#/components/schemas/ProjectChangeCustomerSearchStatusAction' changeLanguages: '#/components/schemas/ProjectChangeLanguagesAction' changeMessagesConfiguration: '#/components/schemas/ProjectChangeMessagesConfigurationAction' changeMessagesEnabled: '#/components/schemas/ProjectChangeMessagesEnabledAction' changeName: '#/components/schemas/ProjectChangeNameAction' changeOrderSearchStatus: '#/components/schemas/ProjectChangeOrderSearchStatusAction' changePriceRoundingMode: '#/components/schemas/ProjectChangePriceRoundingModeAction' changeProductSearchIndexingEnabled: '#/components/schemas/ProjectChangeProductSearchIndexingEnabledAction' changeShoppingListsConfiguration: '#/components/schemas/ProjectChangeShoppingListsConfigurationAction' changeTaxRoundingMode: '#/components/schemas/ProjectChangeTaxRoundingModeAction' setMyBusinessUnitAssociateRoleOnCreation: '#/components/schemas/ProjectSetBusinessUnitAssociateRoleOnCreationAction' setDiscountsConfiguration: '#/components/schemas/ProjectSetDiscountsConfigurationAction' setExternalOAuth: '#/components/schemas/ProjectSetExternalOAuthAction' setProductCatalogModel: '#/components/schemas/ProjectSetProductCatalogModelAction' setReleaseExpiredReservations: '#/components/schemas/ProjectSetReleaseExpiredReservationsAction' setReservationExpirationInMinutes: '#/components/schemas/ProjectSetReservationExpirationInMinutesAction' setShippingRateInputType: '#/components/schemas/ProjectSetShippingRateInputTypeAction' required: - action properties: action: type: "string" SearchIndexingConfiguration: type: "object" properties: products: $ref: '#/components/schemas/SearchIndexingConfigurationValues' productsSearch: $ref: '#/components/schemas/SearchIndexingConfigurationValues' orders: $ref: '#/components/schemas/SearchIndexingConfigurationValues' customers: $ref: '#/components/schemas/SearchIndexingConfigurationValues' businessUnits: $ref: '#/components/schemas/SearchIndexingConfigurationValues' SearchIndexingConfigurationStatus: type: "string" enum: - Activated - Deactivated - Indexing x-annotation-package: "Project" x-annotation-enumDescriptions: Activated: "Indicates that search and suggest endpoints for the specified resource type are active." Deactivated: "Indicates that search and suggest endpoints for the specified resource type cannot be used." Indexing: "Indicates that search and suggest endpoints can _temporarily_ not be used because the search index is being re-built." SearchIndexingConfigurationValues: type: "object" properties: status: $ref: '#/components/schemas/SearchIndexingConfigurationStatus' lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' ShippingRateInputType: type: "object" discriminator: propertyName: type mapping: CartClassification: '#/components/schemas/CartClassificationType' CartScore: '#/components/schemas/CartScoreType' CartValue: '#/components/schemas/CartValueType' required: - type properties: type: $ref: '#/components/schemas/ShippingRateTierType' ShoppingListsConfiguration: type: "object" required: - deleteDaysAfterLastModification properties: deleteDaysAfterLastModification: type: "integer" format: "int64" ProjectChangeBusinessUnitSearchStatusAction: allOf: - $ref: '#/components/schemas/ProjectUpdateAction' - type: "object" required: - status properties: action: type: "string" status: $ref: '#/components/schemas/BusinessUnitSearchStatus' ProjectChangeBusinessUnitStatusOnCreationAction: allOf: - $ref: '#/components/schemas/ProjectUpdateAction' - type: "object" required: - status properties: action: type: "string" status: $ref: '#/components/schemas/BusinessUnitConfigurationStatus' ProjectChangeCartsConfigurationAction: allOf: - $ref: '#/components/schemas/ProjectUpdateAction' - type: "object" required: - cartsConfiguration properties: action: type: "string" cartsConfiguration: $ref: '#/components/schemas/CartsConfiguration' ProjectChangeCountriesAction: allOf: - $ref: '#/components/schemas/ProjectUpdateAction' - type: "object" required: - countries properties: action: type: "string" countries: type: "array" items: $ref: '#/components/schemas/CountryCode' ProjectChangeCountryTaxRateFallbackEnabledAction: allOf: - $ref: '#/components/schemas/ProjectUpdateAction' - type: "object" required: - countryTaxRateFallbackEnabled properties: action: type: "string" countryTaxRateFallbackEnabled: type: "boolean" ProjectChangeCurrenciesAction: allOf: - $ref: '#/components/schemas/ProjectUpdateAction' - type: "object" required: - currencies properties: action: type: "string" currencies: type: "array" items: $ref: '#/components/schemas/CurrencyCode' ProjectChangeCustomerSearchStatusAction: allOf: - $ref: '#/components/schemas/ProjectUpdateAction' - type: "object" required: - status properties: action: type: "string" status: $ref: '#/components/schemas/CustomerSearchStatus' ProjectChangeLanguagesAction: allOf: - $ref: '#/components/schemas/ProjectUpdateAction' - type: "object" required: - languages properties: action: type: "string" languages: type: "array" items: $ref: '#/components/schemas/Locale' ProjectChangeMessagesConfigurationAction: allOf: - $ref: '#/components/schemas/ProjectUpdateAction' - type: "object" required: - messagesConfiguration properties: action: type: "string" messagesConfiguration: $ref: '#/components/schemas/MessagesConfigurationDraft' ProjectChangeMessagesEnabledAction: allOf: - $ref: '#/components/schemas/ProjectUpdateAction' - type: "object" required: - messagesEnabled properties: action: type: "string" messagesEnabled: type: "boolean" ProjectChangeNameAction: allOf: - $ref: '#/components/schemas/ProjectUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" ProjectChangeOrderSearchStatusAction: allOf: - $ref: '#/components/schemas/ProjectUpdateAction' - type: "object" required: - status properties: action: type: "string" status: $ref: '#/components/schemas/OrderSearchStatus' ProjectChangePriceRoundingModeAction: allOf: - $ref: '#/components/schemas/ProjectUpdateAction' - type: "object" required: - priceRoundingMode properties: action: type: "string" priceRoundingMode: $ref: '#/components/schemas/RoundingMode' ProjectChangeProductSearchIndexingEnabledAction: allOf: - $ref: '#/components/schemas/ProjectUpdateAction' - type: "object" required: - enabled properties: action: type: "string" enabled: type: "boolean" mode: $ref: '#/components/schemas/ProductSearchIndexingMode' ProjectChangeShoppingListsConfigurationAction: allOf: - $ref: '#/components/schemas/ProjectUpdateAction' - type: "object" required: - shoppingListsConfiguration properties: action: type: "string" shoppingListsConfiguration: $ref: '#/components/schemas/ShoppingListsConfiguration' ProjectChangeTaxRoundingModeAction: allOf: - $ref: '#/components/schemas/ProjectUpdateAction' - type: "object" required: - taxRoundingMode properties: action: type: "string" taxRoundingMode: $ref: '#/components/schemas/RoundingMode' ProjectSetBusinessUnitAssociateRoleOnCreationAction: allOf: - $ref: '#/components/schemas/ProjectUpdateAction' - type: "object" required: - associateRole properties: action: type: "string" associateRole: $ref: '#/components/schemas/AssociateRoleResourceIdentifier' ProjectSetDiscountsConfigurationAction: allOf: - $ref: '#/components/schemas/ProjectUpdateAction' - type: "object" required: - discountsConfiguration properties: action: type: "string" discountsConfiguration: $ref: '#/components/schemas/DiscountsConfiguration' ProjectSetExternalOAuthAction: allOf: - $ref: '#/components/schemas/ProjectUpdateAction' - type: "object" properties: action: type: "string" externalOAuth: $ref: '#/components/schemas/ExternalOAuth' ProjectSetProductCatalogModelAction: allOf: - $ref: '#/components/schemas/ProjectUpdateAction' - type: "object" required: - productCatalogModel properties: action: type: "string" productCatalogModel: $ref: '#/components/schemas/ProductCatalogModel' ProjectSetReleaseExpiredReservationsAction: allOf: - $ref: '#/components/schemas/ProjectUpdateAction' - type: "object" required: - releaseExpiredReservations properties: action: type: "string" releaseExpiredReservations: type: "boolean" ProjectSetReservationExpirationInMinutesAction: allOf: - $ref: '#/components/schemas/ProjectUpdateAction' - type: "object" required: - reservationExpirationInMinutes properties: action: type: "string" reservationExpirationInMinutes: type: "integer" format: "int32" ProjectSetShippingRateInputTypeAction: allOf: - $ref: '#/components/schemas/ProjectUpdateAction' - type: "object" properties: action: type: "string" shippingRateInputType: $ref: '#/components/schemas/ShippingRateInputType' QuoteRequest: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - createdAt - customLineItems - customer - id - lastModifiedAt - lineItems - priceRoundingMode - quoteRequestState - taxCalculationMode - taxMode - taxRoundingMode - totalPrice - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" key: type: "string" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' quoteRequestState: $ref: '#/components/schemas/QuoteRequestState' comment: type: "string" customer: $ref: '#/components/schemas/CustomerReference' customerGroup: $ref: '#/components/schemas/CustomerGroupReference' store: $ref: '#/components/schemas/StoreKeyReference' lineItems: type: "array" items: $ref: '#/components/schemas/LineItem' customLineItems: type: "array" items: $ref: '#/components/schemas/CustomLineItem' totalPrice: $ref: '#/components/schemas/TypedMoney' taxedPrice: $ref: '#/components/schemas/TaxedPrice' shippingAddress: $ref: '#/components/schemas/Address' billingAddress: $ref: '#/components/schemas/Address' inventoryMode: $ref: '#/components/schemas/InventoryMode' taxMode: $ref: '#/components/schemas/TaxMode' priceRoundingMode: $ref: '#/components/schemas/RoundingMode' taxRoundingMode: $ref: '#/components/schemas/RoundingMode' taxCalculationMode: $ref: '#/components/schemas/TaxCalculationMode' country: $ref: '#/components/schemas/CountryCode' shippingInfo: $ref: '#/components/schemas/ShippingInfo' paymentInfo: $ref: '#/components/schemas/PaymentInfo' shippingRateInput: $ref: '#/components/schemas/ShippingRateInput' itemShippingAddresses: type: "array" items: $ref: '#/components/schemas/Address' directDiscounts: type: "array" items: $ref: '#/components/schemas/DirectDiscount' directDiscountsIgnoreCartDiscounts: type: "boolean" custom: $ref: '#/components/schemas/CustomFields' state: $ref: '#/components/schemas/StateReference' purchaseOrderNumber: type: "string" cart: $ref: '#/components/schemas/CartReference' businessUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' QuoteRequestDraft: type: "object" required: - cart - cartVersion properties: cart: $ref: '#/components/schemas/CartResourceIdentifier' cartVersion: type: "integer" format: "int64" key: type: "string" comment: type: "string" custom: $ref: '#/components/schemas/CustomFieldsDraft' state: $ref: '#/components/schemas/StateReference' purchaseOrderNumber: type: "string" QuoteRequestPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/QuoteRequest' QuoteRequestReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/QuoteRequest' QuoteRequestResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" QuoteRequestState: type: "string" enum: - Submitted - Accepted - Closed - Rejected - Cancelled x-annotation-package: "QuoteRequest" x-annotation-enumDescriptions: Submitted: "Initial state of the negotiation process. Indicates that the Quote Request has been submitted by the Buyer, but the Seller has not yet decided whether to accept or to reject the request.n" Accepted: "Indicates that the Quote Request has been accepted by the Seller and the negotiation process continues with preparing a Staged Quote for the Buyer.n" Closed: "Final state of the negotiation process. Indicates that the Quote Request had been accepted by the Seller and there is no further action that can be performed by any party.n" Rejected: "Indicates that the Quote Request has been rejected by the Seller and the negotiation process terminated.n" Cancelled: "Indicates that the Buyer has withdrawn the Quote Request.n" QuoteRequestUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/QuoteRequestUpdateAction' QuoteRequestUpdateAction: type: "object" discriminator: propertyName: action mapping: changeCustomer: '#/components/schemas/QuoteRequestChangeCustomerAction' changeQuoteRequestState: '#/components/schemas/QuoteRequestChangeQuoteRequestStateAction' setCustomField: '#/components/schemas/QuoteRequestSetCustomFieldAction' setCustomType: '#/components/schemas/QuoteRequestSetCustomTypeAction' transitionState: '#/components/schemas/QuoteRequestTransitionStateAction' required: - action properties: action: type: "string" QuoteRequestChangeCustomerAction: allOf: - $ref: '#/components/schemas/QuoteRequestUpdateAction' - type: "object" required: - customer properties: action: type: "string" customer: $ref: '#/components/schemas/CustomerResourceIdentifier' QuoteRequestChangeQuoteRequestStateAction: allOf: - $ref: '#/components/schemas/QuoteRequestUpdateAction' - type: "object" required: - quoteRequestState properties: action: type: "string" quoteRequestState: $ref: '#/components/schemas/QuoteRequestState' QuoteRequestSetCustomFieldAction: allOf: - $ref: '#/components/schemas/QuoteRequestUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} QuoteRequestSetCustomTypeAction: allOf: - $ref: '#/components/schemas/QuoteRequestUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' QuoteRequestTransitionStateAction: allOf: - $ref: '#/components/schemas/QuoteRequestUpdateAction' - type: "object" required: - state properties: action: type: "string" state: $ref: '#/components/schemas/StateResourceIdentifier' force: type: "boolean" Quote: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - createdAt - customLineItems - id - lastModifiedAt - lineItems - priceRoundingMode - quoteRequest - quoteState - stagedQuote - taxCalculationMode - taxMode - taxRoundingMode - totalPrice - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" key: type: "string" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' quoteRequest: $ref: '#/components/schemas/QuoteRequestReference' stagedQuote: $ref: '#/components/schemas/StagedQuoteReference' customer: $ref: '#/components/schemas/CustomerReference' customerGroup: $ref: '#/components/schemas/CustomerGroupReference' validTo: type: "string" format: "datetime" sellerComment: type: "string" buyerComment: type: "string" store: $ref: '#/components/schemas/StoreKeyReference' lineItems: type: "array" items: $ref: '#/components/schemas/LineItem' customLineItems: type: "array" items: $ref: '#/components/schemas/CustomLineItem' totalPrice: $ref: '#/components/schemas/TypedMoney' taxedPrice: $ref: '#/components/schemas/TaxedPrice' shippingAddress: $ref: '#/components/schemas/Address' billingAddress: $ref: '#/components/schemas/Address' inventoryMode: $ref: '#/components/schemas/InventoryMode' taxMode: $ref: '#/components/schemas/TaxMode' priceRoundingMode: $ref: '#/components/schemas/RoundingMode' taxRoundingMode: $ref: '#/components/schemas/RoundingMode' taxCalculationMode: $ref: '#/components/schemas/TaxCalculationMode' country: $ref: '#/components/schemas/CountryCode' shippingInfo: $ref: '#/components/schemas/ShippingInfo' paymentInfo: $ref: '#/components/schemas/PaymentInfo' shippingRateInput: $ref: '#/components/schemas/ShippingRateInput' itemShippingAddresses: type: "array" items: $ref: '#/components/schemas/Address' directDiscounts: type: "array" items: $ref: '#/components/schemas/DirectDiscount' directDiscountsIgnoreCartDiscounts: type: "boolean" custom: $ref: '#/components/schemas/CustomFields' quoteState: $ref: '#/components/schemas/QuoteState' state: $ref: '#/components/schemas/StateReference' purchaseOrderNumber: type: "string" businessUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' QuoteDraft: type: "object" required: - stagedQuote - stagedQuoteVersion properties: key: type: "string" stagedQuote: $ref: '#/components/schemas/StagedQuoteResourceIdentifier' stagedQuoteVersion: type: "integer" format: "int64" stagedQuoteStateToSent: type: "boolean" state: $ref: '#/components/schemas/StateReference' custom: $ref: '#/components/schemas/CustomFieldsDraft' QuotePagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/Quote' QuoteReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/Quote' QuoteResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" QuoteState: type: "string" enum: - Pending - Declined - DeclinedForRenegotiation - RenegotiationAddressed - Accepted - Withdrawn x-annotation-package: "Quote" x-annotation-enumDescriptions: Pending: "A state indicating that the [Seller](/api/quotes-overview#seller) submitted the Quote to the [Buyer](/api/quotes-overview#buyer), but the [Buyer](/api/quotes-overview#buyer) has not replied yet.nnThis is the initial state of a Quote. It is assigned when a Quote is created.n" Declined: "A state indicating that the [Buyer](/api/quotes-overview#buyer) has declined the Quote.n" DeclinedForRenegotiation: "A state indicating that the [Buyer](/api/quotes-overview#buyer) has declined and requested to [renegotiate](ctp:api:type:QuoteRequestQuoteRenegotiationAction) the Quote.n" RenegotiationAddressed: "A state indicating that the [Seller](/api/quotes-overview#seller) has created a new Quote after a renegotiation has been requested.n" Accepted: "A state indicating that the [Buyer](/api/quotes-overview#buyer) has accepted the Quote.n" Withdrawn: "A state indicating that the [Seller](/api/quotes-overview#seller) has withdrawn the Quote before the [Buyer](/api/quotes-overview#buyer) has accepted it.n" QuoteUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/QuoteUpdateAction' QuoteUpdateAction: type: "object" discriminator: propertyName: action mapping: changeCustomer: '#/components/schemas/QuoteChangeCustomerAction' changeQuoteState: '#/components/schemas/QuoteChangeQuoteStateAction' requestQuoteRenegotiation: '#/components/schemas/QuoteRequestQuoteRenegotiationAction' setCustomField: '#/components/schemas/QuoteSetCustomFieldAction' setCustomType: '#/components/schemas/QuoteSetCustomTypeAction' transitionState: '#/components/schemas/QuoteTransitionStateAction' required: - action properties: action: type: "string" QuoteChangeCustomerAction: allOf: - $ref: '#/components/schemas/QuoteUpdateAction' - type: "object" required: - customer properties: action: type: "string" customer: $ref: '#/components/schemas/CustomerResourceIdentifier' QuoteChangeQuoteStateAction: allOf: - $ref: '#/components/schemas/QuoteUpdateAction' - type: "object" required: - quoteState properties: action: type: "string" quoteState: $ref: '#/components/schemas/QuoteState' QuoteRequestQuoteRenegotiationAction: allOf: - $ref: '#/components/schemas/QuoteUpdateAction' - type: "object" properties: action: type: "string" buyerComment: type: "string" QuoteSetCustomFieldAction: allOf: - $ref: '#/components/schemas/QuoteUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} QuoteSetCustomTypeAction: allOf: - $ref: '#/components/schemas/QuoteUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' QuoteTransitionStateAction: allOf: - $ref: '#/components/schemas/QuoteUpdateAction' - type: "object" required: - state properties: action: type: "string" state: $ref: '#/components/schemas/StateResourceIdentifier' force: type: "boolean" DayOfMonthSchedule: allOf: - $ref: '#/components/schemas/RecurrencePolicySchedule' - type: "object" required: - day properties: type: type: "string" day: type: "integer" format: "int32" DayOfMonthScheduleDraft: allOf: - $ref: '#/components/schemas/RecurrencePolicyScheduleDraft' - type: "object" required: - day properties: type: type: "string" day: type: "integer" format: "int32" IntervalUnit: type: "string" enum: - Days - Weeks - Months x-annotation-package: "RecurrencePolicy" x-annotation-enumDescriptions: Days: "Use to set a daily schedule." Weeks: "Use to set a weekly schedule." Months: "Use to set a monthly schedule." RecurrencePolicy: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - createdAt - id - key - lastModifiedAt - schedule - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" key: type: "string" name: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' schedule: $ref: '#/components/schemas/RecurrencePolicySchedule' createdBy: $ref: '#/components/schemas/CreatedBy' lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' RecurrencePolicyDraft: type: "object" required: - key - schedule properties: key: type: "string" name: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' schedule: $ref: '#/components/schemas/RecurrencePolicyScheduleDraft' RecurrencePolicyPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/RecurrencePolicy' RecurrencePolicyReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/RecurrencePolicy' RecurrencePolicyResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" RecurrencePolicySchedule: type: "object" discriminator: propertyName: type mapping: dayOfMonth: '#/components/schemas/DayOfMonthSchedule' standard: '#/components/schemas/StandardSchedule' required: - type properties: type: type: "string" RecurrencePolicyScheduleDraft: type: "object" discriminator: propertyName: type mapping: dayOfMonth: '#/components/schemas/DayOfMonthScheduleDraft' standard: '#/components/schemas/StandardScheduleDraft' required: - type properties: type: type: "string" RecurrencePolicyUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/RecurrencePolicyUpdateAction' RecurrencePolicyUpdateAction: type: "object" discriminator: propertyName: action mapping: setDescription: '#/components/schemas/RecurrencePolicySetDescriptionAction' setKey: '#/components/schemas/RecurrencePolicySetKeyAction' setName: '#/components/schemas/RecurrencePolicySetNameAction' setSchedule: '#/components/schemas/RecurrencePolicySetScheduleAction' required: - action properties: action: type: "string" StandardSchedule: allOf: - $ref: '#/components/schemas/RecurrencePolicySchedule' - type: "object" required: - intervalUnit - value properties: type: type: "string" value: type: "integer" format: "int64" intervalUnit: $ref: '#/components/schemas/IntervalUnit' StandardScheduleDraft: allOf: - $ref: '#/components/schemas/RecurrencePolicyScheduleDraft' - type: "object" required: - intervalUnit - value properties: type: type: "string" value: type: "integer" format: "int64" intervalUnit: $ref: '#/components/schemas/IntervalUnit' RecurrencePolicySetDescriptionAction: allOf: - $ref: '#/components/schemas/RecurrencePolicyUpdateAction' - type: "object" properties: action: type: "string" description: $ref: '#/components/schemas/LocalizedString' RecurrencePolicySetKeyAction: allOf: - $ref: '#/components/schemas/RecurrencePolicyUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" RecurrencePolicySetNameAction: allOf: - $ref: '#/components/schemas/RecurrencePolicyUpdateAction' - type: "object" properties: action: type: "string" name: $ref: '#/components/schemas/LocalizedString' RecurrencePolicySetScheduleAction: allOf: - $ref: '#/components/schemas/RecurrencePolicyUpdateAction' - type: "object" required: - schedule properties: action: type: "string" schedule: $ref: '#/components/schemas/RecurrencePolicyScheduleDraft' Counter: allOf: - $ref: '#/components/schemas/SkipConfiguration' - type: "object" required: - skipped - totalToSkip properties: type: type: "string" totalToSkip: type: "integer" format: "int32" skipped: type: "integer" format: "int32" lastSkippedAt: type: "string" format: "datetime" CounterDraft: allOf: - $ref: '#/components/schemas/SkipConfigurationDraft' - type: "object" required: - totalToSkip properties: type: type: "string" totalToSkip: type: "integer" format: "int32" CustomLineItemRecurrenceInfo: type: "object" required: - recurrencePolicy properties: recurrencePolicy: $ref: '#/components/schemas/RecurrencePolicyReference' CustomLineItemRecurrenceInfoDraft: type: "object" required: - recurrencePolicy properties: recurrencePolicy: $ref: '#/components/schemas/RecurrencePolicyResourceIdentifier' LineItemRecurrenceInfo: type: "object" required: - priceSelectionMode - recurrencePolicy properties: recurrencePolicy: $ref: '#/components/schemas/RecurrencePolicyReference' priceSelectionMode: $ref: '#/components/schemas/PriceSelectionMode' LineItemRecurrenceInfoDraft: type: "object" required: - priceSelectionMode - recurrencePolicy properties: recurrencePolicy: $ref: '#/components/schemas/RecurrencePolicyResourceIdentifier' priceSelectionMode: $ref: '#/components/schemas/PriceSelectionMode' PriceSelectionMode: type: "string" enum: - Fixed - Dynamic x-annotation-package: "RecurringOrder" x-beta: true x-annotation-enumDescriptions: Fixed: "The price set when the [Recurring Order](ctp:api:type:RecurringOrder) was created is used for each subsequent order.n" Dynamic: "The price is updated each time a new Order is created.n" RecurringOrder: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - cart - createdAt - id - lastModifiedAt - originOrder - recurringOrderState - schedule - startsAt - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" key: type: "string" cart: $ref: '#/components/schemas/CartReference' originOrder: $ref: '#/components/schemas/OrderReference' startsAt: type: "string" format: "datetime" resumesAt: type: "string" format: "datetime" expiresAt: type: "string" format: "datetime" lastOrderAt: type: "string" format: "datetime" nextOrderAt: type: "string" format: "datetime" skipConfiguration: $ref: '#/components/schemas/SkipConfiguration' store: $ref: '#/components/schemas/StoreKeyReference' businessUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' state: $ref: '#/components/schemas/StateReference' recurringOrderState: $ref: '#/components/schemas/RecurringOrderState' schedule: $ref: '#/components/schemas/RecurrencePolicySchedule' customer: $ref: '#/components/schemas/CustomerReference' customerEmail: type: "string" custom: $ref: '#/components/schemas/CustomFields' lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' RecurringOrderActive: allOf: - $ref: '#/components/schemas/RecurringOrderStateDraft' - type: "object" properties: type: type: "string" resumesAt: type: "string" format: "datetime" RecurringOrderCanceled: allOf: - $ref: '#/components/schemas/RecurringOrderStateDraft' - type: "object" properties: type: type: "string" reason: type: "string" RecurringOrderDraft: type: "object" required: - cart - cartVersion properties: key: type: "string" cart: $ref: '#/components/schemas/CartResourceIdentifier' cartVersion: type: "integer" format: "int64" startsAt: type: "string" format: "datetime" expiresAt: type: "string" format: "datetime" state: $ref: '#/components/schemas/StateResourceIdentifier' custom: $ref: '#/components/schemas/CustomFieldsDraft' RecurringOrderExpired: allOf: - $ref: '#/components/schemas/RecurringOrderStateDraft' - type: "object" properties: type: type: "string" RecurringOrderPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/RecurringOrder' RecurringOrderPaused: allOf: - $ref: '#/components/schemas/RecurringOrderStateDraft' - type: "object" properties: type: type: "string" RecurringOrderReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/RecurringOrder' RecurringOrderResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" RecurringOrderState: type: "string" enum: - Active - Paused - Expired - Canceled - Failed x-annotation-package: "RecurringOrder" x-annotation-enumDescriptions: Active: "The default state of a new RecurringOrder.n" Paused: "Indicates that the RecurringOrder is paused.n" Expired: "Indicates that the RecurringOrder has expired.n" Canceled: "Indicates that the RecurringOrder is canceled.n" Failed: "Indicates that the process of creating new orders has failed. The field `failure` stores the error encountered (inventory unavailable, etc). New orders will not be created until the issue is fixed.n" RecurringOrderStateDraft: type: "object" discriminator: propertyName: type mapping: active: '#/components/schemas/RecurringOrderActive' canceled: '#/components/schemas/RecurringOrderCanceled' expired: '#/components/schemas/RecurringOrderExpired' paused: '#/components/schemas/RecurringOrderPaused' required: - type properties: type: type: "string" RecurringOrderUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/RecurringOrderUpdateAction' RecurringOrderUpdateAction: type: "object" discriminator: propertyName: action mapping: setCustomField: '#/components/schemas/RecurringOrderSetCustomFieldAction' setCustomType: '#/components/schemas/RecurringOrderSetCustomTypeAction' setExpiresAt: '#/components/schemas/RecurringOrderSetExpiresAtAction' setKey: '#/components/schemas/RecurringOrderSetKeyAction' setOrderSkipConfiguration: '#/components/schemas/RecurringOrderSetOrderSkipConfigurationAction' setSchedule: '#/components/schemas/RecurringOrderSetScheduleAction' setStartsAt: '#/components/schemas/RecurringOrderSetStartsAtAction' setRecurringOrderState: '#/components/schemas/RecurringOrderSetStateAction' transitionState: '#/components/schemas/RecurringOrderTransitionStateAction' required: - action properties: action: type: "string" SkipConfiguration: type: "object" discriminator: propertyName: type mapping: Counter: '#/components/schemas/Counter' required: - type properties: type: type: "string" SkipConfigurationDraft: type: "object" discriminator: propertyName: type mapping: Counter: '#/components/schemas/CounterDraft' required: - type properties: type: type: "string" AnyOrder: allOf: - $ref: '#/components/schemas/RecurringOrderScope' - type: "object" properties: type: type: "string" AnyOrderDraft: allOf: - $ref: '#/components/schemas/RecurringOrderScopeDraft' - type: "object" properties: type: type: "string" ApplicableRecurrencePolicies: allOf: - $ref: '#/components/schemas/RecurringOrderScope' - type: "object" required: - recurrencePolicies - type properties: type: type: "string" recurrencePolicies: type: "array" items: $ref: '#/components/schemas/RecurrencePolicyReference' ApplicableRecurrencePoliciesDraft: allOf: - $ref: '#/components/schemas/RecurringOrderScopeDraft' - type: "object" required: - recurrencePolicies - type properties: type: type: "string" recurrencePolicies: type: "array" items: $ref: '#/components/schemas/RecurrencePolicyResourceIdentifier' NonRecurringOrdersOnly: allOf: - $ref: '#/components/schemas/RecurringOrderScope' - type: "object" properties: type: type: "string" NonRecurringOrdersOnlyDraft: allOf: - $ref: '#/components/schemas/RecurringOrderScopeDraft' - type: "object" properties: type: type: "string" RecurringOrderScope: type: "object" discriminator: propertyName: type mapping: AnyOrder: '#/components/schemas/AnyOrder' ApplicableRecurrencePolicies: '#/components/schemas/ApplicableRecurrencePolicies' NonRecurringOrdersOnly: '#/components/schemas/NonRecurringOrdersOnly' RecurringOrdersOnly: '#/components/schemas/RecurringOrdersOnly' required: - type properties: type: type: "string" RecurringOrderScopeDraft: type: "object" discriminator: propertyName: type mapping: AnyOrder: '#/components/schemas/AnyOrderDraft' ApplicableRecurrencePolicies: '#/components/schemas/ApplicableRecurrencePoliciesDraft' NonRecurringOrdersOnly: '#/components/schemas/NonRecurringOrdersOnlyDraft' RecurringOrdersOnly: '#/components/schemas/RecurringOrdersOnlyDraft' required: - type properties: type: type: "string" RecurringOrdersOnly: allOf: - $ref: '#/components/schemas/RecurringOrderScope' - type: "object" properties: type: type: "string" RecurringOrdersOnlyDraft: allOf: - $ref: '#/components/schemas/RecurringOrderScopeDraft' - type: "object" properties: type: type: "string" RecurringOrderSetCustomFieldAction: allOf: - $ref: '#/components/schemas/RecurringOrderUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} RecurringOrderSetCustomTypeAction: allOf: - $ref: '#/components/schemas/RecurringOrderUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' RecurringOrderSetExpiresAtAction: allOf: - $ref: '#/components/schemas/RecurringOrderUpdateAction' - type: "object" properties: action: type: "string" expiresAt: type: "string" format: "datetime" RecurringOrderSetKeyAction: allOf: - $ref: '#/components/schemas/RecurringOrderUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" RecurringOrderSetOrderSkipConfigurationAction: allOf: - $ref: '#/components/schemas/RecurringOrderUpdateAction' - type: "object" properties: action: type: "string" skipConfigurationInputDraft: $ref: '#/components/schemas/SkipConfigurationDraft' updatedExpiresAt: type: "string" format: "datetime" RecurringOrderSetScheduleAction: allOf: - $ref: '#/components/schemas/RecurringOrderUpdateAction' - type: "object" required: - recurrencePolicy properties: action: type: "string" recurrencePolicy: $ref: '#/components/schemas/RecurrencePolicyResourceIdentifier' RecurringOrderSetStartsAtAction: allOf: - $ref: '#/components/schemas/RecurringOrderUpdateAction' - type: "object" required: - startsAt properties: action: type: "string" startsAt: type: "string" format: "datetime" RecurringOrderSetStateAction: allOf: - $ref: '#/components/schemas/RecurringOrderUpdateAction' - type: "object" required: - recurringOrderState properties: action: type: "string" recurringOrderState: $ref: '#/components/schemas/RecurringOrderStateDraft' RecurringOrderTransitionStateAction: allOf: - $ref: '#/components/schemas/RecurringOrderUpdateAction' - type: "object" required: - state properties: action: type: "string" state: $ref: '#/components/schemas/StateResourceIdentifier' force: type: "boolean" Reservation: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - createdAt - expiresAt - id - inventoryEntry - lastModifiedAt - lineItemId - owner - quantity - state - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" expiresAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' inventoryEntry: $ref: '#/components/schemas/InventoryEntryReference' quantity: type: "integer" format: "int64" owner: $ref: '#/components/schemas/Reference' lineItemId: type: "string" state: $ref: '#/components/schemas/ReservationState' ReservationState: type: "string" enum: - Created - Updated - Released - Expired - Committed x-annotation-package: "Reservation" x-annotation-enumDescriptions: Created: "The `availableQuantity` of the item has been reduced by the reserved quantity, but the `quantityOnStock` remains unchanged.n" Updated: "The reservation has been updated. If the quantity of an item changed, the `availableQuantity` is increased or decreased accordingly, while the `quantityOnStock` remains unchanged.n" Released: "The reserved quantity of the item has been released. The `availableQuantity` is increased accordingly.n" Expired: "The reservation has expired and the `availableQuantity` is increased accordingly. Reservation expirations are [eventually consistent](/api/general-concepts#eventual-consistency), meaning it can take a few minutes for the status to update after expiration.n" Committed: "The quantity of the item has been allocated for fulfillment. The `quantityOnStock` has been reduced by the reserved quantity.n" Review: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - createdAt - id - includedInStatistics - lastModifiedAt - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' key: type: "string" uniquenessValue: type: "string" locale: $ref: '#/components/schemas/Locale' authorName: type: "string" title: type: "string" text: type: "string" target: oneOf: - $ref: '#/components/schemas/ChannelReference' - $ref: '#/components/schemas/ProductReference' includedInStatistics: type: "boolean" rating: type: "integer" format: "int32" state: $ref: '#/components/schemas/StateReference' customer: $ref: '#/components/schemas/CustomerReference' custom: $ref: '#/components/schemas/CustomFields' ReviewDraft: type: "object" properties: key: type: "string" uniquenessValue: type: "string" locale: $ref: '#/components/schemas/Locale' authorName: type: "string" title: type: "string" text: type: "string" target: oneOf: - $ref: '#/components/schemas/ChannelResourceIdentifier' - $ref: '#/components/schemas/ProductResourceIdentifier' state: $ref: '#/components/schemas/StateResourceIdentifier' rating: type: "integer" format: "int32" customer: $ref: '#/components/schemas/CustomerResourceIdentifier' custom: $ref: '#/components/schemas/CustomFieldsDraft' ReviewPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" offset: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/Review' ReviewRatingStatistics: type: "object" required: - averageRating - count - highestRating - lowestRating - ratingsDistribution properties: averageRating: type: "number" format: "double" highestRating: type: "number" format: "double" lowestRating: type: "number" format: "double" count: type: "integer" format: "int32" ratingsDistribution: type: "object" ReviewReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/Review' ReviewResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" ReviewUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/ReviewUpdateAction' ReviewUpdateAction: type: "object" discriminator: propertyName: action mapping: setAuthorName: '#/components/schemas/ReviewSetAuthorNameAction' setCustomField: '#/components/schemas/ReviewSetCustomFieldAction' setCustomType: '#/components/schemas/ReviewSetCustomTypeAction' setCustomer: '#/components/schemas/ReviewSetCustomerAction' setKey: '#/components/schemas/ReviewSetKeyAction' setLocale: '#/components/schemas/ReviewSetLocaleAction' setRating: '#/components/schemas/ReviewSetRatingAction' setTarget: '#/components/schemas/ReviewSetTargetAction' setText: '#/components/schemas/ReviewSetTextAction' setTitle: '#/components/schemas/ReviewSetTitleAction' transitionState: '#/components/schemas/ReviewTransitionStateAction' required: - action properties: action: type: "string" ReviewSetAuthorNameAction: allOf: - $ref: '#/components/schemas/ReviewUpdateAction' - type: "object" properties: action: type: "string" authorName: type: "string" ReviewSetCustomFieldAction: allOf: - $ref: '#/components/schemas/ReviewUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} ReviewSetCustomTypeAction: allOf: - $ref: '#/components/schemas/ReviewUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' ReviewSetCustomerAction: allOf: - $ref: '#/components/schemas/ReviewUpdateAction' - type: "object" properties: action: type: "string" customer: $ref: '#/components/schemas/CustomerResourceIdentifier' ReviewSetKeyAction: allOf: - $ref: '#/components/schemas/ReviewUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" ReviewSetLocaleAction: allOf: - $ref: '#/components/schemas/ReviewUpdateAction' - type: "object" properties: action: type: "string" locale: $ref: '#/components/schemas/Locale' ReviewSetRatingAction: allOf: - $ref: '#/components/schemas/ReviewUpdateAction' - type: "object" properties: action: type: "string" rating: type: "integer" format: "int32" ReviewSetTargetAction: allOf: - $ref: '#/components/schemas/ReviewUpdateAction' - type: "object" required: - target properties: action: type: "string" target: oneOf: - $ref: '#/components/schemas/ChannelResourceIdentifier' - $ref: '#/components/schemas/ProductResourceIdentifier' ReviewSetTextAction: allOf: - $ref: '#/components/schemas/ReviewUpdateAction' - type: "object" properties: action: type: "string" text: type: "string" ReviewSetTitleAction: allOf: - $ref: '#/components/schemas/ReviewUpdateAction' - type: "object" properties: action: type: "string" title: type: "string" ReviewTransitionStateAction: allOf: - $ref: '#/components/schemas/ReviewUpdateAction' - type: "object" required: - state properties: action: type: "string" state: $ref: '#/components/schemas/StateResourceIdentifier' force: type: "boolean" SearchAndExpression: allOf: - $ref: '#/components/schemas/SearchCompoundExpression' - type: "object" required: - and properties: and: type: "array" items: $ref: '#/components/schemas/SearchQuery' SearchAnyValue: allOf: - $ref: '#/components/schemas/SearchQueryExpressionValue' - type: "object" required: - value properties: field: type: "string" boost: type: "number" format: "double" fieldType: $ref: '#/components/schemas/SearchFieldType' value: {} language: $ref: '#/components/schemas/Locale' caseInsensitive: type: "boolean" SearchCompoundExpression: allOf: - $ref: '#/components/schemas/SearchQuery' - type: "object" SearchDateRangeExpression: allOf: - $ref: '#/components/schemas/SearchQueryExpression' - type: "object" required: - range properties: range: $ref: '#/components/schemas/SearchDateRangeValue' SearchDateRangeValue: allOf: - $ref: '#/components/schemas/SearchQueryExpressionValue' - type: "object" properties: field: type: "string" boost: type: "number" format: "double" fieldType: $ref: '#/components/schemas/SearchFieldType' gte: type: "string" format: "date-only" gt: type: "string" format: "date-only" lte: type: "string" format: "date-only" lt: type: "string" format: "date-only" SearchDateTimeRangeExpression: allOf: - $ref: '#/components/schemas/SearchQueryExpression' - type: "object" required: - range properties: range: $ref: '#/components/schemas/SearchDateTimeRangeValue' SearchDateTimeRangeValue: allOf: - $ref: '#/components/schemas/SearchQueryExpressionValue' - type: "object" properties: field: type: "string" boost: type: "number" format: "double" fieldType: $ref: '#/components/schemas/SearchFieldType' gte: type: "string" format: "datetime" gt: type: "string" format: "datetime" lte: type: "string" format: "datetime" lt: type: "string" format: "datetime" SearchExactExpression: allOf: - $ref: '#/components/schemas/SearchQueryExpression' - type: "object" required: - exact properties: exact: $ref: '#/components/schemas/SearchExactValue' SearchExactValue: allOf: - $ref: '#/components/schemas/SearchQueryExpressionValue' - type: "object" properties: field: type: "string" boost: type: "number" format: "double" fieldType: $ref: '#/components/schemas/SearchFieldType' value: {} values: type: "array" items: {} language: $ref: '#/components/schemas/Locale' caseInsensitive: type: "boolean" SearchExistsExpression: allOf: - $ref: '#/components/schemas/SearchQueryExpression' - type: "object" required: - exists properties: exists: $ref: '#/components/schemas/SearchExistsValue' SearchExistsValue: allOf: - $ref: '#/components/schemas/SearchQueryExpressionValue' - type: "object" properties: field: type: "string" boost: type: "number" format: "double" fieldType: $ref: '#/components/schemas/SearchFieldType' language: $ref: '#/components/schemas/Locale' SearchFieldType: type: "string" enum: - boolean - text - ltext - enum - lenum - number - money - date - datetime - time - reference - set_boolean - set_text - set_ltext - set_enum - set_lenum - set_number - set_money - set_date - set_datetime - set_time - set_reference x-annotation-package: "Search" x-annotation-enumDescriptions: boolean: "For Boolean fields, [AttributeBooleanType](ctp:api:type:AttributeBooleanType) Attributes, and [BooleanType](ctp:api:type:CustomFieldBooleanType) Custom Fields.n" text: "For string fields, [AttributeTextType](ctp:api:type:AttributeTextType) Attributes, and [StringType](ctp:api:type:CustomFieldStringType) Custom Fields.n" ltext: "For [LocalizedString](types#localizedstring) fields, [AttributeLocalizableTextType](ctp:api:type:AttributeLocalizableTextType) Attributes,nand [LocalizedStringType](ctp:api:type:CustomFieldLocalizedStringType) Custom Fields.n" enum: "For enum fields, [AttributeEnumType](ctp:api:type:AttributeEnumType) Attributes, and [EnumType](ctp:api:type:CustomFieldEnumType) Custom Fields.n" lenum: "For localized enum fields, [AttributeLocalizedEnumType](ctp:api:type:AttributeLocalizedEnumType) Attributes, and [LocalizedEnumType](ctp:api:type:CustomFieldLocalizedEnumType) Custom Fields.n" number: "For number fields, [AttributeNumberType](ctp:api:type:AttributeNumberType) Attributes, and [NumberType](ctp:api:type:CustomFieldNumberType) Custom Fields.n" money: "For [Money](types#money) fields and [AttributeMoneyType](ctp:api:type:AttributeMoneyType) Attributes.n" date: "For [Date](types#date) fields, [AttributeDateType](ctp:api:type:AttributeDateType) Attributes, and [DateType](ctp:api:type:CustomFieldDateType) Custom Fields.n" datetime: "For [DateTime](types#datetime) fields, [AttributeDateTimeType](ctp:api:type:AttributeDateTimeType) Attributes, and [DateTimeType](ctp:api:type:CustomFieldDateTimeType) Custom Fields.n" time: "For [Time](types#time) fields, [AttributeTimeType](ctp:api:type:AttributeTimeType) Attributes, and [TimeType](ctp:api:type:CustomFieldTimeType) Custom Fields.n" reference: "For [Reference](types#reference) fields and [AttributeReferenceType](ctp:api:type:AttributeReferenceType) Attributes.n" set_boolean: "For Set of Boolean fields, [AttributeSetType](ctp:api:type:AttributeSetType) of `boolean` Attributes, and [SetType](ctp:api:type:CustomFieldSetType) of `boolean` Custom Fields.n" set_text: "For Set of string fields, [AttributeSetType](ctp:api:type:AttributeSetType) of `text` Attributes, and [SetType](ctp:api:type:CustomFieldSetType) of `text` Custom Fields.n" set_ltext: "For Set of [LocalizedString](types#localizedstring) fields, [AttributeSetType](ctp:api:type:AttributeSetType) of `ltext` Attributes, and [SetType](ctp:api:type:CustomFieldSetType) of `ltext` Custom Fields.n" set_enum: "For Set of enum fields, [AttributeSetType](ctp:api:type:AttributeSetType) of `enum` Attributes, and [SetType](ctp:api:type:CustomFieldSetType) of `enum` Custom Fields.n" set_lenum: "For Set of localized enum fields, [AttributeSetType](ctp:api:type:AttributeSetType) of `lenum` Attributes, and [SetType](ctp:api:type:CustomFieldSetType) of `lenum` Custom Fields.n" set_number: "For Set of number fields, [AttributeSetType](ctp:api:type:AttributeSetType) of `number` Attributes, and [SetType](ctp:api:type:CustomFieldSetType) of `number` Custom Fields.n" set_money: "For Set of [Money](types#money) fields and [AttributeSetType](ctp:api:type:AttributeSetType) of `money` Attributes.n" set_date: "For Set of [Date](types#date) fields, [AttributeSetType](ctp:api:type:AttributeSetType) of `date` Attributes, and [SetType](ctp:api:type:CustomFieldSetType) of `date` Custom Fields.n" set_datetime: "For Set of [DateTime](types#datetime) fields, [AttributeSetType](ctp:api:type:AttributeSetType) of `datetime` Attributes, and [SetType](ctp:api:type:CustomFieldSetType) of `datetime` Custom Fields.n" set_time: "For Set of [Time](types#time) fields, [AttributeSetType](ctp:api:type:AttributeSetType) of `time` Attributes, and [SetType](ctp:api:type:CustomFieldSetType) of `time` Custom Fields.n" set_reference: "For Set of [Reference](types#reference) fields and [AttributeSetType](ctp:api:type:AttributeSetType) of `reference` Attributes.n" SearchFilterExpression: allOf: - $ref: '#/components/schemas/SearchCompoundExpression' - type: "object" required: - filter properties: filter: type: "array" items: $ref: '#/components/schemas/SearchQueryExpression' SearchFullTextExpression: allOf: - $ref: '#/components/schemas/SearchQueryExpression' - type: "object" required: - fullText properties: fullText: $ref: '#/components/schemas/SearchFullTextValue' SearchFullTextPrefixExpression: allOf: - $ref: '#/components/schemas/SearchQueryExpression' - type: "object" required: - fullTextPrefix properties: fullTextPrefix: $ref: '#/components/schemas/SearchFullTextPrefixValue' SearchFullTextPrefixValue: allOf: - $ref: '#/components/schemas/SearchQueryExpressionValue' - type: "object" required: - value properties: field: type: "string" boost: type: "number" format: "double" fieldType: $ref: '#/components/schemas/SearchFieldType' value: {} language: $ref: '#/components/schemas/Locale' mustMatch: $ref: '#/components/schemas/SearchMatchType' SearchFullTextValue: allOf: - $ref: '#/components/schemas/SearchQueryExpressionValue' - type: "object" required: - value properties: field: type: "string" boost: type: "number" format: "double" fieldType: $ref: '#/components/schemas/SearchFieldType' value: {} language: $ref: '#/components/schemas/Locale' mustMatch: $ref: '#/components/schemas/SearchMatchType' SearchFuzzyExpression: allOf: - $ref: '#/components/schemas/SearchQueryExpression' - type: "object" required: - fuzzy properties: fuzzy: $ref: '#/components/schemas/SearchFuzzyValue' SearchFuzzyValue: allOf: - $ref: '#/components/schemas/SearchQueryExpressionValue' - type: "object" required: - level - value properties: field: type: "string" boost: type: "number" format: "double" fieldType: $ref: '#/components/schemas/SearchFieldType' value: {} level: type: "integer" format: "int32" language: $ref: '#/components/schemas/Locale' mustMatch: $ref: '#/components/schemas/SearchMatchType' SearchLongRangeExpression: allOf: - $ref: '#/components/schemas/SearchQueryExpression' - type: "object" required: - range properties: range: $ref: '#/components/schemas/SearchLongRangeValue' SearchLongRangeValue: allOf: - $ref: '#/components/schemas/SearchQueryExpressionValue' - type: "object" properties: field: type: "string" boost: type: "number" format: "double" fieldType: $ref: '#/components/schemas/SearchFieldType' gte: type: "integer" format: "int64" gt: type: "integer" format: "int64" lte: type: "integer" format: "int64" lt: type: "integer" format: "int64" SearchMatchType: type: "string" enum: - any - all x-annotation-package: "Search" x-annotation-enumDescriptions: any: "Returns resources for which at least one of the provided search terms match.n" all: "Returns only those resources for which all the provided search terms match.n" SearchMatchingVariant: type: "object" required: - id properties: id: type: "integer" format: "int32" sku: type: "string" SearchNotExpression: allOf: - $ref: '#/components/schemas/SearchCompoundExpression' - type: "object" required: - not properties: not: type: "array" items: $ref: '#/components/schemas/SearchQuery' SearchNumberRangeExpression: allOf: - $ref: '#/components/schemas/SearchQueryExpression' - type: "object" required: - range properties: range: $ref: '#/components/schemas/SearchNumberRangeValue' SearchNumberRangeValue: allOf: - $ref: '#/components/schemas/SearchQueryExpressionValue' - type: "object" properties: field: type: "string" boost: type: "number" format: "double" fieldType: $ref: '#/components/schemas/SearchFieldType' gte: type: "number" format: "double" gt: type: "number" format: "double" lte: type: "number" format: "double" lt: type: "number" format: "double" SearchOrExpression: allOf: - $ref: '#/components/schemas/SearchCompoundExpression' - type: "object" required: - or properties: or: type: "array" items: $ref: '#/components/schemas/SearchQuery' SearchPrefixExpression: allOf: - $ref: '#/components/schemas/SearchQueryExpression' - type: "object" required: - prefix properties: prefix: $ref: '#/components/schemas/SearchAnyValue' SearchQuery: type: "object" SearchQueryExpression: allOf: - $ref: '#/components/schemas/SearchQuery' - type: "object" SearchQueryExpressionValue: type: "object" required: - field properties: field: type: "string" boost: type: "number" format: "double" fieldType: $ref: '#/components/schemas/SearchFieldType' SearchSortMode: type: "string" enum: - min - max - avg - sum x-annotation-package: "Search" x-annotation-enumDescriptions: min: "Use the minimum of all available values.n" max: "Use the maximum of all available values.n" avg: "Use the average of all available values.n" sum: "Use the sum of all available values.n" SearchSortOrder: type: "string" enum: - asc - desc x-annotation-package: "Search" x-annotation-enumDescriptions: asc: "Ascending sort order, the lowest value is listed first.n" desc: "Descending sort order, the highest value listed first.n" SearchSorting: type: "object" required: - field - order properties: field: type: "string" language: $ref: '#/components/schemas/Locale' order: $ref: '#/components/schemas/SearchSortOrder' mode: $ref: '#/components/schemas/SearchSortMode' fieldType: $ref: '#/components/schemas/SearchFieldType' filter: $ref: '#/components/schemas/SearchQuery' SearchTimeRangeExpression: allOf: - $ref: '#/components/schemas/SearchQueryExpression' - type: "object" required: - range properties: range: $ref: '#/components/schemas/SearchTimeRangeValue' SearchTimeRangeValue: allOf: - $ref: '#/components/schemas/SearchQueryExpressionValue' - type: "object" properties: field: type: "string" boost: type: "number" format: "double" fieldType: $ref: '#/components/schemas/SearchFieldType' gte: type: "string" format: "time-only" gt: type: "string" format: "time-only" lte: type: "string" format: "time-only" lt: type: "string" format: "time-only" SearchWildCardExpression: allOf: - $ref: '#/components/schemas/SearchQueryExpression' - type: "object" required: - wildcard properties: wildcard: $ref: '#/components/schemas/SearchAnyValue' CartClassificationTier: allOf: - $ref: '#/components/schemas/ShippingRatePriceTier' - type: "object" required: - price - value properties: type: $ref: '#/components/schemas/ShippingRateTierType' value: type: "string" price: $ref: '#/components/schemas/Money' isMatching: type: "boolean" CartScoreTier: allOf: - $ref: '#/components/schemas/ShippingRatePriceTier' - type: "object" required: - score properties: type: $ref: '#/components/schemas/ShippingRateTierType' score: type: "integer" format: "int32" price: $ref: '#/components/schemas/Money' priceFunction: $ref: '#/components/schemas/PriceFunction' isMatching: type: "boolean" CartValueTier: allOf: - $ref: '#/components/schemas/ShippingRatePriceTier' - type: "object" required: - minimumCentAmount - price properties: type: $ref: '#/components/schemas/ShippingRateTierType' minimumCentAmount: type: "integer" format: "int64" price: $ref: '#/components/schemas/Money' isMatching: type: "boolean" PriceFunction: type: "object" required: - currencyCode - function properties: currencyCode: $ref: '#/components/schemas/CurrencyCode' function: type: "string" ShippingMethod: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - active - createdAt - id - isDefault - lastModifiedAt - name - stores - taxCategory - version - zoneRates properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' key: type: "string" name: type: "string" localizedName: $ref: '#/components/schemas/LocalizedString' description: type: "string" localizedDescription: $ref: '#/components/schemas/LocalizedString' taxCategory: $ref: '#/components/schemas/TaxCategoryReference' zoneRates: type: "array" items: $ref: '#/components/schemas/ZoneRate' active: type: "boolean" isDefault: type: "boolean" predicate: type: "string" custom: $ref: '#/components/schemas/CustomFields' stores: type: "array" items: $ref: '#/components/schemas/StoreKeyReference' carrier: type: "string" ShippingMethodDraft: type: "object" required: - isDefault - name - taxCategory - zoneRates properties: key: type: "string" name: type: "string" localizedName: $ref: '#/components/schemas/LocalizedString' description: type: "string" localizedDescription: $ref: '#/components/schemas/LocalizedString' taxCategory: $ref: '#/components/schemas/TaxCategoryResourceIdentifier' zoneRates: type: "array" items: $ref: '#/components/schemas/ZoneRateDraft' active: type: "boolean" isDefault: type: "boolean" predicate: type: "string" custom: $ref: '#/components/schemas/CustomFieldsDraft' stores: type: "array" items: $ref: '#/components/schemas/StoreResourceIdentifier' carrier: type: "string" ShippingMethodPagedQueryResponse: type: "object" required: - count - results properties: limit: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" offset: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/ShippingMethod' ShippingMethodReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/ShippingMethod' ShippingMethodResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" ShippingMethodUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/ShippingMethodUpdateAction' ShippingMethodUpdateAction: type: "object" discriminator: propertyName: action mapping: addShippingRate: '#/components/schemas/ShippingMethodAddShippingRateAction' addStore: '#/components/schemas/ShippingMethodAddStoreAction' addZone: '#/components/schemas/ShippingMethodAddZoneAction' changeActive: '#/components/schemas/ShippingMethodChangeActiveAction' changeIsDefault: '#/components/schemas/ShippingMethodChangeIsDefaultAction' changeName: '#/components/schemas/ShippingMethodChangeNameAction' changeTaxCategory: '#/components/schemas/ShippingMethodChangeTaxCategoryAction' removeShippingRate: '#/components/schemas/ShippingMethodRemoveShippingRateAction' removeStore: '#/components/schemas/ShippingMethodRemoveStoreAction' removeZone: '#/components/schemas/ShippingMethodRemoveZoneAction' setCarrier: '#/components/schemas/ShippingMethodSetCarrierAction' setCustomField: '#/components/schemas/ShippingMethodSetCustomFieldAction' setCustomType: '#/components/schemas/ShippingMethodSetCustomTypeAction' setDescription: '#/components/schemas/ShippingMethodSetDescriptionAction' setKey: '#/components/schemas/ShippingMethodSetKeyAction' setLocalizedDescription: '#/components/schemas/ShippingMethodSetLocalizedDescriptionAction' setLocalizedName: '#/components/schemas/ShippingMethodSetLocalizedNameAction' setPredicate: '#/components/schemas/ShippingMethodSetPredicateAction' setStores: '#/components/schemas/ShippingMethodSetStoresAction' required: - action properties: action: type: "string" ShippingRate: type: "object" required: - price - tiers properties: price: $ref: '#/components/schemas/CentPrecisionMoney' freeAbove: $ref: '#/components/schemas/CentPrecisionMoney' isMatching: type: "boolean" tiers: type: "array" items: $ref: '#/components/schemas/ShippingRatePriceTier' ShippingRateDraft: type: "object" required: - price properties: price: $ref: '#/components/schemas/Money' freeAbove: $ref: '#/components/schemas/Money' tiers: type: "array" items: $ref: '#/components/schemas/ShippingRatePriceTier' ShippingRatePriceTier: type: "object" discriminator: propertyName: type mapping: CartClassification: '#/components/schemas/CartClassificationTier' CartScore: '#/components/schemas/CartScoreTier' CartValue: '#/components/schemas/CartValueTier' required: - type properties: type: $ref: '#/components/schemas/ShippingRateTierType' ShippingRateTierType: type: "string" enum: - CartValue - CartClassification - CartScore x-annotation-package: "ShippingMethod" x-annotation-enumDescriptions: CartValue: "[CartValueTier](#cartvaluetier) based on the total value of the cart.n" CartClassification: "[CartClassificationTier](#cartclassificationtier) based on classifications assigned to the cart.n" CartScore: "[CartScoreTier](#cartscoretier) based on a scoring system applied to the cart.n" ZoneRate: type: "object" required: - shippingRates - zone properties: zone: $ref: '#/components/schemas/ZoneReference' shippingRates: type: "array" items: $ref: '#/components/schemas/ShippingRate' ZoneRateDraft: type: "object" required: - shippingRates - zone properties: zone: $ref: '#/components/schemas/ZoneResourceIdentifier' shippingRates: type: "array" items: $ref: '#/components/schemas/ShippingRateDraft' ShippingMethodAddShippingRateAction: allOf: - $ref: '#/components/schemas/ShippingMethodUpdateAction' - type: "object" required: - shippingRate - zone properties: action: type: "string" zone: $ref: '#/components/schemas/ZoneResourceIdentifier' shippingRate: $ref: '#/components/schemas/ShippingRateDraft' ShippingMethodAddStoreAction: allOf: - $ref: '#/components/schemas/ShippingMethodUpdateAction' - type: "object" required: - store properties: action: type: "string" store: $ref: '#/components/schemas/StoreResourceIdentifier' ShippingMethodAddZoneAction: allOf: - $ref: '#/components/schemas/ShippingMethodUpdateAction' - type: "object" required: - zone properties: action: type: "string" zone: $ref: '#/components/schemas/ZoneResourceIdentifier' ShippingMethodChangeActiveAction: allOf: - $ref: '#/components/schemas/ShippingMethodUpdateAction' - type: "object" required: - active properties: action: type: "string" active: type: "boolean" ShippingMethodChangeIsDefaultAction: allOf: - $ref: '#/components/schemas/ShippingMethodUpdateAction' - type: "object" required: - isDefault properties: action: type: "string" isDefault: type: "boolean" ShippingMethodChangeNameAction: allOf: - $ref: '#/components/schemas/ShippingMethodUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" ShippingMethodChangeTaxCategoryAction: allOf: - $ref: '#/components/schemas/ShippingMethodUpdateAction' - type: "object" required: - taxCategory properties: action: type: "string" taxCategory: $ref: '#/components/schemas/TaxCategoryResourceIdentifier' ShippingMethodRemoveShippingRateAction: allOf: - $ref: '#/components/schemas/ShippingMethodUpdateAction' - type: "object" required: - shippingRate - zone properties: action: type: "string" zone: $ref: '#/components/schemas/ZoneResourceIdentifier' shippingRate: $ref: '#/components/schemas/ShippingRateDraft' ShippingMethodRemoveStoreAction: allOf: - $ref: '#/components/schemas/ShippingMethodUpdateAction' - type: "object" required: - store properties: action: type: "string" store: $ref: '#/components/schemas/StoreResourceIdentifier' ShippingMethodRemoveZoneAction: allOf: - $ref: '#/components/schemas/ShippingMethodUpdateAction' - type: "object" required: - zone properties: action: type: "string" zone: $ref: '#/components/schemas/ZoneResourceIdentifier' ShippingMethodSetCarrierAction: allOf: - $ref: '#/components/schemas/ShippingMethodUpdateAction' - type: "object" properties: action: type: "string" carrier: type: "string" ShippingMethodSetCustomFieldAction: allOf: - $ref: '#/components/schemas/ShippingMethodUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} ShippingMethodSetCustomTypeAction: allOf: - $ref: '#/components/schemas/ShippingMethodUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' ShippingMethodSetDescriptionAction: allOf: - $ref: '#/components/schemas/ShippingMethodUpdateAction' - type: "object" properties: action: type: "string" description: type: "string" ShippingMethodSetKeyAction: allOf: - $ref: '#/components/schemas/ShippingMethodUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" ShippingMethodSetLocalizedDescriptionAction: allOf: - $ref: '#/components/schemas/ShippingMethodUpdateAction' - type: "object" properties: action: type: "string" localizedDescription: $ref: '#/components/schemas/LocalizedString' ShippingMethodSetLocalizedNameAction: allOf: - $ref: '#/components/schemas/ShippingMethodUpdateAction' - type: "object" properties: action: type: "string" localizedName: $ref: '#/components/schemas/LocalizedString' ShippingMethodSetPredicateAction: allOf: - $ref: '#/components/schemas/ShippingMethodUpdateAction' - type: "object" properties: action: type: "string" predicate: type: "string" ShippingMethodSetStoresAction: allOf: - $ref: '#/components/schemas/ShippingMethodUpdateAction' - type: "object" required: - stores properties: action: type: "string" stores: type: "array" items: $ref: '#/components/schemas/StoreResourceIdentifier' ShoppingList: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - createdAt - id - lastModifiedAt - lineItems - name - textLineItems - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" name: $ref: '#/components/schemas/LocalizedString' key: type: "string" customer: $ref: '#/components/schemas/CustomerReference' slug: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' lineItems: type: "array" items: $ref: '#/components/schemas/ShoppingListLineItem' textLineItems: type: "array" items: $ref: '#/components/schemas/TextLineItem' deleteDaysAfterLastModification: type: "integer" format: "int64" anonymousId: type: "string" store: $ref: '#/components/schemas/StoreKeyReference' businessUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' custom: $ref: '#/components/schemas/CustomFields' lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' ShoppingListDraft: type: "object" required: - name properties: name: $ref: '#/components/schemas/LocalizedString' slug: $ref: '#/components/schemas/LocalizedString' customer: $ref: '#/components/schemas/CustomerResourceIdentifier' key: type: "string" description: $ref: '#/components/schemas/LocalizedString' anonymousId: type: "string" deleteDaysAfterLastModification: type: "integer" format: "int64" lineItems: type: "array" items: $ref: '#/components/schemas/ShoppingListLineItemDraft' textLineItems: type: "array" items: $ref: '#/components/schemas/TextLineItemDraft' store: $ref: '#/components/schemas/StoreResourceIdentifier' businessUnit: $ref: '#/components/schemas/BusinessUnitResourceIdentifier' custom: $ref: '#/components/schemas/CustomFieldsDraft' ShoppingListLineItem: type: "object" required: - addedAt - id - name - productId - productType - published - quantity properties: addedAt: type: "string" format: "datetime" custom: $ref: '#/components/schemas/CustomFields' deactivatedAt: type: "string" format: "datetime" id: type: "string" key: type: "string" name: $ref: '#/components/schemas/LocalizedString' productId: type: "string" productType: $ref: '#/components/schemas/ProductTypeReference' published: type: "boolean" quantity: type: "integer" format: "int64" variantId: type: "integer" format: "int64" variant: $ref: '#/components/schemas/ProductVariant' productSlug: $ref: '#/components/schemas/LocalizedString' ShoppingListLineItemDraft: type: "object" properties: key: type: "string" productId: type: "string" variantId: type: "integer" format: "int64" sku: type: "string" addedAt: type: "string" format: "datetime" custom: $ref: '#/components/schemas/CustomFieldsDraft' quantity: type: "integer" format: "int64" ShoppingListPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" offset: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/ShoppingList' ShoppingListReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/ShoppingList' ShoppingListResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" ShoppingListUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/ShoppingListUpdateAction' ShoppingListUpdateAction: type: "object" discriminator: propertyName: action mapping: addLineItem: '#/components/schemas/ShoppingListAddLineItemAction' addTextLineItem: '#/components/schemas/ShoppingListAddTextLineItemAction' changeLineItemQuantity: '#/components/schemas/ShoppingListChangeLineItemQuantityAction' changeLineItemsOrder: '#/components/schemas/ShoppingListChangeLineItemsOrderAction' changeName: '#/components/schemas/ShoppingListChangeNameAction' changeTextLineItemName: '#/components/schemas/ShoppingListChangeTextLineItemNameAction' changeTextLineItemQuantity: '#/components/schemas/ShoppingListChangeTextLineItemQuantityAction' changeTextLineItemsOrder: '#/components/schemas/ShoppingListChangeTextLineItemsOrderAction' removeLineItem: '#/components/schemas/ShoppingListRemoveLineItemAction' removeTextLineItem: '#/components/schemas/ShoppingListRemoveTextLineItemAction' setAnonymousId: '#/components/schemas/ShoppingListSetAnonymousIdAction' setBusinessUnit: '#/components/schemas/ShoppingListSetBusinessUnitAction' setCustomField: '#/components/schemas/ShoppingListSetCustomFieldAction' setCustomType: '#/components/schemas/ShoppingListSetCustomTypeAction' setCustomer: '#/components/schemas/ShoppingListSetCustomerAction' setDeleteDaysAfterLastModification: '#/components/schemas/ShoppingListSetDeleteDaysAfterLastModificationAction' setDescription: '#/components/schemas/ShoppingListSetDescriptionAction' setKey: '#/components/schemas/ShoppingListSetKeyAction' setLineItemCustomField: '#/components/schemas/ShoppingListSetLineItemCustomFieldAction' setLineItemCustomType: '#/components/schemas/ShoppingListSetLineItemCustomTypeAction' setSlug: '#/components/schemas/ShoppingListSetSlugAction' setStore: '#/components/schemas/ShoppingListSetStoreAction' setTextLineItemCustomField: '#/components/schemas/ShoppingListSetTextLineItemCustomFieldAction' setTextLineItemCustomType: '#/components/schemas/ShoppingListSetTextLineItemCustomTypeAction' setTextLineItemDescription: '#/components/schemas/ShoppingListSetTextLineItemDescriptionAction' required: - action properties: action: type: "string" TextLineItem: type: "object" required: - addedAt - id - name - quantity properties: addedAt: type: "string" format: "datetime" custom: $ref: '#/components/schemas/CustomFields' description: $ref: '#/components/schemas/LocalizedString' id: type: "string" key: type: "string" name: $ref: '#/components/schemas/LocalizedString' quantity: type: "integer" format: "int64" TextLineItemDraft: type: "object" required: - name properties: key: type: "string" addedAt: type: "string" format: "datetime" custom: $ref: '#/components/schemas/CustomFieldsDraft' description: $ref: '#/components/schemas/LocalizedString' name: $ref: '#/components/schemas/LocalizedString' quantity: type: "integer" format: "int64" ShoppingListAddLineItemAction: allOf: - $ref: '#/components/schemas/ShoppingListUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" sku: type: "string" productId: type: "string" variantId: type: "integer" format: "int64" quantity: type: "integer" format: "int64" addedAt: type: "string" format: "datetime" custom: $ref: '#/components/schemas/CustomFieldsDraft' ShoppingListAddTextLineItemAction: allOf: - $ref: '#/components/schemas/ShoppingListUpdateAction' - type: "object" required: - name properties: action: type: "string" name: $ref: '#/components/schemas/LocalizedString' key: type: "string" description: $ref: '#/components/schemas/LocalizedString' quantity: type: "integer" format: "int64" addedAt: type: "string" format: "datetime" custom: $ref: '#/components/schemas/CustomFieldsDraft' ShoppingListChangeLineItemQuantityAction: allOf: - $ref: '#/components/schemas/ShoppingListUpdateAction' - type: "object" required: - quantity properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" quantity: type: "integer" format: "int64" ShoppingListChangeLineItemsOrderAction: allOf: - $ref: '#/components/schemas/ShoppingListUpdateAction' - type: "object" required: - lineItemOrder properties: action: type: "string" lineItemOrder: type: "array" items: type: "string" ShoppingListChangeNameAction: allOf: - $ref: '#/components/schemas/ShoppingListUpdateAction' - type: "object" required: - name properties: action: type: "string" name: $ref: '#/components/schemas/LocalizedString' ShoppingListChangeTextLineItemNameAction: allOf: - $ref: '#/components/schemas/ShoppingListUpdateAction' - type: "object" required: - name properties: action: type: "string" textLineItemId: type: "string" textLineItemKey: type: "string" name: $ref: '#/components/schemas/LocalizedString' ShoppingListChangeTextLineItemQuantityAction: allOf: - $ref: '#/components/schemas/ShoppingListUpdateAction' - type: "object" required: - quantity properties: action: type: "string" textLineItemId: type: "string" textLineItemKey: type: "string" quantity: type: "integer" format: "int64" ShoppingListChangeTextLineItemsOrderAction: allOf: - $ref: '#/components/schemas/ShoppingListUpdateAction' - type: "object" required: - textLineItemOrder properties: action: type: "string" textLineItemOrder: type: "array" items: type: "string" ShoppingListRemoveLineItemAction: allOf: - $ref: '#/components/schemas/ShoppingListUpdateAction' - type: "object" properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" quantity: type: "integer" format: "int64" ShoppingListRemoveTextLineItemAction: allOf: - $ref: '#/components/schemas/ShoppingListUpdateAction' - type: "object" properties: action: type: "string" textLineItemId: type: "string" textLineItemKey: type: "string" quantity: type: "integer" format: "int64" ShoppingListSetAnonymousIdAction: allOf: - $ref: '#/components/schemas/ShoppingListUpdateAction' - type: "object" properties: action: type: "string" anonymousId: type: "string" ShoppingListSetBusinessUnitAction: allOf: - $ref: '#/components/schemas/ShoppingListUpdateAction' - type: "object" required: - businessUnit properties: action: type: "string" businessUnit: $ref: '#/components/schemas/BusinessUnitResourceIdentifier' ShoppingListSetCustomFieldAction: allOf: - $ref: '#/components/schemas/ShoppingListUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} ShoppingListSetCustomTypeAction: allOf: - $ref: '#/components/schemas/ShoppingListUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' ShoppingListSetCustomerAction: allOf: - $ref: '#/components/schemas/ShoppingListUpdateAction' - type: "object" properties: action: type: "string" customer: $ref: '#/components/schemas/CustomerResourceIdentifier' ShoppingListSetDeleteDaysAfterLastModificationAction: allOf: - $ref: '#/components/schemas/ShoppingListUpdateAction' - type: "object" properties: action: type: "string" deleteDaysAfterLastModification: type: "integer" format: "int64" ShoppingListSetDescriptionAction: allOf: - $ref: '#/components/schemas/ShoppingListUpdateAction' - type: "object" properties: action: type: "string" description: $ref: '#/components/schemas/LocalizedString' ShoppingListSetKeyAction: allOf: - $ref: '#/components/schemas/ShoppingListUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" ShoppingListSetLineItemCustomFieldAction: allOf: - $ref: '#/components/schemas/ShoppingListUpdateAction' - type: "object" required: - name properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" name: type: "string" value: {} ShoppingListSetLineItemCustomTypeAction: allOf: - $ref: '#/components/schemas/ShoppingListUpdateAction' - type: "object" properties: action: type: "string" lineItemId: type: "string" lineItemKey: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' ShoppingListSetSlugAction: allOf: - $ref: '#/components/schemas/ShoppingListUpdateAction' - type: "object" properties: action: type: "string" slug: $ref: '#/components/schemas/LocalizedString' ShoppingListSetStoreAction: allOf: - $ref: '#/components/schemas/ShoppingListUpdateAction' - type: "object" properties: action: type: "string" store: $ref: '#/components/schemas/StoreResourceIdentifier' ShoppingListSetTextLineItemCustomFieldAction: allOf: - $ref: '#/components/schemas/ShoppingListUpdateAction' - type: "object" required: - name properties: action: type: "string" textLineItemId: type: "string" textLineItemKey: type: "string" name: type: "string" value: {} ShoppingListSetTextLineItemCustomTypeAction: allOf: - $ref: '#/components/schemas/ShoppingListUpdateAction' - type: "object" properties: action: type: "string" textLineItemId: type: "string" textLineItemKey: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' ShoppingListSetTextLineItemDescriptionAction: allOf: - $ref: '#/components/schemas/ShoppingListUpdateAction' - type: "object" properties: action: type: "string" textLineItemId: type: "string" textLineItemKey: type: "string" description: $ref: '#/components/schemas/LocalizedString' StagedQuote: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - createdAt - id - lastModifiedAt - quotationCart - quoteRequest - stagedQuoteState - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" key: type: "string" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' stagedQuoteState: $ref: '#/components/schemas/StagedQuoteState' customer: $ref: '#/components/schemas/CustomerReference' quoteRequest: $ref: '#/components/schemas/QuoteRequestReference' quotationCart: $ref: '#/components/schemas/CartReference' validTo: type: "string" format: "datetime" sellerComment: type: "string" custom: $ref: '#/components/schemas/CustomFields' state: $ref: '#/components/schemas/StateReference' purchaseOrderNumber: type: "string" businessUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' store: $ref: '#/components/schemas/StoreKeyReference' StagedQuoteDraft: type: "object" required: - quoteRequest - quoteRequestVersion properties: quoteRequest: $ref: '#/components/schemas/QuoteRequestResourceIdentifier' quoteRequestVersion: type: "integer" format: "int64" quoteRequestStateToAccepted: type: "boolean" key: type: "string" custom: $ref: '#/components/schemas/CustomFieldsDraft' state: $ref: '#/components/schemas/StateReference' StagedQuotePagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/StagedQuote' StagedQuoteReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/StagedQuote' StagedQuoteResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" StagedQuoteState: type: "string" enum: - InProgress - Sent - Closed x-annotation-package: "StagedQuote" x-annotation-enumDescriptions: InProgress: "Initial state after creating the StagedQuote indicating that the [Seller](/api/quotes-overview#seller) is preparing the Quote.n" Sent: "A state indicating that the StagedQuote has been sent to the [Buyer](/api/quotes-overview#buyer).n" Closed: "A state indicating that the StagedQuote flow was finished.n" StagedQuoteUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/StagedQuoteUpdateAction' StagedQuoteUpdateAction: type: "object" discriminator: propertyName: action mapping: changeStagedQuoteState: '#/components/schemas/StagedQuoteChangeStagedQuoteStateAction' setCustomField: '#/components/schemas/StagedQuoteSetCustomFieldAction' setCustomType: '#/components/schemas/StagedQuoteSetCustomTypeAction' setSellerComment: '#/components/schemas/StagedQuoteSetSellerCommentAction' setValidTo: '#/components/schemas/StagedQuoteSetValidToAction' transitionState: '#/components/schemas/StagedQuoteTransitionStateAction' required: - action properties: action: type: "string" StagedQuoteChangeStagedQuoteStateAction: allOf: - $ref: '#/components/schemas/StagedQuoteUpdateAction' - type: "object" required: - stagedQuoteState properties: action: type: "string" stagedQuoteState: $ref: '#/components/schemas/StagedQuoteState' StagedQuoteSetCustomFieldAction: allOf: - $ref: '#/components/schemas/StagedQuoteUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} StagedQuoteSetCustomTypeAction: allOf: - $ref: '#/components/schemas/StagedQuoteUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' StagedQuoteSetSellerCommentAction: allOf: - $ref: '#/components/schemas/StagedQuoteUpdateAction' - type: "object" properties: action: type: "string" sellerComment: type: "string" StagedQuoteSetValidToAction: allOf: - $ref: '#/components/schemas/StagedQuoteUpdateAction' - type: "object" properties: action: type: "string" validTo: type: "string" format: "datetime" StagedQuoteTransitionStateAction: allOf: - $ref: '#/components/schemas/StagedQuoteUpdateAction' - type: "object" required: - state properties: action: type: "string" state: $ref: '#/components/schemas/StateResourceIdentifier' force: type: "boolean" StagedPriceDraft: type: "object" required: - value properties: value: $ref: '#/components/schemas/TypedMoneyDraft' StagedStandalonePrice: type: "object" required: - value properties: value: $ref: '#/components/schemas/TypedMoney' discounted: $ref: '#/components/schemas/DiscountedPrice' StandalonePrice: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - active - createdAt - id - lastModifiedAt - sku - value - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' key: type: "string" sku: type: "string" value: $ref: '#/components/schemas/TypedMoney' country: $ref: '#/components/schemas/CountryCode' customerGroup: $ref: '#/components/schemas/CustomerGroupReference' channel: $ref: '#/components/schemas/ChannelReference' validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" tiers: type: "array" items: $ref: '#/components/schemas/PriceTier' discounted: $ref: '#/components/schemas/DiscountedPrice' custom: $ref: '#/components/schemas/CustomFields' staged: $ref: '#/components/schemas/StagedStandalonePrice' active: type: "boolean" recurrencePolicy: $ref: '#/components/schemas/RecurrencePolicyReference' StandalonePriceDraft: type: "object" required: - sku - value properties: key: type: "string" sku: type: "string" value: $ref: '#/components/schemas/Money' country: $ref: '#/components/schemas/CountryCode' customerGroup: $ref: '#/components/schemas/CustomerGroupResourceIdentifier' channel: $ref: '#/components/schemas/ChannelResourceIdentifier' validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" tiers: type: "array" items: $ref: '#/components/schemas/PriceTierDraft' discounted: $ref: '#/components/schemas/DiscountedPriceDraft' custom: $ref: '#/components/schemas/CustomFieldsDraft' recurrencePolicy: $ref: '#/components/schemas/RecurrencePolicyResourceIdentifier' staged: $ref: '#/components/schemas/StagedPriceDraft' active: type: "boolean" StandalonePricePagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/StandalonePrice' StandalonePriceReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/StandalonePrice' StandalonePriceResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" StandalonePriceUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/StandalonePriceUpdateAction' StandalonePriceUpdateAction: type: "object" discriminator: propertyName: action mapping: addPriceTier: '#/components/schemas/StandalonePriceAddPriceTierAction' applyStagedChanges: '#/components/schemas/StandalonePriceApplyStagedChangesAction' changeActive: '#/components/schemas/StandalonePriceChangeActiveAction' changeValue: '#/components/schemas/StandalonePriceChangeValueAction' removePriceTier: '#/components/schemas/StandalonePriceRemovePriceTierAction' removeStagedChanges: '#/components/schemas/StandalonePriceRemoveStagedChangesAction' setCustomField: '#/components/schemas/StandalonePriceSetCustomFieldAction' setCustomType: '#/components/schemas/StandalonePriceSetCustomTypeAction' setDiscountedPrice: '#/components/schemas/StandalonePriceSetDiscountedPriceAction' setKey: '#/components/schemas/StandalonePriceSetKeyAction' setPriceTiers: '#/components/schemas/StandalonePriceSetPriceTiersAction' setValidFrom: '#/components/schemas/StandalonePriceSetValidFromAction' setValidFromAndUntil: '#/components/schemas/StandalonePriceSetValidFromAndUntilAction' setValidUntil: '#/components/schemas/StandalonePriceSetValidUntilAction' required: - action properties: action: type: "string" StandalonePriceAddPriceTierAction: allOf: - $ref: '#/components/schemas/StandalonePriceUpdateAction' - type: "object" required: - tier properties: action: type: "string" tier: $ref: '#/components/schemas/PriceTierDraft' StandalonePriceApplyStagedChangesAction: allOf: - $ref: '#/components/schemas/StandalonePriceUpdateAction' - type: "object" properties: action: type: "string" StandalonePriceChangeActiveAction: allOf: - $ref: '#/components/schemas/StandalonePriceUpdateAction' - type: "object" required: - active properties: action: type: "string" active: type: "boolean" StandalonePriceChangeValueAction: allOf: - $ref: '#/components/schemas/StandalonePriceUpdateAction' - type: "object" required: - value properties: action: type: "string" value: $ref: '#/components/schemas/Money' staged: type: "boolean" StandalonePriceRemovePriceTierAction: allOf: - $ref: '#/components/schemas/StandalonePriceUpdateAction' - type: "object" required: - minimumQuantity properties: action: type: "string" minimumQuantity: type: "integer" format: "int64" StandalonePriceRemoveStagedChangesAction: allOf: - $ref: '#/components/schemas/StandalonePriceUpdateAction' - type: "object" properties: action: type: "string" StandalonePriceSetCustomFieldAction: allOf: - $ref: '#/components/schemas/StandalonePriceUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} StandalonePriceSetCustomTypeAction: allOf: - $ref: '#/components/schemas/StandalonePriceUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' StandalonePriceSetDiscountedPriceAction: allOf: - $ref: '#/components/schemas/StandalonePriceUpdateAction' - type: "object" properties: action: type: "string" discounted: $ref: '#/components/schemas/DiscountedPriceDraft' StandalonePriceSetKeyAction: allOf: - $ref: '#/components/schemas/StandalonePriceUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" StandalonePriceSetPriceTiersAction: allOf: - $ref: '#/components/schemas/StandalonePriceUpdateAction' - type: "object" required: - tiers properties: action: type: "string" tiers: type: "array" items: $ref: '#/components/schemas/PriceTierDraft' StandalonePriceSetValidFromAction: allOf: - $ref: '#/components/schemas/StandalonePriceUpdateAction' - type: "object" properties: action: type: "string" validFrom: type: "string" format: "datetime" StandalonePriceSetValidFromAndUntilAction: allOf: - $ref: '#/components/schemas/StandalonePriceUpdateAction' - type: "object" properties: action: type: "string" validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" StandalonePriceSetValidUntilAction: allOf: - $ref: '#/components/schemas/StandalonePriceUpdateAction' - type: "object" properties: action: type: "string" validUntil: type: "string" format: "datetime" State: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - builtIn - createdAt - id - initial - key - lastModifiedAt - type - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' key: type: "string" type: $ref: '#/components/schemas/StateTypeEnum' name: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' initial: type: "boolean" builtIn: type: "boolean" roles: type: "array" items: $ref: '#/components/schemas/StateRoleEnum' transitions: type: "array" items: $ref: '#/components/schemas/StateReference' StateDraft: type: "object" required: - key - type properties: key: type: "string" type: $ref: '#/components/schemas/StateTypeEnum' name: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' initial: type: "boolean" roles: type: "array" items: $ref: '#/components/schemas/StateRoleEnum' transitions: type: "array" items: $ref: '#/components/schemas/StateResourceIdentifier' StatePagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/State' StateReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/State' StateResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" StateRoleEnum: type: "string" enum: - ReviewIncludedInStatistics - Return x-annotation-package: "State" x-annotation-enumDescriptions: ReviewIncludedInStatistics: "If a [Review's](ctp:api:type:Review) `state` has this role its `rating` is taken into account for [ReviewRatingStatistics](ctp:api:type:ReviewRatingStatistics). This role only applies for the `ReviewState` [StateTypeEnum](ctp:api:type:StateTypeEnum)." Return: "Used by [Orders](ctp:api:type:Order) in the update action [transitionLineItemState](ctp:api:type:OrderTransitionLineItemStateAction). This role only applies for the `LineItemState` [StateTypeEnum](ctp:api:type:StateTypeEnum)." StateTypeEnum: type: "string" enum: - OrderState - RecurringOrderState - LineItemState - ProductState - ReviewState - PaymentState - QuoteRequestState - StagedQuoteState - QuoteState x-annotation-package: "State" x-annotation-enumDescriptions: OrderState: "Used by [Orders](ctp:api:type:Order)." RecurringOrderState: "Used by [RecurringOrders](ctp:api:type:RecurringOrder)." LineItemState: "Used by [LineItems](ctp:api:type:LineItem) and [CustomLineItems](ctp:api:type:CustomLineItem) in [Carts](ctp:api:type:Cart) and [Orders](ctp:api:type:Order), with the `builtin` field always set to `true` by default. In addition, the `initial` field is set to `true` upon creation." ProductState: "Used by [Products](ctp:api:type:Product)." ReviewState: "Used by [Reviews](ctp:api:type:Review)." PaymentState: "Used by [PaymentStatus](ctp:api:type:PaymentStatus) in [Payments](ctp:api:type:Payment)." QuoteRequestState: "Used by [QuoteRequest](ctp:api:type:QuoteRequest)." StagedQuoteState: "Used by [StagedQuote](ctp:api:type:StagedQuote)." QuoteState: "Used by [Quote](ctp:api:type:Quote)." StateUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/StateUpdateAction' StateUpdateAction: type: "object" discriminator: propertyName: action mapping: addRoles: '#/components/schemas/StateAddRolesAction' changeInitial: '#/components/schemas/StateChangeInitialAction' changeKey: '#/components/schemas/StateChangeKeyAction' changeType: '#/components/schemas/StateChangeTypeAction' removeRoles: '#/components/schemas/StateRemoveRolesAction' setDescription: '#/components/schemas/StateSetDescriptionAction' setName: '#/components/schemas/StateSetNameAction' setRoles: '#/components/schemas/StateSetRolesAction' setTransitions: '#/components/schemas/StateSetTransitionsAction' required: - action properties: action: type: "string" StateAddRolesAction: allOf: - $ref: '#/components/schemas/StateUpdateAction' - type: "object" required: - roles properties: action: type: "string" roles: type: "array" items: $ref: '#/components/schemas/StateRoleEnum' StateChangeInitialAction: allOf: - $ref: '#/components/schemas/StateUpdateAction' - type: "object" required: - initial properties: action: type: "string" initial: type: "boolean" StateChangeKeyAction: allOf: - $ref: '#/components/schemas/StateUpdateAction' - type: "object" required: - key properties: action: type: "string" key: type: "string" StateChangeTypeAction: allOf: - $ref: '#/components/schemas/StateUpdateAction' - type: "object" required: - type properties: action: type: "string" type: $ref: '#/components/schemas/StateTypeEnum' StateRemoveRolesAction: allOf: - $ref: '#/components/schemas/StateUpdateAction' - type: "object" required: - roles properties: action: type: "string" roles: type: "array" items: $ref: '#/components/schemas/StateRoleEnum' StateSetDescriptionAction: allOf: - $ref: '#/components/schemas/StateUpdateAction' - type: "object" required: - description properties: action: type: "string" description: $ref: '#/components/schemas/LocalizedString' StateSetNameAction: allOf: - $ref: '#/components/schemas/StateUpdateAction' - type: "object" required: - name properties: action: type: "string" name: $ref: '#/components/schemas/LocalizedString' StateSetRolesAction: allOf: - $ref: '#/components/schemas/StateUpdateAction' - type: "object" required: - roles properties: action: type: "string" roles: type: "array" items: $ref: '#/components/schemas/StateRoleEnum' StateSetTransitionsAction: allOf: - $ref: '#/components/schemas/StateUpdateAction' - type: "object" properties: action: type: "string" transitions: type: "array" items: $ref: '#/components/schemas/StateResourceIdentifier' ProductSelectionSetting: type: "object" required: - active - productSelection properties: productSelection: $ref: '#/components/schemas/ProductSelectionReference' active: type: "boolean" ProductSelectionSettingDraft: type: "object" required: - productSelection properties: productSelection: $ref: '#/components/schemas/ProductSelectionResourceIdentifier' active: type: "boolean" Store: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - countries - createdAt - distributionChannels - id - key - languages - lastModifiedAt - productSelections - supplyChannels - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' key: type: "string" name: $ref: '#/components/schemas/LocalizedString' languages: type: "array" items: $ref: '#/components/schemas/Locale' countries: type: "array" items: $ref: '#/components/schemas/StoreCountry' distributionChannels: type: "array" items: $ref: '#/components/schemas/ChannelReference' supplyChannels: type: "array" items: $ref: '#/components/schemas/ChannelReference' productSelections: type: "array" items: $ref: '#/components/schemas/ProductSelectionSetting' custom: $ref: '#/components/schemas/CustomFields' storefront: $ref: '#/components/schemas/Storefront' StoreCountry: type: "object" required: - code properties: code: $ref: '#/components/schemas/CountryCode' StoreDraft: type: "object" required: - key properties: key: type: "string" name: $ref: '#/components/schemas/LocalizedString' languages: type: "array" items: $ref: '#/components/schemas/Locale' countries: type: "array" items: $ref: '#/components/schemas/StoreCountry' distributionChannels: type: "array" items: $ref: '#/components/schemas/ChannelResourceIdentifier' supplyChannels: type: "array" items: $ref: '#/components/schemas/ChannelResourceIdentifier' productSelections: type: "array" items: $ref: '#/components/schemas/ProductSelectionSettingDraft' custom: $ref: '#/components/schemas/CustomFieldsDraft' storefront: $ref: '#/components/schemas/Storefront' StoreKeyReference: allOf: - $ref: '#/components/schemas/KeyReference' - type: "object" required: - key - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' key: type: "string" StorePagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/Store' StoreReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/Store' StoreResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" StoreUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/StoreUpdateAction' StoreUpdateAction: type: "object" discriminator: propertyName: action mapping: addCountry: '#/components/schemas/StoreAddCountryAction' addDistributionChannel: '#/components/schemas/StoreAddDistributionChannelAction' addProductSelection: '#/components/schemas/StoreAddProductSelectionAction' addSupplyChannel: '#/components/schemas/StoreAddSupplyChannelAction' changeProductSelectionActive: '#/components/schemas/StoreChangeProductSelectionAction' removeCountry: '#/components/schemas/StoreRemoveCountryAction' removeDistributionChannel: '#/components/schemas/StoreRemoveDistributionChannelAction' removeProductSelection: '#/components/schemas/StoreRemoveProductSelectionAction' removeSupplyChannel: '#/components/schemas/StoreRemoveSupplyChannelAction' setCheckoutUrlTemplate: '#/components/schemas/StoreSetCheckoutUrlTemplateAction' setContactUrl: '#/components/schemas/StoreSetContactUrlAction' setCookiePolicyUrl: '#/components/schemas/StoreSetCookiePolicyUrlAction' setCountries: '#/components/schemas/StoreSetCountriesAction' setCustomField: '#/components/schemas/StoreSetCustomFieldAction' setCustomType: '#/components/schemas/StoreSetCustomTypeAction' setDistributionChannels: '#/components/schemas/StoreSetDistributionChannelsAction' setFaqUrl: '#/components/schemas/StoreSetFaqUrlAction' setImprintUrl: '#/components/schemas/StoreSetImprintUrlAction' setLanguages: '#/components/schemas/StoreSetLanguagesAction' setName: '#/components/schemas/StoreSetNameAction' setOrderUrlTemplate: '#/components/schemas/StoreSetOrderUrlTemplateAction' setPrivacyPolicyUrl: '#/components/schemas/StoreSetPrivacyPolicyUrlAction' setProductSelections: '#/components/schemas/StoreSetProductSelectionsAction' setRefundPolicyUrl: '#/components/schemas/StoreSetRefundPolicyUrlAction' setShippingPolicyUrl: '#/components/schemas/StoreSetShippingPolicyUrlAction' setSupplyChannels: '#/components/schemas/StoreSetSupplyChannelsAction' setTermsOfServiceUrl: '#/components/schemas/StoreSetTermsOfServiceUrlAction' required: - action properties: action: type: "string" Storefront: type: "object" properties: checkoutUrlTemplate: type: "string" orderUrlTemplate: type: "string" termsOfServiceUrl: type: "string" privacyPolicyUrl: type: "string" refundPolicyUrl: type: "string" shippingPolicyUrl: type: "string" cookiePolicyUrl: type: "string" imprintUrl: type: "string" faqUrl: type: "string" contactUrl: type: "string" StoreAddCountryAction: allOf: - $ref: '#/components/schemas/StoreUpdateAction' - type: "object" required: - country properties: action: type: "string" country: $ref: '#/components/schemas/StoreCountry' StoreAddDistributionChannelAction: allOf: - $ref: '#/components/schemas/StoreUpdateAction' - type: "object" required: - distributionChannel properties: action: type: "string" distributionChannel: $ref: '#/components/schemas/ChannelResourceIdentifier' StoreAddProductSelectionAction: allOf: - $ref: '#/components/schemas/StoreUpdateAction' - type: "object" required: - productSelection properties: action: type: "string" productSelection: $ref: '#/components/schemas/ProductSelectionResourceIdentifier' active: type: "boolean" StoreAddSupplyChannelAction: allOf: - $ref: '#/components/schemas/StoreUpdateAction' - type: "object" required: - supplyChannel properties: action: type: "string" supplyChannel: $ref: '#/components/schemas/ChannelResourceIdentifier' StoreChangeProductSelectionAction: allOf: - $ref: '#/components/schemas/StoreUpdateAction' - type: "object" required: - productSelection properties: action: type: "string" productSelection: $ref: '#/components/schemas/ProductSelectionResourceIdentifier' active: type: "boolean" StoreRemoveCountryAction: allOf: - $ref: '#/components/schemas/StoreUpdateAction' - type: "object" required: - country properties: action: type: "string" country: $ref: '#/components/schemas/StoreCountry' StoreRemoveDistributionChannelAction: allOf: - $ref: '#/components/schemas/StoreUpdateAction' - type: "object" required: - distributionChannel properties: action: type: "string" distributionChannel: $ref: '#/components/schemas/ChannelResourceIdentifier' StoreRemoveProductSelectionAction: allOf: - $ref: '#/components/schemas/StoreUpdateAction' - type: "object" required: - productSelection properties: action: type: "string" productSelection: $ref: '#/components/schemas/ProductSelectionResourceIdentifier' StoreRemoveSupplyChannelAction: allOf: - $ref: '#/components/schemas/StoreUpdateAction' - type: "object" required: - supplyChannel properties: action: type: "string" supplyChannel: $ref: '#/components/schemas/ChannelResourceIdentifier' StoreSetCheckoutUrlTemplateAction: allOf: - $ref: '#/components/schemas/StoreUpdateAction' - type: "object" properties: action: type: "string" checkoutUrlTemplate: type: "string" StoreSetContactUrlAction: allOf: - $ref: '#/components/schemas/StoreUpdateAction' - type: "object" properties: action: type: "string" contactUrl: type: "string" StoreSetCookiePolicyUrlAction: allOf: - $ref: '#/components/schemas/StoreUpdateAction' - type: "object" properties: action: type: "string" cookiePolicyUrl: type: "string" StoreSetCountriesAction: allOf: - $ref: '#/components/schemas/StoreUpdateAction' - type: "object" properties: action: type: "string" countries: type: "array" items: $ref: '#/components/schemas/StoreCountry' StoreSetCustomFieldAction: allOf: - $ref: '#/components/schemas/StoreUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} StoreSetCustomTypeAction: allOf: - $ref: '#/components/schemas/StoreUpdateAction' - type: "object" properties: action: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' StoreSetDistributionChannelsAction: allOf: - $ref: '#/components/schemas/StoreUpdateAction' - type: "object" properties: action: type: "string" distributionChannels: type: "array" items: $ref: '#/components/schemas/ChannelResourceIdentifier' StoreSetFaqUrlAction: allOf: - $ref: '#/components/schemas/StoreUpdateAction' - type: "object" properties: action: type: "string" faqUrl: type: "string" StoreSetImprintUrlAction: allOf: - $ref: '#/components/schemas/StoreUpdateAction' - type: "object" properties: action: type: "string" imprintUrl: type: "string" StoreSetLanguagesAction: allOf: - $ref: '#/components/schemas/StoreUpdateAction' - type: "object" properties: action: type: "string" languages: type: "array" items: $ref: '#/components/schemas/Locale' StoreSetNameAction: allOf: - $ref: '#/components/schemas/StoreUpdateAction' - type: "object" properties: action: type: "string" name: $ref: '#/components/schemas/LocalizedString' StoreSetOrderUrlTemplateAction: allOf: - $ref: '#/components/schemas/StoreUpdateAction' - type: "object" properties: action: type: "string" orderUrlTemplate: type: "string" StoreSetPrivacyPolicyUrlAction: allOf: - $ref: '#/components/schemas/StoreUpdateAction' - type: "object" properties: action: type: "string" privacyPolicyUrl: type: "string" StoreSetProductSelectionsAction: allOf: - $ref: '#/components/schemas/StoreUpdateAction' - type: "object" properties: action: type: "string" productSelections: type: "array" items: $ref: '#/components/schemas/ProductSelectionSettingDraft' StoreSetRefundPolicyUrlAction: allOf: - $ref: '#/components/schemas/StoreUpdateAction' - type: "object" properties: action: type: "string" refundPolicyUrl: type: "string" StoreSetShippingPolicyUrlAction: allOf: - $ref: '#/components/schemas/StoreUpdateAction' - type: "object" properties: action: type: "string" shippingPolicyUrl: type: "string" StoreSetSupplyChannelsAction: allOf: - $ref: '#/components/schemas/StoreUpdateAction' - type: "object" properties: action: type: "string" supplyChannels: type: "array" items: $ref: '#/components/schemas/ChannelResourceIdentifier' StoreSetTermsOfServiceUrlAction: allOf: - $ref: '#/components/schemas/StoreUpdateAction' - type: "object" properties: action: type: "string" termsOfServiceUrl: type: "string" AwsAuthenticationMode: type: "string" enum: - Credentials - IAM x-annotation-package: "Subscription" x-annotation-enumDescriptions: Credentials: "Subscriptions with `Credentials` authentication mode are authenticated using an `accessKey` and `accessSecret` pair. This is the default authentication mode for backwards compatibility.n" IAM: "Subscriptions with `IAM` authentication mode are authenticated using Identity and Access Management (IAM). For this authentication mode, the following user requires permissions to send notifications to the queue or publish to the topic: `arn:aws:iam::362576667341:user/subscriptions`. This is the recommended authentication mode, as it doesn't require additional key management.n" AzureEventGridDestination: allOf: - $ref: '#/components/schemas/Destination' - type: "object" required: - accessKey - uri properties: type: type: "string" uri: type: "string" accessKey: type: "string" AzureServiceBusDestination: allOf: - $ref: '#/components/schemas/Destination' - type: "object" required: - connectionString properties: type: type: "string" connectionString: type: "string" ChangeSubscription: type: "object" required: - resourceTypeId properties: resourceTypeId: $ref: '#/components/schemas/ChangeSubscriptionResourceTypeId' ChangeSubscriptionResourceTypeId: type: "string" enum: - approval-flow - approval-rule - associate-role - attribute-group - business-unit - cart - cart-discount - category - channel - customer - customer-email-token - customer-group - customer-password-token - discount-code - discount-group - extension - inventory-entry - key-value-document - order - order-edit - payment - product - product-discount - product-selection - product-tailoring - product-type - quote - quote-request - recurrence-policy - recurring-order - review - shipping-method - shopping-list - staged-quote - standalone-price - state - store - subscription - tax-category - type - variant - zone x-annotation-package: "Subscription" x-annotation-enumDescriptions: approval-flow: "Changes related to [ApprovalFlows](ctp:api:type:ApprovalFlow). Only available for [B2B](/offering/commerce-b2b)-enabled Projects.n" approval-rule: "Changes related to [ApprovalRules](ctp:api:type:ApprovalRule). Only available for [B2B](/offering/commerce-b2b)-enabled Projects.n" associate-role: "Changes related to [AssociateRoles](ctp:api:type:AssociateRole). Only available for [B2B](/offering/commerce-b2b)-enabled Projects.n" attribute-group: "Changes related to [AttributeGroups](ctp:api:type:AttributeGroup).n" business-unit: "Changes to [BusinessUnits](ctp:api:type:BusinessUnit). Only available for [B2B](/offering/commerce-b2b)-enabled Projects.n" cart: "Changes to [Carts](ctp:api:type:Cart). Only notification of creation is supported.n" cart-discount: "Changes to [CartDiscounts](ctp:api:type:CartDiscount).n" category: "Changes to [Categories](ctp:api:type:Category).n" channel: "Changes to [Channels](ctp:api:type:Channel).n" customer: "Changes to [Customers](ctp:api:type:Customer).n" customer-email-token: "Changes to [CustomerTokens](ctp:api:type:CustomerToken).n" customer-group: "Changes to [CustomerGroups](ctp:api:type:CustomerGroup).n" customer-password-token: "Changes to [CustomerTokens](ctp:api:type:CustomerToken).n" discount-code: "Changes to [DiscountCodes](ctp:api:type:DiscountCode).n" discount-group: "Changes to [DiscountGroups](ctp:api:type:DiscountGroup).n" extension: "Changes to [Extensions](ctp:api:type:Extension).n" inventory-entry: "Changes to [InventoryEntries](ctp:api:type:InventoryEntry).n" key-value-document: "Changes to [CustomObjects](ctp:api:type:CustomObject).n" order: "Changes to [Orders](ctp:api:type:Order). Modifying Orders via [Order Edits](/api/projects/order-edits) does not trigger a notification. To achieve this, a [MessageSubscription](ctp:api:type:MessageSubscription) to the [OrderEditApplied](ctp:api:type:OrderEditAppliedMessage) Message is necessary.n" order-edit: "Changes to [OrderEdits](ctp:api:type:OrderEdit).n" payment: "Changes to [Payments](ctp:api:type:Payment).n" product: "Changes to [Products](ctp:api:type:Product).n" product-discount: "Changes to [ProductDiscount](ctp:api:type:ProductDiscount).n" product-selection: "Changes to [ProductSelections](ctp:api:type:ProductSelection).n" product-tailoring: "Changes to [ProductTailorings](ctp:api:type:ProductTailoring).n" product-type: "Changes to [ProductTypes](ctp:api:type:ProductType).n" quote: "Changes to [Quotes](ctp:api:type:Quote).n" quote-request: "Changes to [QuoteRequests](ctp:api:type:QuoteRequest).n" review: "Changes to [Reviews](ctp:api:type:Review).n" recurrence-policy: "Changes to [RecurrencePolicies](ctp:api:type:RecurrencePolicy).n" recurring-order: "Changes to [RecurringOrders](ctp:api:type:RecurringOrder).n" shipping-method: "Changes to [ShippingMethods](ctp:api:type:ShippingMethod).n" shopping-list: "Changes to [ShoppingLists](ctp:api:type:ShoppingList).n" staged-quote: "Changes to [StagedQuotes](ctp:api:type:StagedQuote).n" standalone-price: "Changes to [StandalonePrices](ctp:api:type:StandalonePrice).n" state: "Changes to [States](ctp:api:type:State).n" store: "Changes to [Stores](ctp:api:type:Store).n" subscription: "Changes to [Subscriptions](ctp:api:type:Subscription).n" tax-category: "Changes to [TaxCategories](ctp:api:type:TaxCategory).n" type: "Changes to [Types](ctp:api:type:Type).n" variant: "Changes to [Variants](ctp:api:type:Variant).n" zone: "Changes to [Zones](ctp:api:type:Zone).n" CloudEventsFormat: allOf: - $ref: '#/components/schemas/DeliveryFormat' - type: "object" required: - cloudEventsVersion properties: type: type: "string" cloudEventsVersion: type: "string" CloudEventsPayload: type: "object" required: - data - id - source - specversion - subject - time - type properties: specversion: type: "string" id: type: "string" type: type: "string" source: type: "string" subject: type: "string" time: type: "string" format: "datetime" sequence: type: "string" sequencetype: type: "string" dataref: type: "string" data: $ref: '#/components/schemas/DeliveryPayload' ConfluentCloudDestination: allOf: - $ref: '#/components/schemas/Destination' - type: "object" required: - acks - apiKey - apiSecret - bootstrapServer - topic properties: type: type: "string" bootstrapServer: type: "string" apiKey: type: "string" apiSecret: type: "string" acks: type: "string" topic: type: "string" key: type: "string" DeliveryFormat: type: "object" discriminator: propertyName: type mapping: CloudEvents: '#/components/schemas/CloudEventsFormat' Platform: '#/components/schemas/PlatformFormat' required: - type properties: type: type: "string" DeliveryPayload: allOf: - $ref: '#/components/schemas/SubscriptionNotification' - type: "object" required: - projectKey - resource properties: notificationType: type: "string" projectKey: type: "string" resource: $ref: '#/components/schemas/Reference' resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' Destination: type: "object" discriminator: propertyName: type mapping: EventGrid: '#/components/schemas/AzureEventGridDestination' AzureServiceBus: '#/components/schemas/AzureServiceBusDestination' ConfluentCloud: '#/components/schemas/ConfluentCloudDestination' EventBridge: '#/components/schemas/EventBridgeDestination' GoogleCloudPubSub: '#/components/schemas/GoogleCloudPubSubDestination' IronMQ: '#/components/schemas/IronMqDestination' SNS: '#/components/schemas/SnsDestination' SQS: '#/components/schemas/SqsDestination' required: - type properties: type: type: "string" EventBridgeDestination: allOf: - $ref: '#/components/schemas/Destination' - type: "object" required: - accountId - region - source properties: type: type: "string" region: type: "string" accountId: type: "string" source: type: "string" EventDeliveryPayload: allOf: - $ref: '#/components/schemas/SubscriptionNotification' - type: "object" required: - createdAt - data - id - resourceType - type properties: notificationType: type: "string" id: type: "string" type: $ref: '#/components/schemas/EventType' resourceType: type: "string" data: type: "object" createdAt: type: "string" format: "datetime" EventSubscription: type: "object" required: - resourceTypeId properties: resourceTypeId: $ref: '#/components/schemas/EventSubscriptionResourceTypeId' types: type: "array" items: $ref: '#/components/schemas/EventType' EventSubscriptionResourceTypeId: type: "string" enum: - checkout - import-api x-annotation-package: "Subscription" x-annotation-enumDescriptions: checkout: "Events related to [Checkout](/checkout).n" import-api: "Events related to the [Import API](/api/import-export/overview).n" EventType: type: "string" enum: - CheckoutOrderCreationFailed - CheckoutPaymentAuthorizationCancelled - CheckoutPaymentAuthorizationFailed - CheckoutPaymentAuthorized - CheckoutPaymentCancelAuthorizationFailed - CheckoutPaymentCharged - CheckoutPaymentChargeFailed - CheckoutPaymentRefunded - CheckoutPaymentRefundFailed - ImportContainerCreated - ImportContainerDeleted - ImportOperationRejected - ImportUnresolved - ImportValidationFailed - ImportWaitForMasterVariant x-annotation-package: "Subscription" x-annotation-enumDescriptions: CheckoutOrderCreationFailed: "Indicates a [Checkout Order Creation Failed Event](ctp:api:type:CheckoutOrderCreationFailedEvent).n" CheckoutPaymentAuthorizationCancelled: "Indicates a [Checkout Payment Authorization Cancelled Event](ctp:api:type:CheckoutPaymentAuthorizationCancelledEvent).n" CheckoutPaymentAuthorizationFailed: "Indicates a [Checkout Payment Authorization Failed Event](ctp:api:type:CheckoutPaymentAuthorizationFailedEvent).n" CheckoutPaymentAuthorized: "Indicates a [Checkout PaymentAuthorized Event](ctp:api:type:CheckoutPaymentAuthorizedEvent).n" CheckoutPaymentCancelAuthorizationFailed: "Indicates a [Checkout Payment Cancel Authorization Failed Event](ctp:api:type:CheckoutPaymentCancelAuthorizationFailedEvent).n" CheckoutPaymentCharged: "Indicates a [Checkout Payment Charged Event](ctp:api:type:CheckoutPaymentChargedEvent).n" CheckoutPaymentChargeFailed: "Indicates a [Checkout Payment Charge Failed Event](ctp:api:type:CheckoutPaymentChargeFailedEvent).n" CheckoutPaymentRefunded: "Indicates a [Checkout Payment Refunded Event](ctp:api:type:CheckoutPaymentRefundedEvent).n" CheckoutPaymentRefundFailed: "Indicates a [Checkout Payment Refund Failed Event](ctp:api:type:CheckoutPaymentRefundFailedEvent).n" ImportContainerCreated: "Indicates an [Import Container Created Event](ctp:api:type:ImportContainerCreatedEvent).n" ImportContainerDeleted: "Indicates an [Import Container Deleted Event](ctp:api:type:ImportContainerDeletedEvent).n" ImportOperationRejected: "Indicates an [Import Operation Rejected Event](ctp:api:type:ImportOperationRejectedEvent).n" ImportUnresolved: "Indicates an [Import Unresolved Event](ctp:api:type:ImportUnresolvedEvent).n" ImportValidationFailed: "Indicates an [Import Validation Failed Event](ctp:api:type:ImportValidationFailedEvent).n" ImportWaitForMasterVariant: "Indicates an [Import Wait For Master Variant Event](ctp:api:type:ImportWaitForMasterVariantEvent).n" GoogleCloudPubSubDestination: allOf: - $ref: '#/components/schemas/Destination' - type: "object" required: - projectId - topic properties: type: type: "string" projectId: type: "string" topic: type: "string" IronMqDestination: allOf: - $ref: '#/components/schemas/Destination' - type: "object" required: - uri properties: type: type: "string" uri: type: "string" MessageDeliveryPayload: allOf: - $ref: '#/components/schemas/DeliveryPayload' - type: "object" required: - createdAt - id - lastModifiedAt - resourceVersion - sequenceNumber - version properties: notificationType: type: "string" projectKey: type: "string" resource: $ref: '#/components/schemas/Reference' resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" sequenceNumber: type: "integer" format: "int64" resourceVersion: type: "integer" format: "int64" payloadNotIncluded: $ref: '#/components/schemas/PayloadNotIncluded' MessageSubscription: type: "object" required: - resourceTypeId properties: resourceTypeId: $ref: '#/components/schemas/MessageSubscriptionResourceTypeId' types: type: "array" items: type: "string" MessageSubscriptionResourceTypeId: type: "string" enum: - approval-flow - approval-rule - associate-role - business-unit - category - customer - customer-email-token - customer-group - customer-password-token - inventory-entry - order - payment - product - product-selection - product-tailoring - quote - quote-request - review - shopping-list - staged-quote - standalone-price - store - variant x-annotation-package: "Subscription" x-annotation-enumDescriptions: approval-flow: "Messages related to [ApprovalFlows](ctp:api:type:ApprovalFlow). Only available for [B2B](/offering/commerce-b2b)-enabled Projects.n" approval-rule: "Messages related to [ApprovalRules](ctp:api:type:ApprovalRule). Only available for [B2B](/offering/commerce-b2b)-enabled Projects.n" associate-role: "Messages related to [AssociateRoles](ctp:api:type:AssociateRole). Only available for [B2B](/offering/commerce-b2b)-enabled Projects.n" business-unit: "Messages related to [BusinessUnits](ctp:api:type:BusinessUnit). Only available for [B2B](/offering/commerce-b2b)-enabled Projects.n" category: "Messages related to [Categories](ctp:api:type:Category).n" customer: "Messages related to [Customers](ctp:api:type:Customer).n" customer-email-token: "Messages related to [CustomerTokens](ctp:api:type:CustomerToken) for email verification.n" customer-group: "Messages related to [CustomerGroups](ctp:api:type:CustomerGroup).n" customer-password-token: "Messages related to [CustomerTokens](ctp:api:type:CustomerToken) for password reset.n" inventory-entry: "Messages related to [InventoryEntries](ctp:api:type:InventoryEntry).n" order: "Messages related to [Orders](ctp:api:type:Order).n" payment: "Messages related to [Payments](ctp:api:type:Payment).n" product: "Messages related to [Products](ctp:api:type:Product).n" product-selection: "Messages related to [ProductSelections](ctp:api:type:ProductSelection).n" product-tailoring: "Messages related to [ProductTailoring](ctp:api:type:ProductTailoring).n" quote: "Messages related to [Quotes](ctp:api:type:Quote).n" quote-request: "Messages related to [Quote Requests](ctp:api:type:QuoteRequest).n" review: "Messages related to [Reviews](ctp:api:type:Review).n" shopping-list: "Messages related to [Shopping Lists](ctp:api:type:ShoppingList).n" staged-quote: "Messages related to [Staged Quotes](ctp:api:type:StagedQuote).n" standalone-price: "Messages related to [StandalonePrices](ctp:api:type:StandalonePrice).n" store: "Messages related to [Stores](ctp:api:type:Store).n" variant: "Messages related to [Variants](ctp:api:type:Variant).n" PayloadNotIncluded: type: "object" required: - payloadType - reason properties: reason: type: "string" payloadType: type: "string" PlatformFormat: allOf: - $ref: '#/components/schemas/DeliveryFormat' - type: "object" properties: type: type: "string" ResourceCreatedDeliveryPayload: allOf: - $ref: '#/components/schemas/DeliveryPayload' - type: "object" required: - modifiedAt - version properties: notificationType: type: "string" projectKey: type: "string" resource: $ref: '#/components/schemas/Reference' resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' version: type: "integer" format: "int64" modifiedAt: type: "string" format: "datetime" ResourceDeletedDeliveryPayload: allOf: - $ref: '#/components/schemas/DeliveryPayload' - type: "object" required: - modifiedAt - version properties: notificationType: type: "string" projectKey: type: "string" resource: $ref: '#/components/schemas/Reference' resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' version: type: "integer" format: "int64" modifiedAt: type: "string" format: "datetime" dataErasure: type: "boolean" ResourceUpdatedDeliveryPayload: allOf: - $ref: '#/components/schemas/DeliveryPayload' - type: "object" required: - modifiedAt - oldVersion - version properties: notificationType: type: "string" projectKey: type: "string" resource: $ref: '#/components/schemas/Reference' resourceUserProvidedIdentifiers: $ref: '#/components/schemas/UserProvidedIdentifiers' version: type: "integer" format: "int64" oldVersion: type: "integer" format: "int64" modifiedAt: type: "string" format: "datetime" SnsDestination: allOf: - $ref: '#/components/schemas/Destination' - type: "object" required: - topicArn properties: type: type: "string" accessKey: type: "string" accessSecret: type: "string" topicArn: type: "string" authenticationMode: $ref: '#/components/schemas/AwsAuthenticationMode' SqsDestination: allOf: - $ref: '#/components/schemas/Destination' - type: "object" required: - queueUrl - region properties: type: type: "string" accessKey: type: "string" accessSecret: type: "string" queueUrl: type: "string" region: type: "string" authenticationMode: $ref: '#/components/schemas/AwsAuthenticationMode' Subscription: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - changes - createdAt - destination - events - format - id - lastModifiedAt - messages - status - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' destination: $ref: '#/components/schemas/Destination' key: type: "string" messages: type: "array" items: $ref: '#/components/schemas/MessageSubscription' changes: type: "array" items: $ref: '#/components/schemas/ChangeSubscription' events: type: "array" items: $ref: '#/components/schemas/EventSubscription' format: $ref: '#/components/schemas/DeliveryFormat' status: $ref: '#/components/schemas/SubscriptionHealthStatus' SubscriptionDraft: type: "object" required: - destination properties: destination: $ref: '#/components/schemas/Destination' key: type: "string" messages: type: "array" items: $ref: '#/components/schemas/MessageSubscription' changes: type: "array" items: $ref: '#/components/schemas/ChangeSubscription' events: type: "array" items: $ref: '#/components/schemas/EventSubscription' format: $ref: '#/components/schemas/DeliveryFormat' SubscriptionHealthStatus: type: "string" enum: - Healthy - ConfigurationError - ConfigurationErrorDeliveryStopped - TemporaryError - ManuallySuspended x-annotation-package: "Subscription" x-annotation-enumDescriptions: Healthy: "Delivers notifications as expected." ConfigurationError: "Notifications cannot be delivered with the current configuration. Common causes are deleting the Destination queue, deleting access credentials, or removing necessary permissions. You can fix the configuration by re-creating the configuration on the Destination side, or by setting a new configuration with the [Change Destination](/api/projects/subscriptions#change-destination) update action. After the configuration is fixed, undelivered notifications will be delivered and the `status` will change to [Healthy](ctp:api:type:SubscriptionHealthStatus). `ConfigurationError` is automatically turned into `ConfigurationErrorDeliveryStopped` after some time. For more information, see [Delivery Guarantees](#delivery-guarantees)." ConfigurationErrorDeliveryStopped: "Does not deliver notifications with the current configuration and the delivery of the notifications is no longer attempted. After the configuration is fixed, undelivered notifications are not retained and will not be delivered. The `status` will not automatically change to [Healthy](ctp:api:type:SubscriptionHealthStatus). To return your Subscription to a [Healthy](ctp:api:type:SubscriptionHealthStatus) status, use the [Change Destination](ctp:api:type:SubscriptionChangeDestinationAction) update action or recreate the Subscription." TemporaryError: "Does not deliver notifications temporarily due to reasons other than a configuration error. For example, the Destination has a temporary outage." ManuallySuspended: "Does not deliver notifications with the current configuration and the delivery of the notifications is no longer attempted. Undelivered notifications are not retained and will not be delivered. The `status` will not automatically change to [Healthy](ctp:api:type:SubscriptionHealthStatus). To return your subscriptions to a [Healthy](ctp:api:type:SubscriptionHealthStatus) status, contact the [commercetools support team](https://support.commercetools.com/)." SubscriptionNotification: type: "object" discriminator: propertyName: notificationType mapping: Event: '#/components/schemas/EventDeliveryPayload' required: - notificationType properties: notificationType: type: "string" SubscriptionPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/Subscription' SubscriptionUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/SubscriptionUpdateAction' SubscriptionUpdateAction: type: "object" discriminator: propertyName: action mapping: changeDestination: '#/components/schemas/SubscriptionChangeDestinationAction' setChanges: '#/components/schemas/SubscriptionSetChangesAction' setEvents: '#/components/schemas/SubscriptionSetEventsAction' setKey: '#/components/schemas/SubscriptionSetKeyAction' setMessages: '#/components/schemas/SubscriptionSetMessagesAction' required: - action properties: action: type: "string" SubscriptionChangeDestinationAction: allOf: - $ref: '#/components/schemas/SubscriptionUpdateAction' - type: "object" required: - destination properties: action: type: "string" destination: $ref: '#/components/schemas/Destination' SubscriptionSetChangesAction: allOf: - $ref: '#/components/schemas/SubscriptionUpdateAction' - type: "object" properties: action: type: "string" changes: type: "array" items: $ref: '#/components/schemas/ChangeSubscription' SubscriptionSetEventsAction: allOf: - $ref: '#/components/schemas/SubscriptionUpdateAction' - type: "object" properties: action: type: "string" events: type: "array" items: $ref: '#/components/schemas/EventSubscription' SubscriptionSetKeyAction: allOf: - $ref: '#/components/schemas/SubscriptionUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" SubscriptionSetMessagesAction: allOf: - $ref: '#/components/schemas/SubscriptionUpdateAction' - type: "object" properties: action: type: "string" messages: type: "array" items: $ref: '#/components/schemas/MessageSubscription' SubRate: type: "object" required: - amount - name properties: name: type: "string" amount: type: "number" format: "double" TaxCategory: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - createdAt - id - lastModifiedAt - name - rates - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' name: type: "string" description: type: "string" rates: type: "array" items: $ref: '#/components/schemas/TaxRate' key: type: "string" TaxCategoryDraft: type: "object" required: - name properties: name: type: "string" description: type: "string" rates: type: "array" items: $ref: '#/components/schemas/TaxRateDraft' key: type: "string" TaxCategoryPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/TaxCategory' TaxCategoryReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/TaxCategory' TaxCategoryResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" TaxCategoryUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/TaxCategoryUpdateAction' TaxCategoryUpdateAction: type: "object" discriminator: propertyName: action mapping: addTaxRate: '#/components/schemas/TaxCategoryAddTaxRateAction' changeName: '#/components/schemas/TaxCategoryChangeNameAction' removeTaxRate: '#/components/schemas/TaxCategoryRemoveTaxRateAction' replaceTaxRate: '#/components/schemas/TaxCategoryReplaceTaxRateAction' setDescription: '#/components/schemas/TaxCategorySetDescriptionAction' setKey: '#/components/schemas/TaxCategorySetKeyAction' required: - action properties: action: type: "string" TaxRate: type: "object" required: - amount - country - includedInPrice - name properties: id: type: "string" key: type: "string" name: type: "string" amount: type: "number" format: "double" includedInPrice: type: "boolean" country: $ref: '#/components/schemas/CountryCode' state: type: "string" subRates: type: "array" items: $ref: '#/components/schemas/SubRate' taxRoundingTarget: $ref: '#/components/schemas/TaxRoundingTarget' TaxRateDraft: type: "object" required: - country - includedInPrice - name properties: name: type: "string" amount: type: "number" format: "double" includedInPrice: type: "boolean" country: $ref: '#/components/schemas/CountryCode' state: type: "string" subRates: type: "array" items: $ref: '#/components/schemas/SubRate' key: type: "string" taxRoundingTarget: $ref: '#/components/schemas/TaxRoundingTarget' TaxRoundingTarget: type: "string" enum: - Net - Tax x-annotation-package: "TaxCategory" x-annotation-enumDescriptions: Net: "`taxRoundingMode` is applied to the net price and the tax amount is the exact remainder.nnFor example, with a rate of 20% included in a gross price of 1.23 and `taxRoundingMode: HalfEven`, the net price rounds to 1.02 and the tax amount is 0.21.nnThis is the default value for a new Tax Rate.n" Tax: "`taxRoundingMode` is applied to the tax amount and the net price is the exact remainder.nnFor example, with a rate of 20% included in a gross price of 1.23 and `taxRoundingMode: HalfEven`, the tax amount rounds to 0.20 and the net price is 1.03.n" TaxCategoryAddTaxRateAction: allOf: - $ref: '#/components/schemas/TaxCategoryUpdateAction' - type: "object" required: - taxRate properties: action: type: "string" taxRate: $ref: '#/components/schemas/TaxRateDraft' TaxCategoryChangeNameAction: allOf: - $ref: '#/components/schemas/TaxCategoryUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" TaxCategoryRemoveTaxRateAction: allOf: - $ref: '#/components/schemas/TaxCategoryUpdateAction' - type: "object" properties: action: type: "string" taxRateId: type: "string" taxRateKey: type: "string" TaxCategoryReplaceTaxRateAction: allOf: - $ref: '#/components/schemas/TaxCategoryUpdateAction' - type: "object" required: - taxRate properties: action: type: "string" taxRateId: type: "string" taxRateKey: type: "string" taxRate: $ref: '#/components/schemas/TaxRateDraft' TaxCategorySetDescriptionAction: allOf: - $ref: '#/components/schemas/TaxCategoryUpdateAction' - type: "object" properties: action: type: "string" description: type: "string" TaxCategorySetKeyAction: allOf: - $ref: '#/components/schemas/TaxCategoryUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" CustomFieldBooleanType: allOf: - $ref: '#/components/schemas/FieldType' - type: "object" properties: name: type: "string" CustomFieldDateTimeType: allOf: - $ref: '#/components/schemas/FieldType' - type: "object" properties: name: type: "string" CustomFieldDateType: allOf: - $ref: '#/components/schemas/FieldType' - type: "object" properties: name: type: "string" CustomFieldEnumType: allOf: - $ref: '#/components/schemas/FieldType' - type: "object" required: - values properties: name: type: "string" values: type: "array" items: $ref: '#/components/schemas/CustomFieldEnumValue' CustomFieldEnumValue: type: "object" required: - key - label properties: key: type: "string" label: type: "string" CustomFieldLocalizedEnumType: allOf: - $ref: '#/components/schemas/FieldType' - type: "object" required: - values properties: name: type: "string" values: type: "array" items: $ref: '#/components/schemas/CustomFieldLocalizedEnumValue' CustomFieldLocalizedEnumValue: type: "object" required: - key - label properties: key: type: "string" label: $ref: '#/components/schemas/LocalizedString' CustomFieldLocalizedStringType: allOf: - $ref: '#/components/schemas/FieldType' - type: "object" properties: name: type: "string" CustomFieldMoneyType: allOf: - $ref: '#/components/schemas/FieldType' - type: "object" properties: name: type: "string" CustomFieldNumberType: allOf: - $ref: '#/components/schemas/FieldType' - type: "object" properties: name: type: "string" CustomFieldReferenceType: allOf: - $ref: '#/components/schemas/FieldType' - type: "object" required: - referenceTypeId properties: name: type: "string" referenceTypeId: $ref: '#/components/schemas/CustomFieldReferenceValue' CustomFieldReferenceValue: type: "string" enum: - approval-flow - approval-rule - associate-role - business-unit - cart - cart-discount - category - channel - customer - customer-group - key-value-document - order - product - product-type - review - state - shipping-method - variant - zone x-annotation-package: "Type" x-annotation-enumDescriptions: approval-flow: "[ApprovalFlow](ctp:api:type:ApprovalFlow) - Only available for [B2B](/offering/commerce-b2b)-enabled Projects.n" approval-rule: "[ApprovalRule](ctp:api:type:ApprovalRule) - Only available for [B2B](/offering/commerce-b2b)-enabled Projects.n" associate-role: "[AssociateRole](ctp:api:type:AssociateRole) - Only available for [B2B](/offering/commerce-b2b)-enabled Projects.n" business-unit: "[BusinessUnit](ctp:api:type:BusinessUnit) - Only available for [B2B](/offering/commerce-b2b)-enabled Projects.n" cart: "[Cart](ctp:api:type:Cart)n" cart-discount: "[CartDiscount](ctp:api:type:CartDiscount)n" category: "[Category](ctp:api:type:Category)n" channel: "[Channel](ctp:api:type:Channel)n" customer: "[Customer](ctp:api:type:Customer)n" customer-group: "[CustomerGroup](ctp:api:type:CustomerGroup)n" key-value-document: "[CustomObject](ctp:api:type:CustomObject)n" order: "[Order](ctp:api:type:Order)n" product: "[Product](ctp:api:type:Product)n" product-type: "[ProductType](ctp:api:type:ProductType)n" review: "[Review](ctp:api:type:Review)n" state: "[State](ctp:api:type:State)n" shipping-method: "[ShippingMethod](ctp:api:type:ShippingMethod)n" variant: "[Variant](ctp:api:type:Variant) - Only available for Projects with `productCatalogModel` set to `Modular` ([BETA](/offering/compatibility#public-beta)).n" zone: "[Zone](ctp:api:type:Zone)n" CustomFieldSetType: allOf: - $ref: '#/components/schemas/FieldType' - type: "object" required: - elementType properties: name: type: "string" elementType: $ref: '#/components/schemas/FieldType' CustomFieldStringType: allOf: - $ref: '#/components/schemas/FieldType' - type: "object" properties: name: type: "string" CustomFieldTimeType: allOf: - $ref: '#/components/schemas/FieldType' - type: "object" properties: name: type: "string" CustomFieldValue: {} CustomFields: type: "object" required: - fields - type properties: type: $ref: '#/components/schemas/TypeReference' fields: $ref: '#/components/schemas/FieldContainer' CustomFieldsDraft: type: "object" required: - type properties: type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' FieldContainer: type: "object" required: - /^[a-zA-Z0-9_-]{2,36}$/ additionalProperties: type: "string" FieldDefinition: type: "object" required: - label - name - required - type properties: type: $ref: '#/components/schemas/FieldType' name: type: "string" label: $ref: '#/components/schemas/LocalizedString' required: type: "boolean" inputHint: $ref: '#/components/schemas/TypeTextInputHint' FieldType: type: "object" discriminator: propertyName: name mapping: Boolean: '#/components/schemas/CustomFieldBooleanType' DateTime: '#/components/schemas/CustomFieldDateTimeType' Date: '#/components/schemas/CustomFieldDateType' Enum: '#/components/schemas/CustomFieldEnumType' LocalizedEnum: '#/components/schemas/CustomFieldLocalizedEnumType' LocalizedString: '#/components/schemas/CustomFieldLocalizedStringType' Money: '#/components/schemas/CustomFieldMoneyType' Number: '#/components/schemas/CustomFieldNumberType' Reference: '#/components/schemas/CustomFieldReferenceType' Set: '#/components/schemas/CustomFieldSetType' String: '#/components/schemas/CustomFieldStringType' Time: '#/components/schemas/CustomFieldTimeType' required: - name properties: name: type: "string" ResourceTypeId: type: "string" enum: - address - asset - approval-flow - approval-rule - associate-role - business-unit - cart-discount - category - channel - customer - customer-group - custom-line-item - discount-code - inventory-entry - line-item - order - order-edit - order-delivery - order-parcel - order-return-item - payment - payment-interface-interaction - payment-method - payment-method-info - product-price - product-selection - product-tailoring - quote - reservation - review - recurring-order - shipping - shipping-method - shopping-list - shopping-list-text-line-item - standalone-price - store - transaction x-annotation-package: "Type" x-annotation-enumDescriptions: address: "[Address](ctp:api:type:Address) on [BusinessUnit](ctp:api:type:BusinessUnit), [Cart](ctp:api:type:Cart), [Order](ctp:api:type:Order), [OrderEdit](ctp:api:type:OrderEdit), [Customer](ctp:api:type:Customer), and [Channel](ctp:api:type:Channel)n" asset: "[Asset](ctp:api:type:Asset) on [Category](ctp:api:type:Category) and [ProductVariant](ctp:api:type:ProductVariant)n" approval-flow: "[ApprovalFlow](ctp:api:type:ApprovalFlow) - Only available for [B2B](/offering/commerce-b2b)-enabled Projects.n" approval-rule: "[ApprovalRule](ctp:api:type:ApprovalRule) - Only available for [B2B](/offering/commerce-b2b)-enabled Projects.n" associate-role: "[AssociateRole](ctp:api:type:AssociateRole) - Only available for [B2B](/offering/commerce-b2b)-enabled Projects.n" business-unit: "[BusinessUnit](ctp:api:type:BusinessUnit) - Only available for [B2B](/offering/commerce-b2b)-enabled Projects.n" cart-discount: "[CartDiscount](ctp:api:type:CartDiscount)n" category: "[Category](ctp:api:type:Category)n" channel: "[Channel](ctp:api:type:Channel)n" custom-line-item: "[CustomLineItem](ctp:api:type:CustomLineItem) on [Cart](ctp:api:type:Cart) and [Order](ctp:api:type:Order)n" customer: "[Customer](ctp:api:type:Customer)n" customer-group: "[CustomerGroup](ctp:api:type:CustomerGroup)n" discount-code: "[DiscountCode](ctp:api:type:DiscountCode)n" inventory-entry: "[InventoryEntry](ctp:api:type:InventoryEntry)n" line-item: "[LineItem](ctp:api:type:LineItem) on [Cart](ctp:api:type:Cart) and [Order](ctp:api:type:Order), and [LineItem](ctp:api:type:LineItem) on [ShoppingList](ctp:api:type:ShoppingList)n" order: "[Cart](ctp:api:type:Cart) and [Order](ctp:api:type:Order).nWhen a [Cart](ctp:api:type:Cart) is ordered, the [CustomFields](ctp:api:type:CustomFields) need to be copied to the [Order](ctp:api:type:Order).nFor this reason, the Types for Carts are also valid for Orders, and hence both have the same identifier: `order`.n" order-edit: "[OrderEdit](ctp:api:type:OrderEdit)n" order-delivery: "[Delivery](ctp:api:type:Delivery)n" order-parcel: "[Parcel](ctp:api:type:Parcel)n" order-return-item: "[ReturnItem](ctp:api:type:ReturnItem)n" payment: "[Payment](ctp:api:type:Payment)n" payment-interface-interaction: "[InterfaceInteraction](ctp:api:type:PaymentAddInterfaceInteractionAction) on [Payment](ctp:api:type:Payment)n" payment-method: "[PaymentMethod](ctp:api:type:PaymentMethod)n" payment-method-info: "[PaymentMethodInfo](ctp:api:type:PaymentMethodInfo) on [Payment](ctp:api:type:Payment)n" product-price: "[Embedded Price](ctp:api:type:Price) on [ProductVariant](ctp:api:type:ProductVariant)n" product-selection: "[ProductSelection](ctp:api:type:ProductSelection)n" product-tailoring: "[ProductTailoring](ctp:api:type:ProductTailoring)n" quote: "[Quote](ctp:api:type:Quote), [QuoteRequest](ctp:api:type:QuoteRequest) and [StagedQuote](ctp:api:type:StagedQuote).nWhen a [StagedQuote](ctp:api:type:StagedQuote) is created, the [CustomFields](ctp:api:type:CustomFields) will be copied from the [QuoteRequest](ctp:api:type:QuoteRequest) and when a [Quote](ctp:api:type:Quote) is created, the [CustomFields](ctp:api:type:CustomFields) will be copied from the [StagedQuote](ctp:api:type:StagedQuote).nFor this reason, the Types for Quotes are also valid for QuoteRequests and StagedQuotes, and hence all have the same identifier: `quote`.n" reservation: "[Reservation](ctp:api:type:Reservation)n" review: "[Review](ctp:api:type:Review)n" recurring-order: "[RecurringOrder](ctp:api:type:RecurringOrder)n" shipping: "[Shipping](ctp:api:type:Shipping)n" shipping-method: "[ShippingMethod](ctp:api:type:ShippingMethod)n" shopping-list: "[ShoppingList](ctp:api:type:ShoppingList)n" shopping-list-text-line-item: "[TextLineItem](ctp:api:type:TextLineItem) on [ShoppingList](ctp:api:type:ShoppingList)n" standalone-price: "[StandalonePrice](ctp:api:type:StandalonePrice)n" store: "[Store](ctp:api:type:Store)n" transaction: "[Transaction](ctp:api:type:Transaction) on [Payment](ctp:api:type:Payment)n" Type: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - createdAt - fieldDefinitions - id - key - lastModifiedAt - name - resourceTypeIds - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' key: type: "string" name: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' resourceTypeIds: type: "array" items: $ref: '#/components/schemas/ResourceTypeId' fieldDefinitions: type: "array" items: $ref: '#/components/schemas/FieldDefinition' TypeDraft: type: "object" required: - key - name - resourceTypeIds properties: key: type: "string" name: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' resourceTypeIds: type: "array" items: $ref: '#/components/schemas/ResourceTypeId' fieldDefinitions: type: "array" items: $ref: '#/components/schemas/FieldDefinition' TypePagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/Type' TypeReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/Type' TypeResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" TypeTextInputHint: type: "string" enum: - SingleLine - MultiLine x-annotation-package: "Type" x-annotation-enumDescriptions: SingleLine: "Hint for GUIs to display the field's content in a single line of text." MultiLine: "Hint for GUIs to display the field's content over multiple lines of text." TypeUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/TypeUpdateAction' TypeUpdateAction: type: "object" discriminator: propertyName: action mapping: addEnumValue: '#/components/schemas/TypeAddEnumValueAction' addFieldDefinition: '#/components/schemas/TypeAddFieldDefinitionAction' addLocalizedEnumValue: '#/components/schemas/TypeAddLocalizedEnumValueAction' changeEnumValueLabel: '#/components/schemas/TypeChangeEnumValueLabelAction' changeEnumValueOrder: '#/components/schemas/TypeChangeEnumValueOrderAction' changeFieldDefinitionLabel: '#/components/schemas/TypeChangeFieldDefinitionLabelAction' changeFieldDefinitionOrder: '#/components/schemas/TypeChangeFieldDefinitionOrderAction' changeInputHint: '#/components/schemas/TypeChangeInputHintAction' changeKey: '#/components/schemas/TypeChangeKeyAction' changeLabel: '#/components/schemas/TypeChangeLabelAction' changeLocalizedEnumValueLabel: '#/components/schemas/TypeChangeLocalizedEnumValueLabelAction' changeLocalizedEnumValueOrder: '#/components/schemas/TypeChangeLocalizedEnumValueOrderAction' changeName: '#/components/schemas/TypeChangeNameAction' removeEnumValues: '#/components/schemas/TypeRemoveEnumValuesAction' removeFieldDefinition: '#/components/schemas/TypeRemoveFieldDefinitionAction' removeLocalizedEnumValues: '#/components/schemas/TypeRemoveLocalizedEnumValuesAction' setDescription: '#/components/schemas/TypeSetDescriptionAction' required: - action properties: action: type: "string" TypeAddEnumValueAction: allOf: - $ref: '#/components/schemas/TypeUpdateAction' - type: "object" required: - fieldName - value properties: action: type: "string" fieldName: type: "string" value: $ref: '#/components/schemas/CustomFieldEnumValue' TypeAddFieldDefinitionAction: allOf: - $ref: '#/components/schemas/TypeUpdateAction' - type: "object" required: - fieldDefinition properties: action: type: "string" fieldDefinition: $ref: '#/components/schemas/FieldDefinition' TypeAddLocalizedEnumValueAction: allOf: - $ref: '#/components/schemas/TypeUpdateAction' - type: "object" required: - fieldName - value properties: action: type: "string" fieldName: type: "string" value: $ref: '#/components/schemas/CustomFieldLocalizedEnumValue' TypeChangeEnumValueLabelAction: allOf: - $ref: '#/components/schemas/TypeUpdateAction' - type: "object" required: - fieldName - value properties: action: type: "string" fieldName: type: "string" value: $ref: '#/components/schemas/CustomFieldEnumValue' TypeChangeEnumValueOrderAction: allOf: - $ref: '#/components/schemas/TypeUpdateAction' - type: "object" required: - fieldName - keys properties: action: type: "string" fieldName: type: "string" keys: type: "array" items: type: "string" TypeChangeFieldDefinitionLabelAction: allOf: - $ref: '#/components/schemas/TypeUpdateAction' - type: "object" required: - fieldName - label properties: action: type: "string" fieldName: type: "string" label: $ref: '#/components/schemas/LocalizedString' TypeChangeFieldDefinitionOrderAction: allOf: - $ref: '#/components/schemas/TypeUpdateAction' - type: "object" required: - fieldNames properties: action: type: "string" fieldNames: type: "array" items: type: "string" TypeChangeInputHintAction: allOf: - $ref: '#/components/schemas/TypeUpdateAction' - type: "object" required: - fieldName - inputHint properties: action: type: "string" fieldName: type: "string" inputHint: $ref: '#/components/schemas/TypeTextInputHint' TypeChangeKeyAction: allOf: - $ref: '#/components/schemas/TypeUpdateAction' - type: "object" required: - key properties: action: type: "string" key: type: "string" TypeChangeLabelAction: allOf: - $ref: '#/components/schemas/TypeUpdateAction' - type: "object" required: - fieldName - label properties: action: type: "string" fieldName: type: "string" label: $ref: '#/components/schemas/LocalizedString' TypeChangeLocalizedEnumValueLabelAction: allOf: - $ref: '#/components/schemas/TypeUpdateAction' - type: "object" required: - fieldName - value properties: action: type: "string" fieldName: type: "string" value: $ref: '#/components/schemas/CustomFieldLocalizedEnumValue' TypeChangeLocalizedEnumValueOrderAction: allOf: - $ref: '#/components/schemas/TypeUpdateAction' - type: "object" required: - fieldName - keys properties: action: type: "string" fieldName: type: "string" keys: type: "array" items: type: "string" TypeChangeNameAction: allOf: - $ref: '#/components/schemas/TypeUpdateAction' - type: "object" required: - name properties: action: type: "string" name: $ref: '#/components/schemas/LocalizedString' TypeRemoveEnumValuesAction: allOf: - $ref: '#/components/schemas/TypeUpdateAction' - type: "object" required: - fieldName - keys properties: action: type: "string" fieldName: type: "string" keys: type: "array" items: type: "string" TypeRemoveFieldDefinitionAction: allOf: - $ref: '#/components/schemas/TypeUpdateAction' - type: "object" required: - fieldName properties: action: type: "string" fieldName: type: "string" TypeRemoveLocalizedEnumValuesAction: allOf: - $ref: '#/components/schemas/TypeUpdateAction' - type: "object" required: - fieldName - keys properties: action: type: "string" fieldName: type: "string" keys: type: "array" items: type: "string" TypeSetDescriptionAction: allOf: - $ref: '#/components/schemas/TypeUpdateAction' - type: "object" properties: action: type: "string" description: $ref: '#/components/schemas/LocalizedString' VariantAttributes: type: "object" required: - attributes - productId - variants properties: productId: type: "string" productKey: type: "string" attributes: type: "array" items: $ref: '#/components/schemas/VariantAttributesAttributeMetadata' variants: type: "array" items: $ref: '#/components/schemas/VariantAttributesVariant' VariantAttributesAttributeMetadata: type: "object" required: - label - name - type properties: name: type: "string" label: $ref: '#/components/schemas/LocalizedString' type: type: "string" VariantAttributesAvailability: type: "object" properties: isOnStock: type: "boolean" availableQuantity: type: "integer" format: "int64" channels: $ref: '#/components/schemas/VariantAttributesChannelAvailabilityMap' VariantAttributesChannelAvailability: type: "object" properties: isOnStock: type: "boolean" availableQuantity: type: "integer" format: "int64" VariantAttributesChannelAvailabilityMap: type: "object" required: - /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/ additionalProperties: type: "string" VariantAttributesVariant: type: "object" required: - attributes - id properties: id: type: "string" sku: type: "string" key: type: "string" availability: $ref: '#/components/schemas/VariantAttributesAvailability' attributes: type: "array" items: $ref: '#/components/schemas/Attribute' Variant: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - createdAt - current - id - lastModifiedAt - product - published - variantId - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' key: type: "string" variantId: type: "integer" format: "int32" product: $ref: '#/components/schemas/ProductReference' published: type: "boolean" current: $ref: '#/components/schemas/VariantData' staged: $ref: '#/components/schemas/VariantData' warnings: type: "array" items: $ref: '#/components/schemas/WarningObject' VariantBulkUpdate: type: "object" required: - actions - items properties: items: type: "array" items: $ref: '#/components/schemas/VariantBulkUpdateItem' actions: type: "array" items: $ref: '#/components/schemas/VariantUpdateAction' VariantBulkUpdateFailResult: allOf: - $ref: '#/components/schemas/VariantBulkUpdateResult' - type: "object" required: - errors properties: id: type: "string" key: type: "string" status: type: "string" errors: type: "array" items: $ref: '#/components/schemas/ErrorObject' VariantBulkUpdateItem: type: "object" properties: id: type: "string" key: type: "string" version: type: "integer" format: "int64" VariantBulkUpdateResource: type: "object" required: - id - version properties: id: type: "string" version: type: "integer" format: "int64" VariantBulkUpdateResponse: type: "object" required: - failureCount - results - successCount properties: successCount: type: "integer" format: "int32" failureCount: type: "integer" format: "int32" results: type: "array" items: $ref: '#/components/schemas/VariantBulkUpdateResult' VariantBulkUpdateResult: type: "object" discriminator: propertyName: status mapping: Fail: '#/components/schemas/VariantBulkUpdateFailResult' Success: '#/components/schemas/VariantBulkUpdateSuccessResult' required: - status properties: id: type: "string" key: type: "string" status: type: "string" VariantBulkUpdateSuccessResult: allOf: - $ref: '#/components/schemas/VariantBulkUpdateResult' - type: "object" required: - resource properties: id: type: "string" key: type: "string" status: type: "string" resource: $ref: '#/components/schemas/VariantBulkUpdateResource' VariantData: type: "object" properties: sku: type: "string" images: type: "array" items: $ref: '#/components/schemas/Image' attributes: type: "array" items: $ref: '#/components/schemas/Attribute' assets: type: "array" items: $ref: '#/components/schemas/Asset' VariantDraft: type: "object" required: - product properties: key: type: "string" sku: type: "string" product: $ref: '#/components/schemas/ProductResourceIdentifier' publish: type: "boolean" images: type: "array" items: $ref: '#/components/schemas/Image' attributes: type: "array" items: $ref: '#/components/schemas/Attribute' assets: type: "array" items: $ref: '#/components/schemas/AssetDraft' VariantPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/Variant' VariantProjection: type: "object" required: - assets - attributes - categories - createdAt - default - id - images - name - product - slug - staged - variantId - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" staged: type: "boolean" variantId: type: "integer" format: "int32" product: $ref: '#/components/schemas/ProductReference' name: $ref: '#/components/schemas/LocalizedString' slug: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' categories: type: "array" items: $ref: '#/components/schemas/CategoryReference' categoryOrderHints: $ref: '#/components/schemas/CategoryOrderHints' key: type: "string" sku: type: "string" images: type: "array" items: $ref: '#/components/schemas/Image' assets: type: "array" items: $ref: '#/components/schemas/Asset' attributes: type: "array" items: $ref: '#/components/schemas/Attribute' price: $ref: '#/components/schemas/Price' default: type: "boolean" VariantProjectionPagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" offset: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/VariantProjection' VariantReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/Variant' VariantResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" VariantUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/VariantUpdateAction' VariantUpdateAction: type: "object" discriminator: propertyName: action mapping: addAsset: '#/components/schemas/VariantAddAssetAction' addExternalImage: '#/components/schemas/VariantAddExternalImageAction' changeAssetName: '#/components/schemas/VariantChangeAssetNameAction' changeAssetOrder: '#/components/schemas/VariantChangeAssetOrderAction' moveImageToPosition: '#/components/schemas/VariantMoveImageToPositionAction' publish: '#/components/schemas/VariantPublishAction' removeAsset: '#/components/schemas/VariantRemoveAssetAction' removeImage: '#/components/schemas/VariantRemoveImageAction' removeStagedChanges: '#/components/schemas/VariantRemoveStagedChangesAction' setAssetCustomField: '#/components/schemas/VariantSetAssetCustomFieldAction' setAssetCustomType: '#/components/schemas/VariantSetAssetCustomTypeAction' setAssetDescription: '#/components/schemas/VariantSetAssetDescriptionAction' setAssetKey: '#/components/schemas/VariantSetAssetKeyAction' setAssetSources: '#/components/schemas/VariantSetAssetSourcesAction' setAssetTags: '#/components/schemas/VariantSetAssetTagsAction' setAssets: '#/components/schemas/VariantSetAssetsAction' setAttribute: '#/components/schemas/VariantSetAttributeAction' setAttributes: '#/components/schemas/VariantSetAttributesAction' setImageLabel: '#/components/schemas/VariantSetImageLabelAction' setImages: '#/components/schemas/VariantSetImagesAction' setKey: '#/components/schemas/VariantSetKeyAction' setSku: '#/components/schemas/VariantSetSkuAction' unpublish: '#/components/schemas/VariantUnpublishAction' required: - action properties: action: type: "string" VariantAddAssetAction: allOf: - $ref: '#/components/schemas/VariantUpdateAction' - type: "object" required: - asset properties: action: type: "string" staged: type: "boolean" asset: $ref: '#/components/schemas/AssetDraft' position: type: "integer" format: "int32" VariantAddExternalImageAction: allOf: - $ref: '#/components/schemas/VariantUpdateAction' - type: "object" required: - image properties: action: type: "string" image: $ref: '#/components/schemas/Image' staged: type: "boolean" VariantChangeAssetNameAction: allOf: - $ref: '#/components/schemas/VariantUpdateAction' - type: "object" required: - name properties: action: type: "string" staged: type: "boolean" assetId: type: "string" assetKey: type: "string" name: $ref: '#/components/schemas/LocalizedString' VariantChangeAssetOrderAction: allOf: - $ref: '#/components/schemas/VariantUpdateAction' - type: "object" required: - assetOrder properties: action: type: "string" staged: type: "boolean" assetOrder: type: "array" items: type: "string" VariantMoveImageToPositionAction: allOf: - $ref: '#/components/schemas/VariantUpdateAction' - type: "object" required: - imageUrl - position properties: action: type: "string" imageUrl: type: "string" position: type: "integer" format: "int64" staged: type: "boolean" VariantPublishAction: allOf: - $ref: '#/components/schemas/VariantUpdateAction' - type: "object" properties: action: type: "string" VariantRemoveAssetAction: allOf: - $ref: '#/components/schemas/VariantUpdateAction' - type: "object" properties: action: type: "string" staged: type: "boolean" assetId: type: "string" assetKey: type: "string" VariantRemoveImageAction: allOf: - $ref: '#/components/schemas/VariantUpdateAction' - type: "object" required: - imageUrl properties: action: type: "string" imageUrl: type: "string" staged: type: "boolean" VariantRemoveStagedChangesAction: allOf: - $ref: '#/components/schemas/VariantUpdateAction' - type: "object" properties: action: type: "string" VariantSetAssetCustomFieldAction: allOf: - $ref: '#/components/schemas/VariantUpdateAction' - type: "object" required: - name properties: action: type: "string" staged: type: "boolean" assetId: type: "string" assetKey: type: "string" name: type: "string" value: {} VariantSetAssetCustomTypeAction: allOf: - $ref: '#/components/schemas/VariantUpdateAction' - type: "object" properties: action: type: "string" staged: type: "boolean" assetId: type: "string" assetKey: type: "string" type: $ref: '#/components/schemas/TypeResourceIdentifier' fields: $ref: '#/components/schemas/FieldContainer' VariantSetAssetDescriptionAction: allOf: - $ref: '#/components/schemas/VariantUpdateAction' - type: "object" properties: action: type: "string" staged: type: "boolean" assetId: type: "string" assetKey: type: "string" description: $ref: '#/components/schemas/LocalizedString' VariantSetAssetKeyAction: allOf: - $ref: '#/components/schemas/VariantUpdateAction' - type: "object" required: - assetId properties: action: type: "string" staged: type: "boolean" assetId: type: "string" assetKey: type: "string" VariantSetAssetSourcesAction: allOf: - $ref: '#/components/schemas/VariantUpdateAction' - type: "object" required: - sources properties: action: type: "string" staged: type: "boolean" assetId: type: "string" assetKey: type: "string" sources: type: "array" items: $ref: '#/components/schemas/AssetSource' VariantSetAssetTagsAction: allOf: - $ref: '#/components/schemas/VariantUpdateAction' - type: "object" properties: action: type: "string" staged: type: "boolean" assetId: type: "string" assetKey: type: "string" tags: type: "array" items: type: "string" VariantSetAssetsAction: allOf: - $ref: '#/components/schemas/VariantUpdateAction' - type: "object" required: - assets properties: action: type: "string" assets: type: "array" items: $ref: '#/components/schemas/AssetDraft' staged: type: "boolean" VariantSetAttributeAction: allOf: - $ref: '#/components/schemas/VariantUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" value: {} staged: type: "boolean" VariantSetAttributesAction: allOf: - $ref: '#/components/schemas/VariantUpdateAction' - type: "object" required: - attributes properties: action: type: "string" attributes: type: "array" items: $ref: '#/components/schemas/Attribute' staged: type: "boolean" VariantSetImageLabelAction: allOf: - $ref: '#/components/schemas/VariantUpdateAction' - type: "object" required: - imageUrl properties: action: type: "string" imageUrl: type: "string" label: type: "string" staged: type: "boolean" VariantSetImagesAction: allOf: - $ref: '#/components/schemas/VariantUpdateAction' - type: "object" required: - images properties: action: type: "string" images: type: "array" items: $ref: '#/components/schemas/Image' staged: type: "boolean" VariantSetKeyAction: allOf: - $ref: '#/components/schemas/VariantUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" VariantSetSkuAction: allOf: - $ref: '#/components/schemas/VariantUpdateAction' - type: "object" properties: action: type: "string" sku: type: "string" staged: type: "boolean" VariantUnpublishAction: allOf: - $ref: '#/components/schemas/VariantUpdateAction' - type: "object" properties: action: type: "string" CannotChangeReservationExpiryWarning: allOf: - $ref: '#/components/schemas/WarningObject' - type: "object" required: - code - lineItemId - message properties: code: type: "string" message: type: "string" lineItemId: type: "string" CannotCreateReservationWarning: allOf: - $ref: '#/components/schemas/WarningObject' - type: "object" required: - code - message - productId - quantity properties: code: type: "string" message: type: "string" productId: type: "string" sku: type: "string" supplyChannel: type: "string" quantity: type: "number" format: "double" CannotUpdateReservationWarning: allOf: - $ref: '#/components/schemas/WarningObject' - type: "object" required: - code - lineItemId - message - productId - requestedQuantity - reservedQuantity properties: code: type: "string" message: type: "string" lineItemId: type: "string" requestedQuantity: type: "number" format: "double" reservedQuantity: type: "number" format: "double" productId: type: "string" sku: type: "string" supplyChannel: type: "string" ImageProcessingOngoingWarning: allOf: - $ref: '#/components/schemas/WarningObject' - type: "object" required: - code - message properties: code: type: "string" message: type: "string" WarningObject: type: "object" discriminator: propertyName: code mapping: FileNotProcessed: '#/components/schemas/AgentFileNotProcessedWarning' ProductsNotFound: '#/components/schemas/AgentProductsNotFoundWarning' CannotChangeReservationExpiry: '#/components/schemas/CannotChangeReservationExpiryWarning' CannotCreateReservation: '#/components/schemas/CannotCreateReservationWarning' CannotUpdateReservation: '#/components/schemas/CannotUpdateReservationWarning' ImageProcessingOngoing: '#/components/schemas/ImageProcessingOngoingWarning' required: - code - message properties: code: type: "string" message: type: "string" Location: type: "object" required: - country properties: country: $ref: '#/components/schemas/CountryCode' state: type: "string" Zone: allOf: - $ref: '#/components/schemas/BaseResource' - type: "object" required: - createdAt - id - lastModifiedAt - locations - name - version properties: id: type: "string" version: type: "integer" format: "int64" createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' createdBy: $ref: '#/components/schemas/CreatedBy' key: type: "string" name: type: "string" description: type: "string" locations: type: "array" items: $ref: '#/components/schemas/Location' ZoneDraft: type: "object" required: - name properties: key: type: "string" name: type: "string" description: type: "string" locations: type: "array" items: $ref: '#/components/schemas/Location' ZonePagedQueryResponse: type: "object" required: - count - limit - offset - results properties: limit: type: "integer" format: "int64" offset: type: "integer" format: "int64" count: type: "integer" format: "int64" total: type: "integer" format: "int64" results: type: "array" items: $ref: '#/components/schemas/Zone' ZoneReference: allOf: - $ref: '#/components/schemas/Reference' - type: "object" required: - id - typeId properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" obj: $ref: '#/components/schemas/Zone' ZoneResourceIdentifier: allOf: - $ref: '#/components/schemas/ResourceIdentifier' - type: "object" properties: typeId: $ref: '#/components/schemas/ReferenceTypeId' id: type: "string" key: type: "string" ZoneUpdate: type: "object" required: - actions - version properties: version: type: "integer" format: "int64" actions: type: "array" items: $ref: '#/components/schemas/ZoneUpdateAction' ZoneUpdateAction: type: "object" discriminator: propertyName: action mapping: addLocation: '#/components/schemas/ZoneAddLocationAction' changeName: '#/components/schemas/ZoneChangeNameAction' removeLocation: '#/components/schemas/ZoneRemoveLocationAction' setDescription: '#/components/schemas/ZoneSetDescriptionAction' setKey: '#/components/schemas/ZoneSetKeyAction' required: - action properties: action: type: "string" ZoneAddLocationAction: allOf: - $ref: '#/components/schemas/ZoneUpdateAction' - type: "object" required: - location properties: action: type: "string" location: $ref: '#/components/schemas/Location' ZoneChangeNameAction: allOf: - $ref: '#/components/schemas/ZoneUpdateAction' - type: "object" required: - name properties: action: type: "string" name: type: "string" ZoneRemoveLocationAction: allOf: - $ref: '#/components/schemas/ZoneUpdateAction' - type: "object" required: - location properties: action: type: "string" location: $ref: '#/components/schemas/Location' ZoneSetDescriptionAction: allOf: - $ref: '#/components/schemas/ZoneUpdateAction' - type: "object" properties: action: type: "string" description: type: "string" ZoneSetKeyAction: allOf: - $ref: '#/components/schemas/ZoneUpdateAction' - type: "object" properties: action: type: "string" key: type: "string" responses: errorable_400: description: |- ## Bad Request A 400 is the most commonly expected error response and indicates that a request failed due to providing bad input. Bad input can be a malformed request body, missing required parameters, wrongly typed or malformed parameters or a parameter that references another resource that does not exist. Clients need to resolve the problems mentioned in the response before re-sending the request. The following general error codes can appear in responses with the HTTP status code `400`: * `InvalidInput` Invalid input has been sent to the service. The client application should validate the input according to the constraints described in the error message before sending the request. * `InvalidOperation` The resource(s) involved in the request are not in a valid state for the operation. The client application should validate the constraints described in the error message before sending the request. * `InvalidField` A field has an invalid value. Extra fields: * `field` - String The name of the field. * `invalidValue` - * The invalid value. * `allowedValues` - Array of * - Optional A fixed set of allowed values for the field, if any. * `RequiredField` A required field is missing a value. Extra fields: * `field` - String The name of the field. * `DuplicateField` A value for a field conflicts with an existing duplicate value. Extra fields: * `field` - String The name of the field. * `duplicateValue` - * The offending duplicate value. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' errorable_401: description: |- ## Unauthorized A 401 indicates that the request is not properly authenticated. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' errorable_403: description: |- ## Forbidden A 403 indicates that the authenticated client is not allowed to perform the request. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' errorable_404: description: |- ## Not Found A 404 indicates that the addressed resource was not found / does not exist. The following general error codes can appear in responses with the HTTP status code `404`: * `ResourceNotFound` The resource addressed by the request URL does not exist. content: {} errorable_500: description: |- ## Internal Server Error A 500 indicates that a request failed due to a server-side problem that needs to be resolved before subsequent requests can succeed. It either indicates a temporary unavailability or permanent server-side problem that needs to be reported and resolved. The following general error codes can appear in responses with the HTTP status code `500`: * `General` A server-side problem occurred that is not further specified. These errors [should be reported](https://support.commercetools.com/). content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' errorable_502: description: |- A 502 indicates that a request failed due to a server-side problem caused by scaling infrastructure resources. The client application should retry the request with exponential backoff up to a point where further delay is unacceptable. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' errorable_503: description: |- ## Service Unavailable The following general error codes can appear in responses with the HTTP status code `503`: * `OverCapacity` The service is having trouble handling the load. The client application should retry the request with exponential backoff up to a point where further delay is unacceptable. * `PendingOperation` A previous conflicting operation is still pending and needs to finish before the request can succeed. The client application should retry the request with exponential backoff up to a point where further delay is unacceptable. If these errors persist, [should be reported](https://support.commercetools.com/). content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' deprecatable200_200: description: |- 200 content: {} deprecatable201_201: description: |- 201 content: {} conflicting_409: description: |- ## Conflict A 409 indicates that the current version of the resource targeted by the request (with the intention to modify or delete it) is different from that provided in the request. In response to this, the client will usually want to request the newest version of the resource to see what has been changed and decide what changes to apply to the newest version. A 409 Conflict indicates a concurrent modification and usually occurs on a versioned resource, which requires the client to provide the version of the resource to perform a change. The following general error codes can appear in responses with the HTTP status code `409`: * `ConcurrentModification` The request conflicts with the current state of the involved resource(s). Typically, the request attempts to modify a resource that is out of date, i.e. that has been modified by another client since the last time it was retrieved. The client application should resolve the conflict (with or without involving the end user) before retrying the request. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse'