Commerce Enabled contract

Create an authoritative commerce quote

Calculates price, discounts, tax, fees, availability, and purchase-limit outcomes in integer minor units.

Runtime status: unavailable. This is a source contract, not a live access or availability guarantee. Learn more
POST/partner/ecom/v1/quotes

Authority

Profile
partner-service
Data class
partner_operational
Required operation
createPartnerQuote
Subject scopes
No subject scopes declared for this operation.
partnerServiceBearer security scheme
{
  "type": "http",
  "scheme": "bearer",
  "bearerFormat": "JWT",
  "description": "Single-use, short-lived server credential with kid, issuer, token-use, audience, purpose, exact operation, assignment, partner, tenant, store, and channel claims. Browser code must never receive it."
}

Request

Request parameters
ParameterLocationRequirementSchema
smokestack-api-version

headerRequired{"type":"string","const":"2026-08-09"}
x-request-id

headerOptional{"type":"string","pattern":"^[A-Za-z0-9._:~-]{1,128}$"}
x-correlation-id

headerOptional{"type":"string","pattern":"^[A-Za-z0-9._:~-]{1,128}$"}
idempotency-key

headerRequired{"type":"string","pattern":"^[A-Za-z0-9._:~-]{16,255}$"}
Request body
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "properties": {
          "cartId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          },
          "audience": {
            "type": "string",
            "enum": [
              "REC",
              "MED"
            ]
          },
          "currency": {
            "type": "string",
            "enum": [
              "USD"
            ]
          },
          "fulfillmentMethod": {
            "type": "string",
            "enum": [
              "PICKUP",
              "CURBSIDE",
              "DELIVERY"
            ]
          },
          "externalCustomerSubject": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          },
          "lines": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "productId": {
                  "type": "string",
                  "format": "uuid"
                },
                "variantId": {
                  "type": "string",
                  "format": "uuid"
                },
                "quantity": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 999
                },
                "displayUnitPrice": {
                  "type": "object",
                  "properties": {
                    "amountMinor": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "currency": {
                      "type": "string",
                      "enum": [
                        "USD"
                      ]
                    }
                  },
                  "required": [
                    "amountMinor",
                    "currency"
                  ],
                  "additionalProperties": {}
                }
              },
              "required": [
                "productId",
                "variantId",
                "quantity"
              ],
              "additionalProperties": false
            },
            "minItems": 1,
            "maxItems": 200
          },
          "displayTotals": {
            "type": "object",
            "properties": {
              "subtotal": {
                "type": "object",
                "properties": {
                  "amountMinor": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "currency": {
                    "type": "string",
                    "enum": [
                      "USD"
                    ]
                  }
                },
                "required": [
                  "amountMinor",
                  "currency"
                ],
                "additionalProperties": {}
              },
              "discounts": {
                "type": "object",
                "properties": {
                  "amountMinor": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "currency": {
                    "type": "string",
                    "enum": [
                      "USD"
                    ]
                  }
                },
                "required": [
                  "amountMinor",
                  "currency"
                ],
                "additionalProperties": {}
              },
              "tax": {
                "type": "object",
                "properties": {
                  "amountMinor": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "currency": {
                    "type": "string",
                    "enum": [
                      "USD"
                    ]
                  }
                },
                "required": [
                  "amountMinor",
                  "currency"
                ],
                "additionalProperties": {}
              },
              "fees": {
                "type": "object",
                "properties": {
                  "amountMinor": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "currency": {
                    "type": "string",
                    "enum": [
                      "USD"
                    ]
                  }
                },
                "required": [
                  "amountMinor",
                  "currency"
                ],
                "additionalProperties": {}
              },
              "total": {
                "type": "object",
                "properties": {
                  "amountMinor": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "currency": {
                    "type": "string",
                    "enum": [
                      "USD"
                    ]
                  }
                },
                "required": [
                  "amountMinor",
                  "currency"
                ],
                "additionalProperties": {}
              }
            },
            "additionalProperties": false
          }
        },
        "required": [
          "cartId",
          "audience",
          "currency",
          "fulfillmentMethod",
          "lines"
        ],
        "additionalProperties": false
      }
    }
  }
}

