Trying to update tracking information but getting an error

Topic summary

Issue: Updating fulfillment tracking via the Shopify Admin REST API returns an error: {“errors”: {“fulfillment”: “Required parameter missing or invalid”}}.

Context and attempt:

  • Endpoint: POST /admin/api/2023-07/fulfillments/{fulfillment_id}/update_tracking.json.
  • Payload includes notify_customer and tracking_info (company UPS, tracking number). Request made via RESTED client.

Initial guidance:

  • A responder confirmed the payload matches Shopify’s docs and asked whether the app has the write_merchant_managed_fulfillment_orders access scope (app permission) enabled.

Follow-up from reporter:

  • Confirms the app has write_merchant_managed_fulfillment_orders and extensive read/write scopes for fulfillments and orders.
  • Notes the problem began after a migration; previously worked and now forces manual updates across US and CDN stores.

Status and outcomes:

  • No solution provided; reporter requested additional help and offered to share pre-migration code.
  • Discussion remains open with no identified root cause or action items beyond confirming scopes.

Key open questions:

  • Why the API returns the “fulfillment” parameter error despite a doc-aligned payload and correct scopes; no further diagnostics shared.
Summarized with AI on January 22. AI used: gpt-5.

I am trying to update the process of having order statuses set to fulfilled with tracking information.

I’m using the following:

https://{store}.myshopify.com/admin/api/2023-07/fulfillments/{fulfillment_id}/update_tracking.json

Passing the following:

{"fulfillment":{"notify_customer":true,"tracking_info":{"company":"UPS","number":"{UPS number}"}}}

But in a REST API call using RESTED, I receive the following:

{
    "errors": {
        "fulfillment": "Required parameter missing or invalid"
    }
}

Any idea what I’m doing wrong?

Hi Mejkaal,

The data you’re passing looks to be consistent with the example call in our docs here. Can you check if you have the “write_merchant_managed_fulfillment_orders” access scope enabled on your app?

Hi Liam,

My developer app has the following:

read_analytics, read_assigned_fulfillment_orders, read_customers, read_discounts, write_draft_orders, write_fulfillments, read_gdpr_data_request, read_gift_cards, read_inventory, read_legal_policies, read_locations, read_marketing_events, read_merchant_managed_fulfillment_orders, read_online_store_pages, write_order_edits, write_orders, read_price_rules, read_product_listings, read_products, read_reports, read_resource_feedbacks, read_script_tags, read_shipping, read_locales, read_shopify_payments_accounts, read_shopify_payments_bank_accounts, read_shopify_payments_disputes, read_shopify_payments_payouts, read_content, read_themes, read_third_party_fulfillment_orders, read_translations, read_draft_orders, read_fulfillments, read_order_edits, read_orders, write_assigned_fulfillment_orders, write_merchant_managed_fulfillment_orders, write_third_party_fulfillment_orders

Hi Liam,

Any chance you can assist me on this? I can send you the code I had before migration that was working perfectly?

Hi Liam

Any chance that I can get some assistance with my issue? Everything prior to the migration was working perfectly for updating fulfillment status and tracking information and now it’s causing me to have to manually do everything through access to my client’s US and CDN web store admins.

Thanks

Michael

I haven’t received any help in over two weeks to fix my issues.