I think I found where the endpoint lives, but the “abandoned_checkouts” scope isn’t accessible by Apps
curl --location --request POST 'https://upscribe-demo.myshopify.com/admin/checkouts/{token}/close.json' --header 'X-Shopify-Access-Token: xxxx'
{
"errors": "Scope undefined for API access: abandoned_checkouts. Valid scopes: admin_login_tokens, admin_notifications, admin_shop_settings, all_orders, all_subscription_contracts, analytics, analytics_overviews, apps, assigned_fulfillment_orders, banking, billing, capital, cash_tracking, channels, checkout_settings, checkouts, checkouts_vault_tokens, content, customer_payment_methods, customer_tags, customers, delivery, discounts, disputes, domains, draft_orders, fulfillments, gdpr_data_request, gift_card_adjustments, gift_cards, home, images, inventory, kit_skills, legal_policies, locales, locations, marketing_events, media_processing, merchant_managed_fulfillment_orders, meta_tags, mobile_payments, mobile_platform_applications, notifications, online_store, online_store_bot_protection, online_store_navigation, online_store_pages, online_store_preferences, order_edits, orders, own_subscription_contracts, payment_gateways, payment_sessions, payment_settings, physical_receipts, point_of_sale_devices, price_rules, product_engagements, product_inventory, product_listings, product_tags, products, publications, reports, resource_feedbacks, retail_addon_subscriptions, retail_bbpos_merchant, retail_roles, sales_agreements, script_tags, scripts, shipping, shopify_payments, shopify_payments_accounts, shopify_payments_balance_debits, shopify_payments_bank_accounts, shopify_payments_bank_accounts_sensitive, shopify_payments_disputes, shopify_payments_legal_entities, shopify_payments_payouts, shopify_payments_payouts_status, smart_grid, social_network_accounts, subscription_plans, taxes, themes, third_party_fulfillment_orders, tracking_pixels, translations, user_private_data, and users"
}
I would expect a 406 error if it was a non-sense request, but it’s a 403 and mentions an undocumented scope. So the endpoint exists, it’s just not open to us for some reason.