Idempotency

{
  "required": true,
  "retentionSeconds": 604800,
  "replay": "same scoped key and canonical payload returns the stored business status and payload; per-attempt request metadata reflects the retry",
  "conflict": "same scoped key with a different canonical payload returns idempotency_conflict"
}

Request examples

Templates for your server, not browser code. Replace every placeholder and use your approved origin. For requests with a body, construct request.json / requestBody / request_body from the schema.

# Replace placeholders using your approved server-side integration.
curl --request POST 'https://partner-api.invalid/partner/ecom/v1/quotes' \
  --header 'smokestack-api-version: 2026-08-09' \
  --header 'idempotency-key: <IDEMPOTENCY_KEY>' \
  --header 'Authorization: Bearer <SERVER_ONLY_TOKEN>' \
  --header 'Content-Type: application/json' \
  --data @request.json

Responses

201 Successful partner response.
{
  "description": "Successful partner response.",
  "headers": {
    "SMOKESTACK-API-Version": {
      "description": "The negotiated compatible contract revision.",
      "schema": {
        "type": "string",
        "const": "2026-08-09"
      }
    },
    "X-Request-ID": {
      "description": "The request identifier accepted from the caller or generated by SMOKESTACK.",
      "schema": {
        "type": "string"
      }
    },
    "X-Correlation-ID": {
      "description": "The end-to-end correlation identifier.",
      "schema": {
        "type": "string"
      }
    },
    "Deprecation": {
      "description": "RFC 9745 Structured Field Date (`@` followed by Unix seconds) when an operation or revision is deprecated.",
      "schema": {
        "type": "string",
        "pattern": "^@[0-9]+$",
        "example": "@1814400000"
      }
    },
    "Sunset": {
      "description": "RFC 8594 HTTP-date when a deprecated operation has a scheduled retirement; servers emit IMF-fixdate in GMT.",
      "schema": {
        "type": "string",
        "example": "Fri, 28 Jan 2028 00:00:00 GMT"
      }
    },
    "Link": {
      "description": "Deprecation or successor documentation link; deprecation notices include rel=\"deprecation\".",
      "schema": {
        "type": "string"
      }
    }
  },
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/EcomPartnerQuoteResponse"
      }
    }
  }
}
400 Invalid request, cursor, or missing idempotency key.
{
  "description": "Invalid request, cursor, or missing idempotency key.",
  "headers": {
    "SMOKESTACK-API-Version": {
      "description": "The negotiated compatible contract revision.",
      "schema": {
        "type": "string",
        "const": "2026-08-09"
      }
    },
    "X-Request-ID": {
      "description": "The request identifier accepted from the caller or generated by SMOKESTACK.",
      "schema": {
        "type": "string"
      }
    },
    "X-Correlation-ID": {
      "description": "The end-to-end correlation identifier.",
      "schema": {
        "type": "string"
      }
    },
    "Deprecation": {
      "description": "RFC 9745 Structured Field Date (`@` followed by Unix seconds) when an operation or revision is deprecated.",
      "schema": {
        "type": "string",
        "pattern": "^@[0-9]+$",
        "example": "@1814400000"
      }
    },
    "Sunset": {
      "description": "RFC 8594 HTTP-date when a deprecated operation has a scheduled retirement; servers emit IMF-fixdate in GMT.",
      "schema": {
        "type": "string",
        "example": "Fri, 28 Jan 2028 00:00:00 GMT"
      }
    },
    "Link": {
      "description": "Deprecation or successor documentation link; deprecation notices include rel=\"deprecation\".",
      "schema": {
        "type": "string"
      }
    }
  },
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/EcomPartnerError"
      }
    }
  }
}
401 Partner authentication required.
{
  "description": "Partner authentication required.",
  "headers": {
    "SMOKESTACK-API-Version": {
      "description": "The negotiated compatible contract revision.",
      "schema": {
        "type": "string",
        "const": "2026-08-09"
      }
    },
    "X-Request-ID": {
      "description": "The request identifier accepted from the caller or generated by SMOKESTACK.",
      "schema": {
        "type": "string"
      }
    },
    "X-Correlation-ID": {
      "description": "The end-to-end correlation identifier.",
      "schema": {
        "type": "string"
      }
    },
    "Deprecation": {
      "description": "RFC 9745 Structured Field Date (`@` followed by Unix seconds) when an operation or revision is deprecated.",
      "schema": {
        "type": "string",
        "pattern": "^@[0-9]+$",
        "example": "@1814400000"
      }
    },
    "Sunset": {
      "description": "RFC 8594 HTTP-date when a deprecated operation has a scheduled retirement; servers emit IMF-fixdate in GMT.",
      "schema": {
        "type": "string",
        "example": "Fri, 28 Jan 2028 00:00:00 GMT"
      }
    },
    "Link": {
      "description": "Deprecation or successor documentation link; deprecation notices include rel=\"deprecation\".",
      "schema": {
        "type": "string"
      }
    }
  },
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/EcomPartnerError"
      }
    }
  }
}
403 Partner authority does not permit this operation.
{
  "description": "Partner authority does not permit this operation.",
  "headers": {
    "SMOKESTACK-API-Version": {
      "description": "The negotiated compatible contract revision.",
      "schema": {
        "type": "string",
        "const": "2026-08-09"
      }
    },
    "X-Request-ID": {
      "description": "The request identifier accepted from the caller or generated by SMOKESTACK.",
      "schema": {
        "type": "string"
      }
    },
    "X-Correlation-ID": {
      "description": "The end-to-end correlation identifier.",
      "schema": {
        "type": "string"
      }
    },
    "Deprecation": {
      "description": "RFC 9745 Structured Field Date (`@` followed by Unix seconds) when an operation or revision is deprecated.",
      "schema": {
        "type": "string",
        "pattern": "^@[0-9]+$",
        "example": "@1814400000"
      }
    },
    "Sunset": {
      "description": "RFC 8594 HTTP-date when a deprecated operation has a scheduled retirement; servers emit IMF-fixdate in GMT.",
      "schema": {
        "type": "string",
        "example": "Fri, 28 Jan 2028 00:00:00 GMT"
      }
    },
    "Link": {
      "description": "Deprecation or successor documentation link; deprecation notices include rel=\"deprecation\".",
      "schema": {
        "type": "string"
      }
    }
  },
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/EcomPartnerError"
      }
    }
  }
}
404 Partner-safe resource not found.
{
  "description": "Partner-safe resource not found.",
  "headers": {
    "SMOKESTACK-API-Version": {
      "description": "The negotiated compatible contract revision.",
      "schema": {
        "type": "string",
        "const": "2026-08-09"
      }
    },
    "X-Request-ID": {
      "description": "The request identifier accepted from the caller or generated by SMOKESTACK.",
      "schema": {
        "type": "string"
      }
    },
    "X-Correlation-ID": {
      "description": "The end-to-end correlation identifier.",
      "schema": {
        "type": "string"
      }
    },
    "Deprecation": {
      "description": "RFC 9745 Structured Field Date (`@` followed by Unix seconds) when an operation or revision is deprecated.",
      "schema": {
        "type": "string",
        "pattern": "^@[0-9]+$",
        "example": "@1814400000"
      }
    },
    "Sunset": {
      "description": "RFC 8594 HTTP-date when a deprecated operation has a scheduled retirement; servers emit IMF-fixdate in GMT.",
      "schema": {
        "type": "string",
        "example": "Fri, 28 Jan 2028 00:00:00 GMT"
      }
    },
    "Link": {
      "description": "Deprecation or successor documentation link; deprecation notices include rel=\"deprecation\".",
      "schema": {
        "type": "string"
      }
    }
  },
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/EcomPartnerError"
      }
    }
  }
}
406 Requested API revision is unsupported.
{
  "description": "Requested API revision is unsupported.",
  "headers": {
    "SMOKESTACK-API-Version": {
      "description": "The negotiated compatible contract revision.",
      "schema": {
        "type": "string",
        "const": "2026-08-09"
      }
    },
    "X-Request-ID": {
      "description": "The request identifier accepted from the caller or generated by SMOKESTACK.",
      "schema": {
        "type": "string"
      }
    },
    "X-Correlation-ID": {
      "description": "The end-to-end correlation identifier.",
      "schema": {
        "type": "string"
      }
    },
    "Deprecation": {
      "description": "RFC 9745 Structured Field Date (`@` followed by Unix seconds) when an operation or revision is deprecated.",
      "schema": {
        "type": "string",
        "pattern": "^@[0-9]+$",
        "example": "@1814400000"
      }
    },
    "Sunset": {
      "description": "RFC 8594 HTTP-date when a deprecated operation has a scheduled retirement; servers emit IMF-fixdate in GMT.",
      "schema": {
        "type": "string",
        "example": "Fri, 28 Jan 2028 00:00:00 GMT"
      }
    },
    "Link": {
      "description": "Deprecation or successor documentation link; deprecation notices include rel=\"deprecation\".",
      "schema": {
        "type": "string"
      }
    }
  },
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/EcomPartnerError"
      }
    }
  }
}
409 Idempotency, expiry, or stale-resource conflict.
{
  "description": "Idempotency, expiry, or stale-resource conflict.",
  "headers": {
    "SMOKESTACK-API-Version": {
      "description": "The negotiated compatible contract revision.",
      "schema": {
        "type": "string",
        "const": "2026-08-09"
      }
    },
    "X-Request-ID": {
      "description": "The request identifier accepted from the caller or generated by SMOKESTACK.",
      "schema": {
        "type": "string"
      }
    },
    "X-Correlation-ID": {
      "description": "The end-to-end correlation identifier.",
      "schema": {
        "type": "string"
      }
    },
    "Deprecation": {
      "description": "RFC 9745 Structured Field Date (`@` followed by Unix seconds) when an operation or revision is deprecated.",
      "schema": {
        "type": "string",
        "pattern": "^@[0-9]+$",
        "example": "@1814400000"
      }
    },
    "Sunset": {
      "description": "RFC 8594 HTTP-date when a deprecated operation has a scheduled retirement; servers emit IMF-fixdate in GMT.",
      "schema": {
        "type": "string",
        "example": "Fri, 28 Jan 2028 00:00:00 GMT"
      }
    },
    "Link": {
      "description": "Deprecation or successor documentation link; deprecation notices include rel=\"deprecation\".",
      "schema": {
        "type": "string"
      }
    }
  },
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/EcomPartnerError"
      }
    }
  }
}
422 The request is valid JSON but cannot be accepted as commerce authority.
{
  "description": "The request is valid JSON but cannot be accepted as commerce authority.",
  "headers": {
    "SMOKESTACK-API-Version": {
      "description": "The negotiated compatible contract revision.",
      "schema": {
        "type": "string",
        "const": "2026-08-09"
      }
    },
    "X-Request-ID": {
      "description": "The request identifier accepted from the caller or generated by SMOKESTACK.",
      "schema": {
        "type": "string"
      }
    },
    "X-Correlation-ID": {
      "description": "The end-to-end correlation identifier.",
      "schema": {
        "type": "string"
      }
    },
    "Deprecation": {
      "description": "RFC 9745 Structured Field Date (`@` followed by Unix seconds) when an operation or revision is deprecated.",
      "schema": {
        "type": "string",
        "pattern": "^@[0-9]+$",
        "example": "@1814400000"
      }
    },
    "Sunset": {
      "description": "RFC 8594 HTTP-date when a deprecated operation has a scheduled retirement; servers emit IMF-fixdate in GMT.",
      "schema": {
        "type": "string",
        "example": "Fri, 28 Jan 2028 00:00:00 GMT"
      }
    },
    "Link": {
      "description": "Deprecation or successor documentation link; deprecation notices include rel=\"deprecation\".",
      "schema": {
        "type": "string"
      }
    }
  },
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/EcomPartnerError"
      }
    }
  }
}
429 Partner rate limit exceeded.
{
  "description": "Partner rate limit exceeded.",
  "headers": {
    "SMOKESTACK-API-Version": {
      "description": "The negotiated compatible contract revision.",
      "schema": {
        "type": "string",
        "const": "2026-08-09"
      }
    },
    "X-Request-ID": {
      "description": "The request identifier accepted from the caller or generated by SMOKESTACK.",
      "schema": {
        "type": "string"
      }
    },
    "X-Correlation-ID": {
      "description": "The end-to-end correlation identifier.",
      "schema": {
        "type": "string"
      }
    },
    "Deprecation": {
      "description": "RFC 9745 Structured Field Date (`@` followed by Unix seconds) when an operation or revision is deprecated.",
      "schema": {
        "type": "string",
        "pattern": "^@[0-9]+$",
        "example": "@1814400000"
      }
    },
    "Sunset": {
      "description": "RFC 8594 HTTP-date when a deprecated operation has a scheduled retirement; servers emit IMF-fixdate in GMT.",
      "schema": {
        "type": "string",
        "example": "Fri, 28 Jan 2028 00:00:00 GMT"
      }
    },
    "Link": {
      "description": "Deprecation or successor documentation link; deprecation notices include rel=\"deprecation\".",
      "schema": {
        "type": "string"
      }
    },
    "Retry-After": {
      "description": "Seconds until the caller may retry.",
      "schema": {
        "type": "integer",
        "minimum": 0
      }
    }
  },
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/EcomPartnerError"
      }
    }
  }
}
500 An unexpected error occurred without exposing internal details.
{
  "description": "An unexpected error occurred without exposing internal details.",
  "headers": {
    "SMOKESTACK-API-Version": {
      "description": "The negotiated compatible contract revision.",
      "schema": {
        "type": "string",
        "const": "2026-08-09"
      }
    },
    "X-Request-ID": {
      "description": "The request identifier accepted from the caller or generated by SMOKESTACK.",
      "schema": {
        "type": "string"
      }
    },
    "X-Correlation-ID": {
      "description": "The end-to-end correlation identifier.",
      "schema": {
        "type": "string"
      }
    },
    "Deprecation": {
      "description": "RFC 9745 Structured Field Date (`@` followed by Unix seconds) when an operation or revision is deprecated.",
      "schema": {
        "type": "string",
        "pattern": "^@[0-9]+$",
        "example": "@1814400000"
      }
    },
    "Sunset": {
      "description": "RFC 8594 HTTP-date when a deprecated operation has a scheduled retirement; servers emit IMF-fixdate in GMT.",
      "schema": {
        "type": "string",
        "example": "Fri, 28 Jan 2028 00:00:00 GMT"
      }
    },
    "Link": {
      "description": "Deprecation or successor documentation link; deprecation notices include rel=\"deprecation\".",
      "schema": {
        "type": "string"
      }
    }
  },
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/EcomPartnerError"
      }
    }
  }
}
501 The contract operation is published but is not enabled for this partner. Contract publication is not provider activation.
{
  "description": "The contract operation is published but is not enabled for this partner. Contract publication is not provider activation.",
  "headers": {
    "SMOKESTACK-API-Version": {
      "description": "The negotiated compatible contract revision.",
      "schema": {
        "type": "string",
        "const": "2026-08-09"
      }
    },
    "X-Request-ID": {
      "description": "The request identifier accepted from the caller or generated by SMOKESTACK.",
      "schema": {
        "type": "string"
      }
    },
    "X-Correlation-ID": {
      "description": "The end-to-end correlation identifier.",
      "schema": {
        "type": "string"
      }
    },
    "Deprecation": {
      "description": "RFC 9745 Structured Field Date (`@` followed by Unix seconds) when an operation or revision is deprecated.",
      "schema": {
        "type": "string",
        "pattern": "^@[0-9]+$",
        "example": "@1814400000"
      }
    },
    "Sunset": {
      "description": "RFC 8594 HTTP-date when a deprecated operation has a scheduled retirement; servers emit IMF-fixdate in GMT.",
      "schema": {
        "type": "string",
        "example": "Fri, 28 Jan 2028 00:00:00 GMT"
      }
    },
    "Link": {
      "description": "Deprecation or successor documentation link; deprecation notices include rel=\"deprecation\".",
      "schema": {
        "type": "string"
      }
    }
  },
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/EcomPartnerError"
      }
    }
  }
}
503 An authoritative dependency is unavailable; the service does not guess.
{
  "description": "An authoritative dependency is unavailable; the service does not guess.",
  "headers": {
    "SMOKESTACK-API-Version": {
      "description": "The negotiated compatible contract revision.",
      "schema": {
        "type": "string",
        "const": "2026-08-09"
      }
    },
    "X-Request-ID": {
      "description": "The request identifier accepted from the caller or generated by SMOKESTACK.",
      "schema": {
        "type": "string"
      }
    },
    "X-Correlation-ID": {
      "description": "The end-to-end correlation identifier.",
      "schema": {
        "type": "string"
      }
    },
    "Deprecation": {
      "description": "RFC 9745 Structured Field Date (`@` followed by Unix seconds) when an operation or revision is deprecated.",
      "schema": {
        "type": "string",
        "pattern": "^@[0-9]+$",
        "example": "@1814400000"
      }
    },
    "Sunset": {
      "description": "RFC 8594 HTTP-date when a deprecated operation has a scheduled retirement; servers emit IMF-fixdate in GMT.",
      "schema": {
        "type": "string",
        "example": "Fri, 28 Jan 2028 00:00:00 GMT"
      }
    },
    "Link": {
      "description": "Deprecation or successor documentation link; deprecation notices include rel=\"deprecation\".",
      "schema": {
        "type": "string"
      }
    },
    "Retry-After": {
      "description": "Seconds until the caller may retry when known.",
      "schema": {
        "type": "integer",
        "minimum": 0
      }
    }
  },
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/EcomPartnerError"
      }
    }
  }
}

