# Get one-time products for next upcoming order Retrieves one-time products that will be included in the next scheduled order for a subscription contract. This endpoint specifically returns products associated with the earliest queued billing attempt, making it ideal for showing customers what additional items will be in their next delivery. Key Differences from /subscription-contract-one-offs-by-contractId: - Returns ONLY products for the next upcoming order (not all future orders) - Finds the earliest QUEUED billing attempt by date - Returns empty array if no queued billing attempts exist - Useful for "Your Next Order" previews in customer portals Use Cases: - Display a preview of the next order including one-time add-ons - Calculate the total cost of the upcoming delivery - Show customers their next delivery date with associated one-time items - Allow last-minute modifications before order processing Business Logic: 1. Searches for billing attempts with status = QUEUED 2. Selects the one with the earliest billing date 3. Returns all one-time products for that specific billing attempt 4. Returns empty array if no queued orders exist (e.g., subscription paused/cancelled) Authentication: Requires valid X-API-Key header that identifies the shop Endpoint: GET /api/external/v2/upcoming-subscription-contract-one-offs-by-contractId Version: 0.0.1 ## Header parameters: - `X-API-Key` (string, required) API Key for authentication. This key identifies your shop and must be included in the X-API-Key header. Example: "sk_live_1234567890abcdef" ## Query parameters: - `contractId` (integer, required) The unique identifier of the subscription contract to retrieve upcoming one-time products for Example: 98765 - `api_key` (string) API Key (Deprecated - Use X-API-Key header instead) Example: "sk_live_1234567890abcdef" ## Response 200 fields (application/json): - `id` (integer) Unique identifier of the one-time product record Example: 12345 - `shop` (string, required) The Shopify store domain that owns this subscription Example: "example-store.myshopify.com" - `billingAttemptId` (integer) The billing attempt ID this one-time product is associated with. This determines which upcoming order will include this product. Example: 54321 - `subscriptionContractId` (integer) The subscription contract ID this one-time product belongs to Example: 98765 - `variantId` (integer) The Shopify product variant ID for this one-time product Example: 42549172011164 - `variantHandle` (string) The handle/slug of the product variant for URL-friendly identification Example: "premium-coffee-blend-500g" - `quantity` (integer) The quantity of this product to include in the order Example: 2 - `price` (number) The price per unit of this product in the shop's base currency. This may include any applicable discounts. Example: 19.99 ## Response 400 fields (application/json): - `instance` (string) - `type` (string) - `parameters` (object) - `status` (object) - `status.statusCode` (integer) - `status.reasonPhrase` (string) - `detail` (string) - `title` (string) ## Response 401 fields (application/json): - `instance` (string) - `type` (string) - `parameters` (object) - `status` (object) - `status.statusCode` (integer) - `status.reasonPhrase` (string) - `detail` (string) - `title` (string) ## Response 403 fields (application/json): - `instance` (string) - `type` (string) - `parameters` (object) - `status` (object) - `status.statusCode` (integer) - `status.reasonPhrase` (string) - `detail` (string) - `title` (string)