# Update subscription delivery method Updates the delivery method for a subscription contract, supporting standard shipping, local delivery, and customer pickup options. The delivery method determines how future orders will be fulfilled. Delivery Method Types: The system automatically determines the type based on the subscription's current delivery address: - SHIPPING: Standard shipping to customer address (default) - LOCAL: Local delivery within merchant's delivery zones - PICK_UP: Customer pickup at designated location Two Ways to Update: 1. Manual Parameters: Provide title, code, and presentment title directly 2. Delivery Method ID: Provide a Shopify DeliveryMethodDefinition ID to auto-populate all fields Using Delivery Method ID: When providing a delivery-method-id: - System fetches the method from Shopify's delivery profiles - Automatically sets title, code, and presentment title - Applies associated delivery price if defined - ID can be numeric or full GraphQL ID format Delivery Type Requirements: - Standard Shipping: No additional requirements - Local Delivery: Phone number must exist in delivery address - Pickup: Pickup location must be configured in subscription Price Updates: - If using delivery-method-id with a fixed price, updates delivery price - Manual updates don't change the delivery price - Price changes affect all future orders Side Effects: - Creates activity log entry with method details - May remove invalid discount codes automatically - Updates apply to all future orders immediately - No customer notification sent Common Use Cases: - Switch from standard shipping to express shipping - Change pickup location for customer convenience - Update local delivery options based on availability - Apply seasonal delivery methods Important Notes: - Cannot change the delivery type (shipping/local/pickup) - only the method within that type - Delivery methods must be configured in Shopify's shipping settings - Changes don't affect orders already in fulfillment Authentication: Requires valid X-API-Key header Endpoint: PUT /api/external/v2/subscription-contracts-update-delivery-method Version: 0.0.1 ## Header parameters: - `X-API-Key` (string, required) API Key for authentication Example: "sk_live_1234567890abcdef" ## Query parameters: - `contractId` (integer, required) Subscription contract ID to update Example: 123456789 - `delivery-method-title` (string, required) Display name of the delivery method. This is what customers see. Ignored if delivery-method-id is provided. Example: "Express Shipping" - `delivery-method-code` (string, required) Internal code for the delivery method. Often same as title. Used for system identification. Ignored if delivery-method-id is provided. Example: "EXPRESS_SHIP" - `delivery-method-presentment-title` (string, required) Localized version of the title for multi-language stores. Often same as title for single-language stores. Ignored if delivery-method-id is provided. Example: "Express Shipping" - `delivery-method-id` (string) Optional Shopify DeliveryMethodDefinition ID. When provided, automatically fetches and applies the delivery method's title, code, presentment title, and price. Can be numeric ID or full GraphQL ID (gid://shopify/DeliveryMethodDefinition/123). Example: 123456 ## Response 204 fields ## Response 400 fields ## Response 401 fields ## Response 403 fields ## Response 404 fields ## Response 422 fields