Referenced schemas

Only schemas reachable from this operation are shown. The revision-pinned OpenAPI download includes their complete definitions.

EcomPartnerQuoteResponse
{
  "type": "object",
  "properties": {
    "quoteId": {
      "type": "string",
      "format": "uuid"
    },
    "quoteVersion": {
      "type": "integer",
      "minimum": 1
    },
    "quoteToken": {
      "type": "string",
      "minLength": 16,
      "maxLength": 4096
    },
    "status": {
      "type": "string",
      "enum": [
        "ACCEPTED",
        "REJECTED"
      ]
    },
    "currency": {
      "type": "string",
      "enum": [
        "USD"
      ]
    },
    "lines": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "string",
            "format": "uuid"
          },
          "variantId": {
            "type": "string",
            "format": "uuid"
          },
          "quantity": {
            "type": "integer",
            "minimum": 1
          },
          "unitPrice": {
            "type": "object",
            "properties": {
              "amountMinor": {
                "type": "integer",
                "minimum": 0
              },
              "currency": {
                "type": "string",
                "enum": [
                  "USD"
                ]
              }
            },
            "required": [
              "amountMinor",
              "currency"
            ],
            "additionalProperties": {}
          },
          "lineSubtotal": {
            "type": "object",
            "properties": {
              "amountMinor": {
                "type": "integer",
                "minimum": 0
              },
              "currency": {
                "type": "string",
                "enum": [
                  "USD"
                ]
              }
            },
            "required": [
              "amountMinor",
              "currency"
            ],
            "additionalProperties": {}
          },
          "adjustments": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "DISCOUNT",
                    "TAX",
                    "FEE"
                  ]
                },
                "code": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128
                },
                "label": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                "amount": {
                  "type": "object",
                  "properties": {
                    "amountMinor": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "currency": {
                      "type": "string",
                      "enum": [
                        "USD"
                      ]
                    }
                  },
                  "required": [
                    "amountMinor",
                    "currency"
                  ],
                  "additionalProperties": {}
                }
              },
              "required": [
                "type",
                "code",
                "label",
                "amount"
              ],
              "additionalProperties": {}
            }
          },
          "discounts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128
                },
                "label": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                "amount": {
                  "type": "object",
                  "properties": {
                    "amountMinor": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "currency": {
                      "type": "string",
                      "enum": [
                        "USD"
                      ]
                    }
                  },
                  "required": [
                    "amountMinor",
                    "currency"
                  ],
                  "additionalProperties": {}
                }
              },
              "required": [
                "code",
                "label",
                "amount"
              ],
              "additionalProperties": {}
            }
          },
          "lineTax": {
            "type": "object",
            "properties": {
              "amountMinor": {
                "type": "integer",
                "minimum": 0
              },
              "currency": {
                "type": "string",
                "enum": [
                  "USD"
                ]
              }
            },
            "required": [
              "amountMinor",
              "currency"
            ],
            "additionalProperties": {}
          },
          "lineFees": {
            "type": "object",
            "properties": {
              "amountMinor": {
                "type": "integer",
                "minimum": 0
              },
              "currency": {
                "type": "string",
                "enum": [
                  "USD"
                ]
              }
            },
            "required": [
              "amountMinor",
              "currency"
            ],
            "additionalProperties": {}
          },
          "lineTotal": {
            "type": "object",
            "properties": {
              "amountMinor": {
                "type": "integer",
                "minimum": 0
              },
              "currency": {
                "type": "string",
                "enum": [
                  "USD"
                ]
              }
            },
            "required": [
              "amountMinor",
              "currency"
            ],
            "additionalProperties": {}
          },
          "availability": {
            "type": "object",
            "properties": {
              "state": {
                "type": "string",
                "enum": [
                  "IN_STOCK",
                  "LOW_STOCK",
                  "OUT_OF_STOCK",
                  "UNAVAILABLE"
                ]
              },
              "quantityAvailable": {
                "type": "integer",
                "minimum": 0
              },
              "fulfillmentMethods": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "PICKUP",
                    "CURBSIDE",
                    "DELIVERY"
                  ]
                }
              },
              "freshness": {
                "type": "object",
                "properties": {
                  "observedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "staleAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "expiresAt": {
                    "type": "string",
                    "format": "date-time"
                  }
                },
                "required": [
                  "observedAt",
                  "staleAt",
                  "expiresAt"
                ],
                "additionalProperties": {}
              }
            },
            "required": [
              "state",
              "fulfillmentMethods",
              "freshness"
            ],
            "additionalProperties": {}
          }
        },
        "required": [
          "productId",
          "variantId",
          "quantity",
          "unitPrice",
          "lineSubtotal",
          "adjustments",
          "discounts",
          "lineTax",
          "lineFees",
          "lineTotal",
          "availability"
        ],
        "additionalProperties": {}
      }
    },
    "totals": {
      "type": "object",
      "properties": {
        "subtotal": {
          "type": "object",
          "properties": {
            "amountMinor": {
              "type": "integer",
              "minimum": 0
            },
            "currency": {
              "type": "string",
              "enum": [
                "USD"
              ]
            }
          },
          "required": [
            "amountMinor",
            "currency"
          ],
          "additionalProperties": {}
        },
        "discounts": {
          "type": "object",
          "properties": {
            "amountMinor": {
              "type": "integer",
              "minimum": 0
            },
            "currency": {
              "type": "string",
              "enum": [
                "USD"
              ]
            }
          },
          "required": [
            "amountMinor",
            "currency"
          ],
          "additionalProperties": {}
        },
        "tax": {
          "type": "object",
          "properties": {
            "amountMinor": {
              "type": "integer",
              "minimum": 0
            },
            "currency": {
              "type": "string",
              "enum": [
                "USD"
              ]
            }
          },
          "required": [
            "amountMinor",
            "currency"
          ],
          "additionalProperties": {}
        },
        "fees": {
          "type": "object",
          "properties": {
            "amountMinor": {
              "type": "integer",
              "minimum": 0
            },
            "currency": {
              "type": "string",
              "enum": [
                "USD"
              ]
            }
          },
          "required": [
            "amountMinor",
            "currency"
          ],
          "additionalProperties": {}
        },
        "total": {
          "type": "object",
          "properties": {
            "amountMinor": {
              "type": "integer",
              "minimum": 0
            },
            "currency": {
              "type": "string",
              "enum": [
                "USD"
              ]
            }
          },
          "required": [
            "amountMinor",
            "currency"
          ],
          "additionalProperties": {}
        }
      },
      "required": [
        "subtotal",
        "discounts",
        "tax",
        "fees",
        "total"
      ],
      "additionalProperties": {}
    },
    "compliance": {
      "type": "object",
      "properties": {
        "outcome": {
          "type": "string",
          "enum": [
            "ALLOW",
            "BLOCK",
            "MANUAL_REVIEW",
            "UNAVAILABLE"
          ]
        },
        "rulesetDigest": {
          "type": [
            "string",
            "null"
          ]
        },
        "reasonCodes": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1
          }
        },
        "limitMath": {}
      },
      "required": [
        "outcome",
        "rulesetDigest",
        "reasonCodes"
      ],
      "additionalProperties": {}
    },
    "rejections": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "enum": [
              "PRODUCT_NOT_FOUND",
              "VARIANT_NOT_FOUND",
              "PRODUCT_VARIANT_MISMATCH",
              "NOT_SELLABLE",
              "SOLD_OUT",
              "INSUFFICIENT_AVAILABILITY",
              "STALE_INVENTORY",
              "PACKAGE_QUARANTINED_OR_RECALLED",
              "PRICE_UNAVAILABLE",
              "PRODUCT_CLASSIFICATION_MISSING",
              "PRODUCT_MEASUREMENT_MISSING",
              "PRODUCT_POTENCY_MISSING",
              "PURCHASE_LIMIT_EXCEEDED",
              "MEDICAL_ELIGIBILITY_REQUIRED",
              "COMPLIANCE_RULESET_UNAVAILABLE",
              "COMPLIANCE_REJECTED",
              "TAX_AUTHORITY_UNAVAILABLE",
              "FULFILLMENT_UNAVAILABLE"
            ]
          },
          "message": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500
          },
          "lineIndex": {
            "type": "integer",
            "minimum": 0
          }
        },
        "required": [
          "code",
          "message"
        ],
        "additionalProperties": {}
      }
    },
    "freshness": {
      "type": "object",
      "properties": {
        "observedAt": {
          "type": "string",
          "format": "date-time"
        },
        "staleAt": {
          "type": "string",
          "format": "date-time"
        },
        "expiresAt": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": [
        "observedAt",
        "staleAt",
        "expiresAt"
      ],
      "additionalProperties": {}
    },
    "expiresAt": {
      "type": "string",
      "format": "date-time"
    },
    "meta": {
      "type": "object",
      "properties": {
        "requestId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:~-]{1,128}$"
        },
        "correlationId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9._:~-]{1,128}$"
        },
        "apiVersion": {
          "type": "string",
          "enum": [
            "2026-07-28",
            "2026-08-09"
          ]
        },
        "generatedAt": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": [
        "requestId",
        "correlationId",
        "apiVersion",
        "generatedAt"
      ],
      "additionalProperties": {}
    }
  },
  "required": [
    "quoteId",
    "quoteVersion",
    "quoteToken",
    "status",
    "currency",
    "lines",
    "totals",
    "compliance",
    "rejections",
    "freshness",
    "expiresAt",
    "meta"
  ],
  "additionalProperties": {}
}
EcomPartnerError
{
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "enum": [
        "invalid_request",
        "authentication_required",
        "permission_denied",
        "resource_not_found",
        "api_version_not_supported",
        "invalid_cursor",
        "idempotency_key_required",
        "idempotency_conflict",
        "quote_rejected",
        "quote_expired",
        "resource_stale",
        "unsupported_currency",
        "rate_limited",
        "capability_unavailable",
        "upstream_unavailable",
        "internal_error"
      ]
    },
    "message": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "requestId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:~-]{1,128}$"
    },
    "correlationId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:~-]{1,128}$"
    },
    "details": {
      "type": "object",
      "additionalProperties": {}
    },
    "retryable": {
      "type": "boolean"
    }
  },
  "required": [
    "code",
    "message",
    "requestId",
    "correlationId",
    "retryable"
  ],
  "additionalProperties": {}
}