{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/bigcommerce/main/json-schema/bigcommerce-rate-request-payload-schema.json", "title": "Rate Request Payload", "description": "Payload sent to a Shipping Provider to get quotes.", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/bigcommerce-shipping-provider-api-openapi.yml#/components/schemas/RateRequestPayload", "type": "object", "properties": { "base_options": { "$ref": "#/$defs/BaseOptions" }, "zone_options": { "$ref": "#/$defs/ZoneOptionsInstance" }, "connection_options": { "$ref": "#/$defs/ConnectionOptionsInstance" } }, "required": [ "base_options" ], "x-internal": false, "$defs": { "BaseOptions": { "description": "The minimum required payload that is sent to retrieve rates.", "type": "object", "title": "Base Rate Request", "x-internal": false, "properties": { "origin": { "type": "object", "title": "Shipping Address", "description": "Object representing a destination or origin address for items.", "required": [ "zip", "country_iso2" ], "properties": { "street_1": { "type": "string", "maxLength": 255 }, "street_2": { "type": "string", "maxLength": 255 }, "zip": { "type": "string", "maxLength": 20 }, "city": { "type": "string", "maxLength": 50 }, "state_iso2": { "type": "string", "description": "State in ISO_3166 2 format.", "maxLength": 2 }, "country_iso2": { "type": "string", "description": "Country in ISO_3166 2 format.", "maxLength": 2 }, "address_type": { "description": "Optional. Defaults to `RESIDENTIAL`.", "type": "string", "enum": [ "RESIDENTIAL", "COMMERCIAL" ] } } }, "destination": { "type": "object", "title": "Shipping Address", "description": "Object representing a destination or origin address for items.", "required": [ "zip", "country_iso2" ], "properties": { "street_1": { "type": "string", "maxLength": 255 }, "street_2": { "type": "string", "maxLength": 255 }, "zip": { "type": "string", "maxLength": 20 }, "city": { "type": "string", "maxLength": 50 }, "state_iso2": { "type": "string", "description": "State in ISO_3166 2 format", "maxLength": 2 }, "country_iso2": { "type": "string", "description": "Country in ISO_3166 2 format", "maxLength": 2 }, "address_type": { "description": "Defaults to residential. Optional.", "type": "string", "enum": [ "RESIDENTIAL", "COMMERCIAL" ] }, "form_fields": { "type": "object", "description": "Describes one or more [custom form fields](/docs/rest-storefront/forms). Property key is the global ID of a shipping address form field. When no custom fields exist, the object is empty.", "properties": { "