{
    "openapi": "3.0.2",
    "info": {
        "title": "AWS Transact Service",
        "version": "2022-07-26"
    },
    "paths": {
        "/cart/{cartId}/line-items": {
            "post": {
                "operationId": "CreateCartLineItems",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateCartLineItemsRequestContent"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "cartId",
                        "in": "path",
                        "schema": {
                            "type": "string"
                        },
                        "required": true
                    },
                    {
                        "name": "engineId",
                        "in": "header",
                        "description": "the id of the transact engine. It is expected to be null when calling capability providers",
                        "schema": {
                            "type": "string",
                            "description": "the id of the transact engine. It is expected to be null when calling capability providers"
                        },
                        "required": true
                    }
                ],
                "responses": {
                    "201": {
                        "description": "CreateCartLineItems 201 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CreateCartLineItemsResponseContent"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "ValidationException 400 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "AccessDeniedException 403 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "ResourceNotFoundException 404 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ResourceNotFoundExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "ConflictException 409 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ConflictExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "ThrottlingException 429 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "InternalServerException 500 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/carts": {
            "get": {
                "operationId": "ListCarts",
                "parameters": [
                    {
                        "name": "shopperId",
                        "in": "query",
                        "description": "shopperId used to uniquely identify a shopper for the corresponding retailer.",
                        "schema": {
                            "type": "string",
                            "pattern": "^[A-Za-z0-9_-]+$",
                            "description": "shopperId used to uniquely identify a shopper for the corresponding retailer."
                        }
                    },
                    {
                        "name": "sessionId",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "nextToken",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "maxResults",
                        "in": "query",
                        "schema": {
                            "type": "number",
                            "maximum": 100,
                            "minimum": 1
                        }
                    },
                    {
                        "name": "engineId",
                        "in": "header",
                        "description": "the id of the transact engine. It is expected to be null when calling capability providers",
                        "schema": {
                            "type": "string",
                            "description": "the id of the transact engine. It is expected to be null when calling capability providers"
                        },
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "ListCarts 200 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ListCartsResponseContent"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "ValidationException 400 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "AccessDeniedException 403 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "ThrottlingException 429 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "InternalServerException 500 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "operationId": "CreateCart",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateCartRequestContent"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "engineId",
                        "in": "header",
                        "description": "the id of the transact engine. It is expected to be null when calling capability providers",
                        "schema": {
                            "type": "string",
                            "description": "the id of the transact engine. It is expected to be null when calling capability providers"
                        },
                        "required": true
                    }
                ],
                "responses": {
                    "201": {
                        "description": "CreateCart 201 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CreateCartResponseContent"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "ValidationException 400 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "AccessDeniedException 403 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "ConflictException 409 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ConflictExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "ThrottlingException 429 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "InternalServerException 500 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/carts/{cartId}": {
            "delete": {
                "operationId": "DeleteCart",
                "parameters": [
                    {
                        "name": "cartId",
                        "in": "path",
                        "schema": {
                            "type": "string"
                        },
                        "required": true
                    },
                    {
                        "name": "engineId",
                        "in": "header",
                        "description": "the id of the transact engine. It is expected to be null when calling capability providers",
                        "schema": {
                            "type": "string",
                            "description": "the id of the transact engine. It is expected to be null when calling capability providers"
                        },
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "DeleteCart 204 response"
                    },
                    "400": {
                        "description": "ValidationException 400 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "AccessDeniedException 403 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "ResourceNotFoundException 404 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ResourceNotFoundExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "ConflictException 409 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ConflictExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "ThrottlingException 429 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "InternalServerException 500 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                                }
                            }
                        }
                    }
                }
            },
            "get": {
                "operationId": "GetCart",
                "parameters": [
                    {
                        "name": "cartId",
                        "in": "path",
                        "schema": {
                            "type": "string"
                        },
                        "required": true
                    },
                    {
                        "name": "engineId",
                        "in": "header",
                        "description": "the id of the transact engine. It is expected to be null when calling capability providers",
                        "schema": {
                            "type": "string",
                            "description": "the id of the transact engine. It is expected to be null when calling capability providers"
                        },
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "GetCart 200 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GetCartResponseContent"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "ValidationException 400 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "AccessDeniedException 403 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "ResourceNotFoundException 404 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ResourceNotFoundExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "ThrottlingException 429 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "InternalServerException 500 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "operationId": "UpdateCart",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateCartRequestContent"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "cartId",
                        "in": "path",
                        "schema": {
                            "type": "string"
                        },
                        "required": true
                    },
                    {
                        "name": "engineId",
                        "in": "header",
                        "description": "the id of the transact engine. It is expected to be null when calling capability providers",
                        "schema": {
                            "type": "string",
                            "description": "the id of the transact engine. It is expected to be null when calling capability providers"
                        },
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "UpdateCart 200 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UpdateCartResponseContent"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "ValidationException 400 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "AccessDeniedException 403 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "ResourceNotFoundException 404 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ResourceNotFoundExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "ConflictException 409 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ConflictExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "ThrottlingException 429 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "InternalServerException 500 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/fulfillments": {
            "post": {
                "operationId": "FulfillOrder",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/FulfillOrderRequestContent"
                            }
                        }
                    },
                    "required": true
                },
                "parameters": [
                    {
                        "name": "engineId",
                        "in": "header",
                        "description": "the id of the transact engine. It is expected to be null when calling capability providers",
                        "schema": {
                            "type": "string",
                            "description": "the id of the transact engine. It is expected to be null when calling capability providers"
                        },
                        "required": true
                    },
                    {
                        "name": "retailerId",
                        "in": "header",
                        "description": "Used to identify the retailer",
                        "schema": {
                            "type": "string",
                            "pattern": "^[A-Za-z0-9_-]+$",
                            "description": "Used to identify the retailer"
                        },
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "FulfillOrder 200 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/FulfillOrderResponseContent"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "ValidationException 400 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "AccessDeniedException 403 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "ResourceNotFoundException 404 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ResourceNotFoundExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "ThrottlingException 429 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "InternalServerException 500 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/fulfillments/{fulfillmentId}/cancel": {
            "post": {
                "operationId": "CancelLineItemFulfillment",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CancelLineItemFulfillmentRequestContent"
                            }
                        }
                    },
                    "required": true
                },
                "parameters": [
                    {
                        "name": "fulfillmentId",
                        "in": "path",
                        "description": "Provider generated fulfillment reference ID",
                        "schema": {
                            "type": "string",
                            "maxLength": 50,
                            "minLength": 1,
                            "pattern": "^[a-zA-Z0-9_-]+$",
                            "description": "Provider generated fulfillment reference ID"
                        },
                        "required": true
                    },
                    {
                        "name": "engineId",
                        "in": "header",
                        "description": "the id of the transact engine. It is expected to be null when calling capability providers",
                        "schema": {
                            "type": "string",
                            "description": "the id of the transact engine. It is expected to be null when calling capability providers"
                        },
                        "required": true
                    },
                    {
                        "name": "retailerId",
                        "in": "header",
                        "description": "Used to identify the retailer",
                        "schema": {
                            "type": "string",
                            "pattern": "^[A-Za-z0-9_-]+$",
                            "description": "Used to identify the retailer"
                        },
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "CancelLineItemFulfillment 200 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CancelLineItemFulfillmentResponseContent"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "ValidationException 400 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "AccessDeniedException 403 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "ResourceNotFoundException 404 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ResourceNotFoundExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "ThrottlingException 429 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "InternalServerException 500 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/orders": {
            "get": {
                "operationId": "ListOrders",
                "parameters": [
                    {
                        "name": "shopperId",
                        "in": "query",
                        "description": "shopperId used to uniquely identify a shopper for the corresponding retailer.",
                        "schema": {
                            "type": "string",
                            "pattern": "^[A-Za-z0-9_-]+$",
                            "description": "shopperId used to uniquely identify a shopper for the corresponding retailer."
                        }
                    },
                    {
                        "name": "nextToken",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "maxResults",
                        "in": "query",
                        "schema": {
                            "type": "number",
                            "maximum": 100,
                            "minimum": 1
                        }
                    },
                    {
                        "name": "engineId",
                        "in": "header",
                        "description": "the id of the transact engine. It is expected to be null when calling capability providers",
                        "schema": {
                            "type": "string",
                            "description": "the id of the transact engine. It is expected to be null when calling capability providers"
                        },
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "ListOrders 200 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ListOrdersResponseContent"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "ValidationException 400 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "AccessDeniedException 403 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "ThrottlingException 429 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "InternalServerException 500 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "operationId": "CreateOrder",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateOrderRequestContent"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "engineId",
                        "in": "header",
                        "description": "the id of the transact engine. It is expected to be null when calling capability providers",
                        "schema": {
                            "type": "string",
                            "description": "the id of the transact engine. It is expected to be null when calling capability providers"
                        },
                        "required": true
                    }
                ],
                "responses": {
                    "201": {
                        "description": "CreateOrder 201 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CreateOrderResponseContent"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "ValidationException 400 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "AccessDeniedException 403 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "ConflictException 409 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ConflictExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "ThrottlingException 429 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "InternalServerException 500 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/orders/{orderId}": {
            "delete": {
                "operationId": "DeleteOrder",
                "parameters": [
                    {
                        "name": "orderId",
                        "in": "path",
                        "schema": {
                            "type": "string"
                        },
                        "required": true
                    },
                    {
                        "name": "engineId",
                        "in": "header",
                        "description": "the id of the transact engine. It is expected to be null when calling capability providers",
                        "schema": {
                            "type": "string",
                            "description": "the id of the transact engine. It is expected to be null when calling capability providers"
                        },
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "DeleteOrder 204 response"
                    },
                    "400": {
                        "description": "ValidationException 400 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "AccessDeniedException 403 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "ResourceNotFoundException 404 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ResourceNotFoundExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "ConflictException 409 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ConflictExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "ThrottlingException 429 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "InternalServerException 500 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                                }
                            }
                        }
                    }
                }
            },
            "get": {
                "operationId": "GetOrder",
                "parameters": [
                    {
                        "name": "orderId",
                        "in": "path",
                        "schema": {
                            "type": "string"
                        },
                        "required": true
                    },
                    {
                        "name": "engineId",
                        "in": "header",
                        "description": "the id of the transact engine. It is expected to be null when calling capability providers",
                        "schema": {
                            "type": "string",
                            "description": "the id of the transact engine. It is expected to be null when calling capability providers"
                        },
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "GetOrder 200 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GetOrderResponseContent"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "ValidationException 400 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "AccessDeniedException 403 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "ResourceNotFoundException 404 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ResourceNotFoundExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "ThrottlingException 429 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "InternalServerException 500 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "operationId": "UpdateOrder",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateOrderRequestContent"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "orderId",
                        "in": "path",
                        "schema": {
                            "type": "string"
                        },
                        "required": true
                    },
                    {
                        "name": "engineId",
                        "in": "header",
                        "description": "the id of the transact engine. It is expected to be null when calling capability providers",
                        "schema": {
                            "type": "string",
                            "description": "the id of the transact engine. It is expected to be null when calling capability providers"
                        },
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "UpdateOrder 200 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UpdateOrderResponseContent"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "ValidationException 400 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "AccessDeniedException 403 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "ResourceNotFoundException 404 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ResourceNotFoundExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "ConflictException 409 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ConflictExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "ThrottlingException 429 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "InternalServerException 500 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/orders/{orderId}/cancel": {
            "post": {
                "description": "To be implemented as part of private preview",
                "operationId": "CancelOrder",
                "parameters": [
                    {
                        "name": "orderId",
                        "in": "path",
                        "schema": {
                            "type": "string"
                        },
                        "required": true
                    },
                    {
                        "name": "engineId",
                        "in": "header",
                        "description": "the id of the transact engine. It is expected to be null when calling capability providers",
                        "schema": {
                            "type": "string",
                            "description": "the id of the transact engine. It is expected to be null when calling capability providers"
                        },
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "CancelOrder 200 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CancelOrderResponseContent"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "ValidationException 400 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "AccessDeniedException 403 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "ResourceNotFoundException 404 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ResourceNotFoundExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "ThrottlingException 429 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "InternalServerException 500 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/orders/{orderId}/fulfillments": {
            "put": {
                "description": "To be implemented as part of private preview",
                "operationId": "UpdateOrderFulfillments",
                "parameters": [
                    {
                        "name": "orderId",
                        "in": "path",
                        "schema": {
                            "type": "string"
                        },
                        "required": true
                    },
                    {
                        "name": "engineId",
                        "in": "header",
                        "description": "the id of the transact engine. It is expected to be null when calling capability providers",
                        "schema": {
                            "type": "string",
                            "description": "the id of the transact engine. It is expected to be null when calling capability providers"
                        },
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "UpdateOrderFulfillments 200 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UpdateOrderFulfillmentsResponseContent"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "ValidationException 400 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "AccessDeniedException 403 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "ResourceNotFoundException 404 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ResourceNotFoundExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "ConflictException 409 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ConflictExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "ThrottlingException 429 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "InternalServerException 500 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/orders/{orderId}/line-items": {
            "post": {
                "operationId": "CreateOrderLineItems",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateOrderLineItemsRequestContent"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "orderId",
                        "in": "path",
                        "schema": {
                            "type": "string"
                        },
                        "required": true
                    },
                    {
                        "name": "engineId",
                        "in": "header",
                        "description": "the id of the transact engine. It is expected to be null when calling capability providers",
                        "schema": {
                            "type": "string",
                            "description": "the id of the transact engine. It is expected to be null when calling capability providers"
                        },
                        "required": true
                    }
                ],
                "responses": {
                    "201": {
                        "description": "CreateOrderLineItems 201 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CreateOrderLineItemsResponseContent"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "ValidationException 400 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "AccessDeniedException 403 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "ResourceNotFoundException 404 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ResourceNotFoundExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "ConflictException 409 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ConflictExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "ThrottlingException 429 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "InternalServerException 500 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/orders/{orderId}/returns": {
            "put": {
                "description": "To be implemented as part of private preview",
                "operationId": "UpdateOrderReturns",
                "parameters": [
                    {
                        "name": "orderId",
                        "in": "path",
                        "schema": {
                            "type": "string"
                        },
                        "required": true
                    },
                    {
                        "name": "engineId",
                        "in": "header",
                        "description": "the id of the transact engine. It is expected to be null when calling capability providers",
                        "schema": {
                            "type": "string",
                            "description": "the id of the transact engine. It is expected to be null when calling capability providers"
                        },
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "UpdateOrderReturns 200 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UpdateOrderReturnsResponseContent"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "ValidationException 400 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "AccessDeniedException 403 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "ResourceNotFoundException 404 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ResourceNotFoundExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "ConflictException 409 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ConflictExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "ThrottlingException 429 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "InternalServerException 500 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/orders/{orderId}/sign": {
            "post": {
                "operationId": "SignOrder",
                "parameters": [
                    {
                        "name": "orderId",
                        "in": "path",
                        "schema": {
                            "type": "string"
                        },
                        "required": true
                    },
                    {
                        "name": "engineId",
                        "in": "header",
                        "description": "the id of the transact engine. It is expected to be null when calling capability providers",
                        "schema": {
                            "type": "string",
                            "description": "the id of the transact engine. It is expected to be null when calling capability providers"
                        },
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "SignOrder 200 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SignOrderResponseContent"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "ValidationException 400 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "AccessDeniedException 403 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "ResourceNotFoundException 404 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ResourceNotFoundExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "ThrottlingException 429 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "InternalServerException 500 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/prices": {
            "get": {
                "operationId": "GetProductPrices",
                "parameters": [
                    {
                        "name": "productIds",
                        "in": "query",
                        "description": "List of Retailer Product ID -- a unique ID created by a retailer to identify the product",
                        "style": "form",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "pattern": "^[A-Za-z0-9_-]+$"
                            },
                            "description": "List of Retailer Product ID -- a unique ID created by a retailer to identify the product"
                        },
                        "explode": true,
                        "required": true
                    },
                    {
                        "name": "engineId",
                        "in": "header",
                        "description": "the id of the transact engine. It is expected to be null when calling capability providers",
                        "schema": {
                            "type": "string",
                            "description": "the id of the transact engine. It is expected to be null when calling capability providers"
                        },
                        "required": true
                    },
                    {
                        "name": "retailerId",
                        "in": "header",
                        "description": "Used to identify the retailer",
                        "schema": {
                            "type": "string",
                            "pattern": "^[A-Za-z0-9_-]+$",
                            "description": "Used to identify the retailer"
                        },
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "GetProductPrices 200 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GetProductPricesResponseContent"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "ValidationException 400 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "AccessDeniedException 403 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "ResourceNotFoundException 404 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ResourceNotFoundExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "ThrottlingException 429 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "InternalServerException 500 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/prices/lineItems": {
            "post": {
                "operationId": "GetProductPricesForLineItems",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GetProductPricesForLineItemsRequestContent"
                            }
                        }
                    },
                    "required": true
                },
                "parameters": [
                    {
                        "name": "engineId",
                        "in": "header",
                        "description": "the id of the transact engine. It is expected to be null when calling capability providers",
                        "schema": {
                            "type": "string",
                            "description": "the id of the transact engine. It is expected to be null when calling capability providers"
                        },
                        "required": true
                    },
                    {
                        "name": "retailerId",
                        "in": "header",
                        "description": "Used to identify the retailer",
                        "schema": {
                            "type": "string",
                            "pattern": "^[A-Za-z0-9_-]+$",
                            "description": "Used to identify the retailer"
                        },
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "GetProductPricesForLineItems 200 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GetProductPricesForLineItemsResponseContent"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "ValidationException 400 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "AccessDeniedException 403 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "ResourceNotFoundException 404 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ResourceNotFoundExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "ThrottlingException 429 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "InternalServerException 500 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/products/{productId}": {
            "get": {
                "operationId": "GetProduct",
                "parameters": [
                    {
                        "name": "productId",
                        "in": "path",
                        "description": "Retailer Product ID - a unique ID created by a retailer to identify the product",
                        "schema": {
                            "type": "string",
                            "pattern": "^[A-Za-z0-9_-]+$",
                            "description": "Retailer Product ID - a unique ID created by a retailer to identify the product"
                        },
                        "required": true
                    },
                    {
                        "name": "catalogId",
                        "in": "query",
                        "description": "A unique ID specific to a product catalog if the retailer has multiple catalogs.\n        This value should be provided by retail client when they have multiple catalogs and\n        need to specify which catalog the product belongs to.",
                        "schema": {
                            "type": "string",
                            "pattern": "^[A-Za-z0-9_-]+$",
                            "description": "A unique ID specific to a product catalog if the retailer has multiple catalogs.\n        This value should be provided by retail client when they have multiple catalogs and\n        need to specify which catalog the product belongs to."
                        }
                    },
                    {
                        "name": "locale",
                        "in": "query",
                        "description": "Localization information to use to return the product information in a particular language",
                        "schema": {
                            "type": "string",
                            "pattern": "^[a-zA-Z]{2}-[a-zA-Z]{2}$",
                            "description": "Localization information to use to return the product information in a particular language"
                        }
                    },
                    {
                        "name": "engineId",
                        "in": "header",
                        "description": "the id of the transact engine. It is expected to be null when calling capability providers",
                        "schema": {
                            "type": "string",
                            "description": "the id of the transact engine. It is expected to be null when calling capability providers"
                        },
                        "required": true
                    },
                    {
                        "name": "retailerId",
                        "in": "header",
                        "description": "Used to identify the retailer",
                        "schema": {
                            "type": "string",
                            "pattern": "^[A-Za-z0-9_-]+$",
                            "description": "Used to identify the retailer"
                        },
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "GetProduct 200 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GetProductResponseContent"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "ValidationException 400 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "AccessDeniedException 403 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "ResourceNotFoundException 404 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ResourceNotFoundExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "ThrottlingException 429 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "InternalServerException 500 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/taxes/lineItems": {
            "post": {
                "operationId": "GetTaxesForLineItems",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GetTaxesForLineItemsRequestContent"
                            }
                        }
                    },
                    "required": true
                },
                "parameters": [
                    {
                        "name": "engineId",
                        "in": "header",
                        "description": "the id of the transact engine. It is expected to be null when calling capability providers",
                        "schema": {
                            "type": "string",
                            "description": "the id of the transact engine. It is expected to be null when calling capability providers"
                        },
                        "required": true
                    },
                    {
                        "name": "retailerId",
                        "in": "header",
                        "description": "Used to identify the retailer",
                        "schema": {
                            "type": "string",
                            "pattern": "^[A-Za-z0-9_-]+$",
                            "description": "Used to identify the retailer"
                        },
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "GetTaxesForLineItems 200 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GetTaxesForLineItemsResponseContent"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "ValidationException 400 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "AccessDeniedException 403 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "ResourceNotFoundException 404 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ResourceNotFoundExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "ThrottlingException 429 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "InternalServerException 500 response",
                        "headers": {
                            "Retry-After": {
                                "schema": {
                                    "type": "number"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "AccessDeniedExceptionResponseContent": {
                "type": "object",
                "properties": {
                    "message": {
                        "type": "string"
                    }
                },
                "required": [
                    "message"
                ]
            },
            "AdditionalAttributesMap": {
                "type": "object",
                "additionalProperties": {
                    "type": "string"
                }
            },
            "Address": {
                "type": "object",
                "description": "Customer billing/delivery address",
                "properties": {
                    "line1": {
                        "type": "string",
                        "format": "password"
                    },
                    "line2": {
                        "type": "string",
                        "format": "password"
                    },
                    "postalCode": {
                        "type": "string",
                        "description": "ZIP or postal code",
                        "format": "password"
                    },
                    "city": {
                        "type": "string",
                        "format": "password"
                    },
                    "state": {
                        "type": "string",
                        "format": "password"
                    },
                    "country": {
                        "type": "string",
                        "pattern": "^[A-Z]{2}$",
                        "description": "Two-letter ISO-3166 country code",
                        "format": "password"
                    }
                },
                "required": [
                    "country",
                    "postalCode"
                ]
            },
            "AgeRestriction": {
                "type": "object",
                "description": "Age restrictions for the product or fulfillment item",
                "properties": {
                    "isAgeCheckRequired": {
                        "type": "boolean",
                        "description": "If an age check is required"
                    },
                    "minimumAge": {
                        "type": "number",
                        "description": "the minimum age required"
                    }
                },
                "required": [
                    "isAgeCheckRequired"
                ]
            },
            "Amount": {
                "type": "object",
                "description": "Amount of the given currency",
                "properties": {
                    "value": {
                        "type": "string",
                        "pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
                        "description": "Amount of the given currency"
                    },
                    "currencyCode": {
                        "type": "string",
                        "pattern": "^[A-Z]{3}$",
                        "description": "Currency code"
                    }
                },
                "required": [
                    "currencyCode",
                    "value"
                ]
            },
            "BuyingApplication": {
                "type": "object",
                "properties": {
                    "sessionId": {
                        "type": "string"
                    },
                    "engineVersionId": {
                        "type": "string"
                    },
                    "brandId": {
                        "type": "string"
                    },
                    "storeId": {
                        "type": "string"
                    },
                    "clientId": {
                        "type": "string"
                    },
                    "associateId": {
                        "type": "string"
                    }
                }
            },
            "BuyingApplicationInput": {
                "type": "object",
                "properties": {
                    "sessionId": {
                        "type": "string"
                    },
                    "brandId": {
                        "type": "string"
                    },
                    "storeId": {
                        "type": "string"
                    },
                    "clientId": {
                        "type": "string"
                    },
                    "associateId": {
                        "type": "string"
                    }
                }
            },
            "CancelLineItemFulfillmentRequestContent": {
                "type": "object",
                "description": "Input of CancelLineItemFulfillment API",
                "properties": {
                    "lineItemDetails": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/LineItemCancellationDetails"
                        },
                        "description": "Details of line items in the order that need to be cancelled"
                    },
                    "cancelReason": {
                        "type": "string",
                        "description": "Reason for cancellation"
                    }
                },
                "required": [
                    "lineItemDetails"
                ]
            },
            "CancelLineItemFulfillmentResponseContent": {
                "type": "object",
                "description": "Response of CancelLineItemFulfillment API",
                "properties": {
                    "fulfillmentCancellationId": {
                        "type": "string",
                        "description": "Provider generated fulfillment cancellation reference ID"
                    },
                    "fulfillmentId": {
                        "type": "string",
                        "maxLength": 50,
                        "minLength": 1,
                        "pattern": "^[a-zA-Z0-9_-]+$",
                        "description": "Provider generated fulfillment reference ID"
                    },
                    "fulfillmentCancellationCreatedAt": {
                        "type": "string",
                        "description": "Fulfillment cancellation creation date-time",
                        "format": "date-time"
                    }
                },
                "required": [
                    "fulfillmentCancellationCreatedAt",
                    "fulfillmentCancellationId",
                    "fulfillmentId"
                ]
            },
            "CancelOrderResponseContent": {
                "type": "object",
                "properties": {
                    "order": {
                        "$ref": "#/components/schemas/OrderDocument"
                    },
                    "constraintViolations": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ConstraintViolation"
                        }
                    }
                },
                "required": [
                    "order"
                ]
            },
            "CartDocument": {
                "type": "object",
                "properties": {
                    "cartId": {
                        "type": "string"
                    },
                    "cartState": {
                        "$ref": "#/components/schemas/CartState"
                    },
                    "summary": {
                        "$ref": "#/components/schemas/OrderSummary"
                    },
                    "lineItems": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/LineItem"
                        }
                    },
                    "shopperId": {
                        "type": "string",
                        "pattern": "^[A-Za-z0-9_-]+$",
                        "description": "shopperId used to uniquely identify a shopper for the corresponding retailer."
                    },
                    "fulfillmentGroups": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/FulfillmentGroup"
                        }
                    },
                    "fulfillmentOptionSelections": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/FulfillmentOptionSelection"
                        }
                    },
                    "buyingApplication": {
                        "$ref": "#/components/schemas/BuyingApplication"
                    }
                },
                "required": [
                    "cartId",
                    "lineItems"
                ]
            },
            "CartState": {
                "type": "object",
                "properties": {
                    "createdDate": {
                        "type": "string",
                        "description": "ISO-8601 formatted timestamp: YYYY-MM-DDThh:mm:ss.sssZ",
                        "format": "date-time"
                    },
                    "lastUpdatedDate": {
                        "type": "string",
                        "description": "ISO-8601 formatted timestamp: YYYY-MM-DDThh:mm:ss.sssZ",
                        "format": "date-time"
                    }
                }
            },
            "ConflictExceptionResponseContent": {
                "type": "object",
                "properties": {
                    "message": {
                        "type": "string"
                    },
                    "resourceId": {
                        "type": "string"
                    },
                    "resourceType": {
                        "type": "string"
                    }
                },
                "required": [
                    "message",
                    "resourceId",
                    "resourceType"
                ]
            },
            "ConstraintViolation": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string"
                    },
                    "statusCode": {
                        "type": "string"
                    },
                    "displayString": {
                        "type": "string"
                    },
                    "additionalAttributes": {
                        "$ref": "#/components/schemas/AdditionalAttributesMap"
                    },
                    "statusTarget": {
                        "$ref": "#/components/schemas/StatusTarget"
                    }
                }
            },
            "ContactInfo": {
                "type": "object",
                "description": "Contact information",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Contact name",
                        "format": "password"
                    },
                    "email": {
                        "type": "string",
                        "description": "Contact email",
                        "format": "password"
                    },
                    "phone": {
                        "type": "string",
                        "description": "Contact number",
                        "format": "password"
                    }
                },
                "required": [
                    "name"
                ]
            },
            "CreateCartLineItemsRequestContent": {
                "type": "object",
                "description": "Base input mixin for all transact API calls",
                "properties": {
                    "lineItems": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/LineItemInput"
                        }
                    }
                }
            },
            "CreateCartLineItemsResponseContent": {
                "type": "object",
                "properties": {
                    "cart": {
                        "$ref": "#/components/schemas/CartDocument"
                    },
                    "constraintViolations": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ConstraintViolation"
                        }
                    }
                },
                "required": [
                    "cart"
                ]
            },
            "CreateCartRequestContent": {
                "type": "object",
                "description": "Base input mixin for all transact API calls",
                "properties": {
                    "lineItems": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/LineItemInput"
                        }
                    },
                    "shopperId": {
                        "type": "string",
                        "pattern": "^[A-Za-z0-9_-]+$",
                        "description": "shopperId used to uniquely identify a shopper for the corresponding retailer."
                    },
                    "fulfillerAddress": {
                        "$ref": "#/components/schemas/Address"
                    },
                    "fulfillmentOptionSelection": {
                        "$ref": "#/components/schemas/FulfillmentOptionSelection"
                    },
                    "buyingApplication": {
                        "$ref": "#/components/schemas/BuyingApplicationInput"
                    }
                }
            },
            "CreateCartResponseContent": {
                "type": "object",
                "properties": {
                    "cart": {
                        "$ref": "#/components/schemas/CartDocument"
                    },
                    "constraintViolations": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ConstraintViolation"
                        }
                    }
                },
                "required": [
                    "cart"
                ]
            },
            "CreateOrderLineItemsRequestContent": {
                "type": "object",
                "description": "Base input mixin for all transact API calls",
                "properties": {
                    "lineItems": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/LineItemInput"
                        }
                    }
                }
            },
            "CreateOrderLineItemsResponseContent": {
                "type": "object",
                "properties": {
                    "order": {
                        "$ref": "#/components/schemas/OrderDocument"
                    },
                    "constraintViolations": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ConstraintViolation"
                        }
                    }
                },
                "required": [
                    "order"
                ]
            },
            "CreateOrderRequestContent": {
                "type": "object",
                "description": "Base input mixin for all transact API calls",
                "properties": {
                    "lineItems": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/LineItemInput"
                        }
                    },
                    "payments": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Payment"
                        }
                    },
                    "shopperId": {
                        "type": "string",
                        "pattern": "^[A-Za-z0-9_-]+$",
                        "description": "shopperId used to uniquely identify a shopper for the corresponding retailer."
                    },
                    "fulfillerAddress": {
                        "$ref": "#/components/schemas/Address"
                    },
                    "recipients": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Recipient"
                        }
                    },
                    "discountApplications": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/DiscountApplication"
                        }
                    },
                    "fulfillmentOptionSelection": {
                        "$ref": "#/components/schemas/FulfillmentOptionSelection"
                    },
                    "cartId": {
                        "type": "string"
                    },
                    "buyingApplication": {
                        "$ref": "#/components/schemas/BuyingApplicationInput"
                    }
                }
            },
            "CreateOrderResponseContent": {
                "type": "object",
                "properties": {
                    "order": {
                        "$ref": "#/components/schemas/OrderDocument"
                    },
                    "constraintViolations": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ConstraintViolation"
                        }
                    }
                },
                "required": [
                    "order"
                ]
            },
            "DateRange": {
                "type": "object",
                "description": "This represents date/time ranges",
                "properties": {
                    "earliest": {
                        "type": "string",
                        "description": "The start of the date/time range",
                        "format": "date-time"
                    },
                    "latest": {
                        "type": "string",
                        "description": "The end of the date/time range",
                        "format": "date-time"
                    }
                }
            },
            "DetailedProductInfo": {
                "type": "object",
                "description": "All the product details for a given product",
                "properties": {
                    "productId": {
                        "type": "string",
                        "pattern": "^[A-Za-z0-9_-]+$",
                        "description": "A unique ID created by a retailer to identify the product"
                    },
                    "title": {
                        "type": "string",
                        "description": "Label/name given to a product"
                    },
                    "taxCode": {
                        "type": "string",
                        "description": "Tax code defined by the tax vendor"
                    },
                    "unitOfMeasure": {
                        "type": "string",
                        "maxLength": 256,
                        "minLength": 1,
                        "description": "Unit of measure by which the product is being sold.  Refer to the Unit spec from JSR-363."
                    },
                    "unitType": {
                        "$ref": "#/components/schemas/UnitType"
                    },
                    "catalogId": {
                        "type": "string",
                        "pattern": "^[A-Za-z0-9_-]+$",
                        "description": "A unique ID specific to a product catalog if the retailer has multiple catalogs.\n        This value should be provided by retail client when they have multiple catalogs and\n        need to specify which catalog the product belongs to."
                    },
                    "productShippingInfo": {
                        "$ref": "#/components/schemas/ProductShippingInfo"
                    },
                    "brand": {
                        "type": "string",
                        "description": "Brand/manufacturer name associated with the product"
                    },
                    "description": {
                        "type": "string",
                        "description": "Product description"
                    },
                    "ageRestriction": {
                        "$ref": "#/components/schemas/AgeRestriction"
                    },
                    "variants": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ProductVariant"
                        },
                        "description": "Variant of the product defined by factors like color, size etc."
                    },
                    "unitPrice": {
                        "$ref": "#/components/schemas/Amount"
                    },
                    "media": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Media"
                        },
                        "description": "Media information like images/videos associated with the product."
                    },
                    "status": {
                        "$ref": "#/components/schemas/ProductStatus"
                    },
                    "attributes": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ProductAttribute"
                        },
                        "description": "Open content fields for additional product information."
                    },
                    "lastUpdatedAt": {
                        "type": "string",
                        "description": "Last updated product date-time",
                        "format": "date-time"
                    }
                },
                "required": [
                    "productId",
                    "taxCode",
                    "title",
                    "unitOfMeasure"
                ]
            },
            "DetailedTaxLineItem": {
                "type": "object",
                "properties": {
                    "lineItemId": {
                        "type": "string",
                        "description": "Unique identifier for the line item"
                    },
                    "appliedTaxRate": {
                        "type": "string",
                        "pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
                        "description": "The effective tax rate applied to the line item"
                    },
                    "lineItemTaxableAmount": {
                        "$ref": "#/components/schemas/Amount"
                    },
                    "lineItemTaxAmount": {
                        "$ref": "#/components/schemas/Amount"
                    },
                    "taxInfos": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TaxInfo"
                        },
                        "description": "Collection of tax information for the current line item"
                    }
                },
                "required": [
                    "lineItemId",
                    "lineItemTaxAmount",
                    "lineItemTaxableAmount",
                    "taxInfos"
                ]
            },
            "Dimension": {
                "type": "object",
                "description": "Dimension value and unit",
                "properties": {
                    "value": {
                        "type": "string",
                        "pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
                        "description": "Value of the dimension"
                    },
                    "unit": {
                        "type": "string",
                        "description": "Unit of the dimension such as inches, meters, kilograms, pounds, etc."
                    }
                },
                "required": [
                    "unit",
                    "value"
                ]
            },
            "Discount": {
                "type": "object",
                "properties": {
                    "promotionId": {
                        "type": "string"
                    },
                    "displayString": {
                        "type": "string"
                    },
                    "amount": {
                        "$ref": "#/components/schemas/Amount"
                    }
                }
            },
            "DiscountApplication": {
                "type": "object",
                "properties": {
                    "couponCode": {
                        "type": "string"
                    },
                    "promotionId": {
                        "type": "string"
                    }
                }
            },
            "FulfillOrderGroup": {
                "type": "object",
                "description": "Details of the fulfillment group for the order",
                "properties": {
                    "fulfillmentGroupId": {
                        "type": "string",
                        "description": "Id of the fulfillment group"
                    },
                    "fulfillmentInfo": {
                        "$ref": "#/components/schemas/FulfillmentInfo"
                    },
                    "fulfillmentLineItems": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/FulfillmentLineItem"
                        },
                        "description": "Details of all the line items in the order"
                    }
                }
            },
            "FulfillOrderRequestContent": {
                "type": "object",
                "description": "Input of FulfillOrder API",
                "properties": {
                    "fulfillmentOrder": {
                        "$ref": "#/components/schemas/FulfillmentOrder"
                    }
                },
                "required": [
                    "fulfillmentOrder"
                ]
            },
            "FulfillOrderResponseContent": {
                "type": "object",
                "description": "Response of FulfillOrder API",
                "properties": {
                    "fulfillmentId": {
                        "type": "string",
                        "maxLength": 50,
                        "minLength": 1,
                        "pattern": "^[a-zA-Z0-9_-]+$",
                        "description": "Provider generated fulfillment reference ID"
                    },
                    "orderId": {
                        "type": "string",
                        "maxLength": 50,
                        "minLength": 1,
                        "pattern": "^[a-zA-Z0-9_-]+$",
                        "description": "Retailer/Transact generated order ID"
                    },
                    "fulfillmentCreatedAt": {
                        "type": "string",
                        "description": "Fulfillment creation date-time",
                        "format": "date-time"
                    }
                },
                "required": [
                    "fulfillmentCreatedAt",
                    "fulfillmentId",
                    "orderId"
                ]
            },
            "Fulfillment": {
                "type": "object",
                "properties": {
                    "fulfillmentId": {
                        "type": "string",
                        "maxLength": 50,
                        "minLength": 1,
                        "pattern": "^[a-zA-Z0-9_-]+$",
                        "description": "Represents a fulfillment reference ID"
                    },
                    "status": {
                        "$ref": "#/components/schemas/FulfillmentStatus"
                    },
                    "trackingId": {
                        "type": "string"
                    },
                    "lineItemAssociations": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/LineItemAssociation"
                        }
                    }
                }
            },
            "FulfillmentGroup": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "shippingAddress": {
                        "$ref": "#/components/schemas/Address"
                    },
                    "fulfillmentOptions": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/FulfillmentOption"
                        }
                    },
                    "lineItemAssociations": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/LineItemAssociation"
                        }
                    }
                }
            },
            "FulfillmentInfo": {
                "type": "object",
                "properties": {
                    "deliveryMethod": {
                        "type": "string",
                        "description": "Delivery method selected by the shopper. E.g. same day, 2-day shipping etc."
                    },
                    "estimatedDeliveryDate": {
                        "type": "string",
                        "description": "Estimated delivery time provided by the retailer, as promised to the shopper",
                        "format": "date-time"
                    },
                    "recipientContactInfo": {
                        "$ref": "#/components/schemas/ContactInfo"
                    },
                    "fulfillmentAddress": {
                        "$ref": "#/components/schemas/Address"
                    }
                },
                "required": [
                    "deliveryMethod"
                ]
            },
            "FulfillmentLineItem": {
                "type": "object",
                "description": "Details of the line item in the order",
                "properties": {
                    "lineItemId": {
                        "type": "string",
                        "description": "Unique identifier for the line item in the order"
                    },
                    "productId": {
                        "type": "string",
                        "pattern": "^[A-Za-z0-9_-]+$",
                        "description": "A unique ID created by a retailer to identify the product"
                    },
                    "catalogId": {
                        "type": "string",
                        "pattern": "^[A-Za-z0-9_-]+$",
                        "description": "A unique ID specific to a product catalog if the retailer has multiple catalogs.\n        This value should be provided by retail client when they have multiple catalogs and\n        need to specify which catalog the product belongs to."
                    },
                    "lineItemFulfillmentQuantity": {
                        "$ref": "#/components/schemas/Quantity"
                    },
                    "lineItemFulfillmentType": {
                        "type": "string",
                        "description": "Fulfillment type. E.g. PointOfSale, PickUp etc."
                    },
                    "productShippingInfo": {
                        "$ref": "#/components/schemas/ProductShippingInfo"
                    },
                    "fulfillmentInfo": {
                        "$ref": "#/components/schemas/FulfillmentInfo"
                    },
                    "ageRestriction": {
                        "$ref": "#/components/schemas/AgeRestriction"
                    },
                    "itemTitle": {
                        "type": "string",
                        "description": "Item name"
                    }
                },
                "required": [
                    "fulfillmentInfo",
                    "lineItemFulfillmentQuantity",
                    "lineItemFulfillmentType",
                    "lineItemId",
                    "productId"
                ]
            },
            "FulfillmentOption": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "displayName": {
                        "type": "string"
                    },
                    "shipDateRange": {
                        "$ref": "#/components/schemas/DateRange"
                    },
                    "deliveryDateRange": {
                        "$ref": "#/components/schemas/DateRange"
                    },
                    "shippingCharge": {
                        "$ref": "#/components/schemas/Amount"
                    },
                    "rank": {
                        "type": "number"
                    },
                    "type": {
                        "type": "string"
                    }
                }
            },
            "FulfillmentOptionSelection": {
                "type": "object",
                "properties": {
                    "fulfillmentOptionId": {
                        "type": "string"
                    },
                    "lineItemAssociations": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/LineItemAssociation"
                        }
                    }
                }
            },
            "FulfillmentOrder": {
                "type": "object",
                "description": "Order details required for fulfillment",
                "properties": {
                    "orderId": {
                        "type": "string",
                        "maxLength": 50,
                        "minLength": 1,
                        "pattern": "^[a-zA-Z0-9_-]+$",
                        "description": "Retailer/Transact generated orderId"
                    },
                    "fulfillOrderGroups": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/FulfillOrderGroup"
                        },
                        "description": "Details of all the fulfillment group in the order"
                    },
                    "shopperId": {
                        "type": "string",
                        "pattern": "^[A-Za-z0-9_-]+$",
                        "description": "Shopper ID to associated to the shopper placing the order"
                    }
                },
                "required": [
                    "fulfillOrderGroups",
                    "orderId"
                ]
            },
            "FulfillmentStatus": {
                "type": "string",
                "enum": [
                    "UNFULFILLED",
                    "RESERVED",
                    "FULFILLMENT_IN_PROGRESS",
                    "FULFILLED",
                    "CANCELLED",
                    "UNFULFILLABLE"
                ]
            },
            "GetCartResponseContent": {
                "type": "object",
                "properties": {
                    "cart": {
                        "$ref": "#/components/schemas/CartDocument"
                    },
                    "constraintViolations": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ConstraintViolation"
                        }
                    }
                },
                "required": [
                    "cart"
                ]
            },
            "GetOrderResponseContent": {
                "type": "object",
                "properties": {
                    "order": {
                        "$ref": "#/components/schemas/OrderDocument"
                    },
                    "constraintViolations": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ConstraintViolation"
                        }
                    }
                },
                "required": [
                    "order"
                ]
            },
            "GetProductPricesForLineItemsRequestContent": {
                "type": "object",
                "description": "Input of GetProductPricesForLineItems API",
                "properties": {
                    "lineItems": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PricingLineItem"
                        },
                        "description": "List of line items with product related details"
                    }
                },
                "required": [
                    "lineItems"
                ]
            },
            "GetProductPricesForLineItemsResponseContent": {
                "type": "object",
                "description": "Response of GetProductPricesForLineItems API",
                "properties": {
                    "productPrices": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PricingLineItemDetails"
                        },
                        "description": "Line items with price details"
                    }
                },
                "required": [
                    "productPrices"
                ]
            },
            "GetProductPricesResponseContent": {
                "type": "object",
                "description": "Output of GetProductPrices API",
                "properties": {
                    "productPrices": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ProductPriceDetails"
                        },
                        "description": "Items with price details"
                    }
                },
                "required": [
                    "productPrices"
                ]
            },
            "GetProductResponseContent": {
                "type": "object",
                "description": "Response of GetProduct API",
                "properties": {
                    "product": {
                        "$ref": "#/components/schemas/DetailedProductInfo"
                    }
                }
            },
            "GetTaxesForLineItemsRequestContent": {
                "type": "object",
                "description": "Input of GetTaxesForLineItems API",
                "properties": {
                    "timestamp": {
                        "type": "string",
                        "description": "ISO-8601 formatted timestamp of order creation",
                        "format": "date-time"
                    },
                    "taxGroups": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TaxGroup"
                        },
                        "description": "Collection of all taxable elements in the transaction, grouped by location. Each line item can correspond to PRODUCT, SHIPPING, SERVICE type etc."
                    },
                    "shopperId": {
                        "type": "string",
                        "description": "shopperId. This can be used to check if the shopper has any tax exemptions available."
                    }
                },
                "required": [
                    "taxGroups",
                    "timestamp"
                ]
            },
            "GetTaxesForLineItemsResponseContent": {
                "type": "object",
                "description": "Response of GetTaxesForLineItems API",
                "properties": {
                    "overallTaxAmount": {
                        "$ref": "#/components/schemas/Amount"
                    },
                    "detailedTaxLineItems": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/DetailedTaxLineItem"
                        },
                        "description": "List of line items along with their individual tax details"
                    }
                },
                "required": [
                    "detailedTaxLineItems",
                    "overallTaxAmount"
                ]
            },
            "InternalServerExceptionResponseContent": {
                "type": "object",
                "properties": {
                    "message": {
                        "type": "string"
                    }
                },
                "required": [
                    "message"
                ]
            },
            "Interval": {
                "type": "object",
                "description": "Represents a range indicating start and measure",
                "properties": {
                    "measure": {
                        "type": "string",
                        "pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
                        "description": "The distance between the left bound and right bound of the range of the amount"
                    },
                    "start": {
                        "type": "string",
                        "pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
                        "description": "The starting number, or left bound, of the amount"
                    }
                }
            },
            "JurisdictionType": {
                "type": "string",
                "description": "Denotes the type of jurisdiction imposing a given tax",
                "enum": [
                    "CITY",
                    "STATE",
                    "COUNTRY",
                    "COUNTY",
                    "SPECIAL",
                    "OTHER"
                ]
            },
            "LineItem": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "product": {
                        "$ref": "#/components/schemas/Product"
                    },
                    "quantity": {
                        "$ref": "#/components/schemas/Quantity"
                    },
                    "taxes": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Tax"
                        }
                    },
                    "discounts": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Discount"
                        }
                    },
                    "subtotal": {
                        "$ref": "#/components/schemas/Amount"
                    },
                    "total": {
                        "$ref": "#/components/schemas/Amount"
                    }
                }
            },
            "LineItemAssociation": {
                "type": "object",
                "description": "Association to a line item interval",
                "properties": {
                    "lineItemId": {
                        "type": "string",
                        "description": "Order line item to associate to"
                    },
                    "interval": {
                        "$ref": "#/components/schemas/Interval"
                    }
                }
            },
            "LineItemCancellationDetails": {
                "type": "object",
                "description": "Details of the line item that needs to be cancelled",
                "properties": {
                    "lineItemId": {
                        "type": "string",
                        "description": "Unique identifier for the line item in the order"
                    },
                    "quantityToCancel": {
                        "$ref": "#/components/schemas/Quantity"
                    },
                    "reason": {
                        "type": "string",
                        "description": "Reason for line item fulfillment cancellation."
                    }
                },
                "required": [
                    "lineItemId",
                    "quantityToCancel"
                ]
            },
            "LineItemInput": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "product": {
                        "$ref": "#/components/schemas/ProductInput"
                    },
                    "quantity": {
                        "$ref": "#/components/schemas/Quantity"
                    },
                    "taxes": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Tax"
                        }
                    },
                    "discounts": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Discount"
                        }
                    }
                }
            },
            "LineItemType": {
                "type": "string",
                "enum": [
                    "PRODUCT",
                    "SHIPPING",
                    "SERVICE"
                ]
            },
            "ListCartsResponseContent": {
                "type": "object",
                "properties": {
                    "carts": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "nextToken": {
                        "type": "string"
                    }
                }
            },
            "ListOrdersResponseContent": {
                "type": "object",
                "properties": {
                    "orders": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "nextToken": {
                        "type": "string"
                    }
                }
            },
            "Media": {
                "type": "object",
                "description": "Media information like images/videos associated with the product.",
                "properties": {
                    "url": {
                        "type": "string",
                        "description": "Media url"
                    },
                    "mimeType": {
                        "type": "string",
                        "description": "Mime type of media- image/png, audio/wav etc. Reference - https://www.iana.org/assignments/media-types/media-types.xhtml"
                    },
                    "label": {
                        "type": "string",
                        "description": "Label of the media"
                    },
                    "description": {
                        "type": "string",
                        "description": "Description of the media"
                    }
                },
                "required": [
                    "url"
                ]
            },
            "OfferPrice": {
                "type": "object",
                "description": "Price offered for the retail product ID in a single pricelist that the retailer has created",
                "properties": {
                    "priceListId": {
                        "type": "string",
                        "description": "A retailer can have multiple price list that they maintain to have different pricing based on different factors (Purchase volume based pricing, seasonal pricing (holiday pricing), country/store front pricing etc.)"
                    },
                    "priceListName": {
                        "type": "string",
                        "description": "Name of the pricelist"
                    },
                    "unitBasePrice": {
                        "$ref": "#/components/schemas/Amount"
                    },
                    "unitSalePrice": {
                        "$ref": "#/components/schemas/Amount"
                    }
                },
                "required": [
                    "priceListId",
                    "unitBasePrice",
                    "unitSalePrice"
                ]
            },
            "OrderDocument": {
                "type": "object",
                "properties": {
                    "orderId": {
                        "type": "string"
                    },
                    "orderState": {
                        "$ref": "#/components/schemas/OrderState"
                    },
                    "summary": {
                        "$ref": "#/components/schemas/OrderSummary"
                    },
                    "lineItems": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/LineItem"
                        }
                    },
                    "payments": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Payment"
                        }
                    },
                    "shopperId": {
                        "type": "string",
                        "pattern": "^[A-Za-z0-9_-]+$",
                        "description": "shopperId used to uniquely identify a shopper for the corresponding retailer."
                    },
                    "fulfillerAddress": {
                        "$ref": "#/components/schemas/Address"
                    },
                    "recipients": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Recipient"
                        }
                    },
                    "discountApplications": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/DiscountApplication"
                        }
                    },
                    "fulfillmentGroups": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/FulfillmentGroup"
                        }
                    },
                    "fulfillmentOptionSelections": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/FulfillmentOptionSelection"
                        }
                    },
                    "fulfillments": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Fulfillment"
                        }
                    },
                    "buyingApplication": {
                        "$ref": "#/components/schemas/BuyingApplication"
                    },
                    "cartId": {
                        "type": "string"
                    }
                },
                "required": [
                    "lineItems",
                    "orderId"
                ]
            },
            "OrderState": {
                "type": "object",
                "properties": {
                    "createdDate": {
                        "type": "string",
                        "description": "ISO-8601 formatted timestamp: YYYY-MM-DDThh:mm:ss.sssZ",
                        "format": "date-time"
                    },
                    "lastUpdatedDate": {
                        "type": "string",
                        "description": "ISO-8601 formatted timestamp: YYYY-MM-DDThh:mm:ss.sssZ",
                        "format": "date-time"
                    },
                    "negotiatedDate": {
                        "type": "string",
                        "description": "ISO-8601 formatted timestamp: YYYY-MM-DDThh:mm:ss.sssZ",
                        "format": "date-time"
                    },
                    "signedDate": {
                        "type": "string",
                        "description": "ISO-8601 formatted timestamp: YYYY-MM-DDThh:mm:ss.sssZ",
                        "format": "date-time"
                    },
                    "status": {
                        "$ref": "#/components/schemas/OrderStatus"
                    }
                }
            },
            "OrderStatus": {
                "type": "string",
                "enum": [
                    "CREATED",
                    "NEGOTIATED",
                    "SIGNED"
                ]
            },
            "OrderSummary": {
                "type": "object",
                "properties": {
                    "rollupCharges": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/RollupCharge"
                        }
                    },
                    "totalCharge": {
                        "$ref": "#/components/schemas/Amount"
                    }
                }
            },
            "PackageContentInfo": {
                "type": "object",
                "description": "Information on the contents of the package",
                "properties": {
                    "isLithiumBatteryIncluded": {
                        "type": "boolean",
                        "description": "If the item has lithium-ion battery included in the package"
                    },
                    "containsFoodOrBeverage": {
                        "type": "boolean",
                        "description": "If the item has food/beverages included in the package"
                    },
                    "hazmatClass": {
                        "type": "string",
                        "description": "Class of hazardous material level of the product"
                    },
                    "isFragile": {
                        "type": "boolean",
                        "description": "If the product is fragile"
                    }
                }
            },
            "PackageDimensionInfo": {
                "type": "object",
                "description": "Package dimensions of the product",
                "properties": {
                    "length": {
                        "$ref": "#/components/schemas/Dimension"
                    },
                    "width": {
                        "$ref": "#/components/schemas/Dimension"
                    },
                    "height": {
                        "$ref": "#/components/schemas/Dimension"
                    },
                    "weight": {
                        "$ref": "#/components/schemas/Dimension"
                    }
                },
                "required": [
                    "height",
                    "length",
                    "weight",
                    "width"
                ]
            },
            "Payment": {
                "type": "object",
                "properties": {
                    "paymentTransactionId": {
                        "type": "string"
                    },
                    "paymentInstrumentId": {
                        "type": "string"
                    }
                }
            },
            "PricingLineItem": {
                "type": "object",
                "description": "Line item with product related details",
                "properties": {
                    "productId": {
                        "type": "string",
                        "pattern": "^[A-Za-z0-9_-]+$",
                        "description": "A unique ID created by a retailer to identify the product"
                    },
                    "catalogId": {
                        "type": "string",
                        "pattern": "^[A-Za-z0-9_-]+$",
                        "description": "A unique ID specific to a product catalog if the retailer has multiple catalogs"
                    },
                    "priceListId": {
                        "type": "string",
                        "description": "A retailer can have multiple price list that they maintain to have different pricing based on different factors (Purchase volume based pricing, seasonal pricing (holiday pricing), country/store front pricing etc.)"
                    },
                    "quantity": {
                        "$ref": "#/components/schemas/Quantity"
                    }
                },
                "required": [
                    "priceListId",
                    "productId"
                ]
            },
            "PricingLineItemDetails": {
                "type": "object",
                "description": "Line item with price related details",
                "properties": {
                    "productId": {
                        "type": "string",
                        "pattern": "^[A-Za-z0-9_-]+$",
                        "description": "A unique ID created by a retailer to identify the product"
                    },
                    "catalogId": {
                        "type": "string",
                        "pattern": "^[A-Za-z0-9_-]+$",
                        "description": "A unique ID specific to a product catalog if the retailer has multiple catalogs"
                    },
                    "priceListId": {
                        "type": "string",
                        "description": "A retailer can have multiple price list that they maintain to have different pricing based on different factors (Purchase volume based pricing, seasonal pricing (holiday pricing), country/store front pricing etc.)"
                    },
                    "quantity": {
                        "$ref": "#/components/schemas/Quantity"
                    },
                    "unitBasePrice": {
                        "$ref": "#/components/schemas/Amount"
                    },
                    "unitSalePrice": {
                        "$ref": "#/components/schemas/Amount"
                    },
                    "totalBasePrice": {
                        "$ref": "#/components/schemas/Amount"
                    },
                    "totalSalePrice": {
                        "$ref": "#/components/schemas/Amount"
                    }
                },
                "required": [
                    "priceListId",
                    "productId",
                    "unitBasePrice",
                    "unitSalePrice"
                ]
            },
            "Product": {
                "type": "object",
                "properties": {
                    "productId": {
                        "type": "string",
                        "pattern": "^[A-Za-z0-9_-]+$"
                    },
                    "unitBasePrice": {
                        "$ref": "#/components/schemas/Amount"
                    },
                    "unitSalePrice": {
                        "$ref": "#/components/schemas/Amount"
                    },
                    "title": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "imageUrl": {
                        "type": "string"
                    },
                    "catalogId": {
                        "type": "string",
                        "pattern": "^[A-Za-z0-9_-]+$"
                    },
                    "taxCode": {
                        "type": "string"
                    },
                    "shippingInfo": {
                        "$ref": "#/components/schemas/ProductShippingInfo"
                    },
                    "isAgeCheckRequired": {
                        "type": "boolean"
                    },
                    "priceListId": {
                        "type": "string"
                    }
                },
                "required": [
                    "productId"
                ]
            },
            "ProductAttribute": {
                "type": "object",
                "description": "Open content fields for additional information.",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Attribute name"
                    },
                    "value": {
                        "type": "string",
                        "description": "Attribute value"
                    },
                    "description": {
                        "type": "string",
                        "description": "Description of the attribute"
                    }
                },
                "required": [
                    "name",
                    "value"
                ]
            },
            "ProductInput": {
                "type": "object",
                "properties": {
                    "productId": {
                        "type": "string",
                        "pattern": "^[A-Za-z0-9_-]+$"
                    },
                    "price": {
                        "$ref": "#/components/schemas/Amount"
                    },
                    "title": {
                        "type": "string"
                    }
                },
                "required": [
                    "productId"
                ]
            },
            "ProductPriceDetails": {
                "type": "object",
                "description": "All the prices for the given product",
                "properties": {
                    "productId": {
                        "type": "string",
                        "pattern": "^[A-Za-z0-9_-]+$",
                        "description": "A unique ID created by a retailer to identify the product"
                    },
                    "catalogId": {
                        "type": "string",
                        "pattern": "^[A-Za-z0-9_-]+$",
                        "description": "A unique ID specific to a product catalog if the retailer has multiple catalogs"
                    },
                    "prices": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/OfferPrice"
                        },
                        "description": "List of different prices offered for the retail product ID across the different pricelist that the retailer has created"
                    }
                },
                "required": [
                    "prices",
                    "productId"
                ]
            },
            "ProductShippingInfo": {
                "type": "object",
                "description": "Product shipping information, which will only be needed by ecommerce solutions",
                "properties": {
                    "packageDimensionInfo": {
                        "$ref": "#/components/schemas/PackageDimensionInfo"
                    },
                    "packageContentInfo": {
                        "$ref": "#/components/schemas/PackageContentInfo"
                    },
                    "requireSignedShippingMethod": {
                        "type": "boolean",
                        "description": "If the item needs to be signed and received"
                    }
                },
                "required": [
                    "packageContentInfo",
                    "packageDimensionInfo",
                    "requireSignedShippingMethod"
                ]
            },
            "ProductStatus": {
                "type": "string",
                "description": "The state of the product in catalog",
                "enum": [
                    "ACTIVE",
                    "ARCHIVED",
                    "DRAFT"
                ]
            },
            "ProductVariant": {
                "type": "object",
                "description": "Variant of the product defined by factors like color, size etc.",
                "properties": {
                    "catalogId": {
                        "type": "string",
                        "pattern": "^[A-Za-z0-9_-]+$",
                        "description": "Retailer catalog ID of the product variant"
                    },
                    "type": {
                        "type": "string",
                        "description": "Type of the variant - color, size etc."
                    },
                    "variantId": {
                        "type": "string",
                        "pattern": "^[A-Za-z0-9_-]+$",
                        "description": "Retailer product ID of the product variant"
                    }
                }
            },
            "Quantity": {
                "type": "object",
                "description": "Quantity of the item",
                "properties": {
                    "value": {
                        "type": "string",
                        "pattern": "^(0|[1-9]\\d*)(\\.\\d+)?$",
                        "description": "Amount of the given quantity"
                    },
                    "unitOfMeasure": {
                        "type": "string",
                        "maxLength": 256,
                        "minLength": 1,
                        "description": "Quantity unit of measure"
                    }
                },
                "required": [
                    "unitOfMeasure",
                    "value"
                ]
            },
            "Recipient": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "contactInfo": {
                        "$ref": "#/components/schemas/ContactInfo"
                    },
                    "shippingAddress": {
                        "$ref": "#/components/schemas/Address"
                    }
                }
            },
            "ResourceNotFoundExceptionResponseContent": {
                "type": "object",
                "properties": {
                    "message": {
                        "type": "string"
                    },
                    "resourceId": {
                        "type": "string"
                    },
                    "resourceType": {
                        "type": "string"
                    }
                },
                "required": [
                    "message",
                    "resourceId",
                    "resourceType"
                ]
            },
            "RollupCharge": {
                "type": "object",
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/RollupChargeType"
                    },
                    "value": {
                        "$ref": "#/components/schemas/Amount"
                    }
                }
            },
            "RollupChargeType": {
                "type": "string",
                "enum": [
                    "ORDER_SUB_TOTAL",
                    "ORDER_TAX",
                    "ORDER_SHIPPING",
                    "DISCOUNT"
                ]
            },
            "SignOrderResponseContent": {
                "type": "object",
                "properties": {
                    "order": {
                        "$ref": "#/components/schemas/OrderDocument"
                    },
                    "constraintViolations": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ConstraintViolation"
                        }
                    }
                },
                "required": [
                    "order"
                ]
            },
            "StatusTarget": {
                "type": "object",
                "properties": {
                    "lineItemId": {
                        "type": "string"
                    }
                }
            },
            "Tax": {
                "type": "object",
                "properties": {
                    "classification": {
                        "type": "string",
                        "description": "Tax or Fee classification"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the applied tax"
                    },
                    "amount": {
                        "$ref": "#/components/schemas/Amount"
                    },
                    "rate": {
                        "type": "string",
                        "pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
                        "description": "The tax rate for the current tax type"
                    },
                    "taxableAmount": {
                        "$ref": "#/components/schemas/Amount"
                    },
                    "jurisdictionType": {
                        "$ref": "#/components/schemas/JurisdictionType"
                    },
                    "jurisdictionName": {
                        "type": "string",
                        "description": "Name of the jurisdiction"
                    }
                },
                "required": [
                    "amount",
                    "classification",
                    "jurisdictionName",
                    "jurisdictionType",
                    "name",
                    "taxableAmount"
                ]
            },
            "TaxGroup": {
                "type": "object",
                "properties": {
                    "billingAddress": {
                        "$ref": "#/components/schemas/Address"
                    },
                    "shipFromAddress": {
                        "$ref": "#/components/schemas/Address"
                    },
                    "shipToAddress": {
                        "$ref": "#/components/schemas/Address"
                    },
                    "lineItems": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TaxableLineItem"
                        },
                        "description": "Collection of all taxable elements in the tax group. Each line item can correspond to PRODUCT, SHIPPING, SERVICE type etc."
                    }
                },
                "required": [
                    "billingAddress",
                    "lineItems",
                    "shipFromAddress",
                    "shipToAddress"
                ]
            },
            "TaxInfo": {
                "type": "object",
                "properties": {
                    "amountForType": {
                        "$ref": "#/components/schemas/Amount"
                    },
                    "rateForType": {
                        "type": "string",
                        "pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
                        "description": "The tax rate for the current tax type"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the applied tax"
                    },
                    "classification": {
                        "type": "string",
                        "description": "Tax or Fee classification"
                    },
                    "subClassification": {
                        "type": "string",
                        "description": "Subclassification providing detailed tax type information"
                    },
                    "origin": {
                        "$ref": "#/components/schemas/TaxOrigin"
                    },
                    "jurisdictionName": {
                        "type": "string",
                        "description": "Name of the jurisdiction"
                    },
                    "jurisdictionType": {
                        "$ref": "#/components/schemas/JurisdictionType"
                    },
                    "jurisdictionLocation": {
                        "$ref": "#/components/schemas/Address"
                    }
                },
                "required": [
                    "amountForType",
                    "classification",
                    "jurisdictionLocation",
                    "jurisdictionName",
                    "jurisdictionType",
                    "name",
                    "subClassification"
                ]
            },
            "TaxOrigin": {
                "type": "string",
                "enum": [
                    "ORIGIN",
                    "DESTINATION"
                ]
            },
            "TaxableLineItem": {
                "type": "object",
                "properties": {
                    "lineItemId": {
                        "type": "string",
                        "description": "Unique identifier for the line item"
                    },
                    "lineItemType": {
                        "$ref": "#/components/schemas/LineItemType"
                    },
                    "quantity": {
                        "$ref": "#/components/schemas/Quantity"
                    },
                    "unitSalePrice": {
                        "$ref": "#/components/schemas/Amount"
                    },
                    "aggregatePrice": {
                        "$ref": "#/components/schemas/Amount"
                    },
                    "productTaxCode": {
                        "type": "string",
                        "description": "The tax code to use for this line item"
                    },
                    "productDescription": {
                        "type": "string",
                        "description": "Description of the line item"
                    }
                },
                "required": [
                    "aggregatePrice",
                    "lineItemId",
                    "lineItemType",
                    "productTaxCode"
                ]
            },
            "ThrottlingExceptionResponseContent": {
                "type": "object",
                "properties": {
                    "message": {
                        "type": "string"
                    },
                    "serviceCode": {
                        "type": "string"
                    },
                    "quotaCode": {
                        "type": "string"
                    }
                },
                "required": [
                    "message"
                ]
            },
            "UnitType": {
                "type": "string",
                "description": "Supported unit types",
                "enum": [
                    "COUNTABLE",
                    "MEASURABLE"
                ]
            },
            "UpdateCartRequestContent": {
                "type": "object",
                "description": "Base input mixin for all transact API calls",
                "properties": {
                    "lineItems": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/LineItemInput"
                        }
                    },
                    "shopperId": {
                        "type": "string",
                        "pattern": "^[A-Za-z0-9_-]+$",
                        "description": "shopperId used to uniquely identify a shopper for the corresponding retailer."
                    },
                    "fulfillerAddress": {
                        "$ref": "#/components/schemas/Address"
                    },
                    "fulfillmentOptionSelection": {
                        "$ref": "#/components/schemas/FulfillmentOptionSelection"
                    },
                    "buyingApplication": {
                        "$ref": "#/components/schemas/BuyingApplicationInput"
                    }
                }
            },
            "UpdateCartResponseContent": {
                "type": "object",
                "properties": {
                    "cart": {
                        "$ref": "#/components/schemas/CartDocument"
                    },
                    "constraintViolations": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ConstraintViolation"
                        }
                    }
                },
                "required": [
                    "cart"
                ]
            },
            "UpdateOrderFulfillmentsResponseContent": {
                "type": "object",
                "properties": {
                    "order": {
                        "$ref": "#/components/schemas/OrderDocument"
                    },
                    "constraintViolations": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ConstraintViolation"
                        }
                    }
                },
                "required": [
                    "order"
                ]
            },
            "UpdateOrderRequestContent": {
                "type": "object",
                "description": "Base input mixin for all transact API calls",
                "properties": {
                    "lineItems": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/LineItemInput"
                        }
                    },
                    "payments": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Payment"
                        }
                    },
                    "shopperId": {
                        "type": "string",
                        "pattern": "^[A-Za-z0-9_-]+$",
                        "description": "shopperId used to uniquely identify a shopper for the corresponding retailer."
                    },
                    "fulfillerAddress": {
                        "$ref": "#/components/schemas/Address"
                    },
                    "recipients": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Recipient"
                        }
                    },
                    "discountApplications": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/DiscountApplication"
                        }
                    },
                    "fulfillmentOptionSelection": {
                        "$ref": "#/components/schemas/FulfillmentOptionSelection"
                    },
                    "buyingApplication": {
                        "$ref": "#/components/schemas/BuyingApplicationInput"
                    }
                }
            },
            "UpdateOrderResponseContent": {
                "type": "object",
                "properties": {
                    "order": {
                        "$ref": "#/components/schemas/OrderDocument"
                    },
                    "constraintViolations": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ConstraintViolation"
                        }
                    }
                },
                "required": [
                    "order"
                ]
            },
            "UpdateOrderReturnsResponseContent": {
                "type": "object",
                "properties": {
                    "order": {
                        "$ref": "#/components/schemas/OrderDocument"
                    },
                    "constraintViolations": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ConstraintViolation"
                        }
                    }
                },
                "required": [
                    "order"
                ]
            },
            "ValidationExceptionField": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "message": {
                        "type": "string"
                    }
                },
                "required": [
                    "message",
                    "name"
                ]
            },
            "ValidationExceptionReason": {
                "type": "string",
                "enum": [
                    "unknownOperation",
                    "cannotParse",
                    "fieldValidationFailed",
                    "other"
                ]
            },
            "ValidationExceptionResponseContent": {
                "type": "object",
                "properties": {
                    "message": {
                        "type": "string"
                    },
                    "reason": {
                        "$ref": "#/components/schemas/ValidationExceptionReason"
                    },
                    "fieldList": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ValidationExceptionField"
                        }
                    }
                },
                "required": [
                    "message",
                    "reason"
                ]
            }
        },
        "securitySchemes": {
            "aws.auth.sigv4": {
                "type": "apiKey",
                "description": "AWS Signature Version 4 authentication",
                "name": "Authorization",
                "in": "header",
                "x-amazon-apigateway-authtype": "awsSigv4"
            }
        }
    },
    "security": [
        {
            "aws.auth.sigv4": []
        }
    ]
}
