API 404 for Fulfillment 22-07 vs 22-04

For api

POST orders/123/fulfillments.json

When using version 22-04 it works, when using 22-07 it gives a 404 error.

Here are two header responses for requests with the exact same body.

The only difference is the url on the first request (22-07) has the version specified, the url on the second one (22-04) does not.

Since the both support the Order Fulfillments, I don’t see a reason the newer version should fail?

Failed request using (version 20-07)

POST ...admin/api/22-07/orders/5280409944349/fulfillments.json 

Response Headers

HTTP/1.1 404 Not Found
Date: Wed, 29 Mar 2023 15:19:59 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
X-Sorting-Hat-PodId: 284
X-Sorting-Hat-ShopId: 73544827165
Vary: Accept-Encoding
Referrer-Policy: origin-when-cross-origin
X-Frame-Options: DENY
X-ShopId: 73544827165
X-ShardId: 284
X-Stats-UserId: 
X-Stats-ApiClientId: 35231531009
X-Stats-ApiPermissionId: 477185409309
X-Shopify-API-Terms: By accessing or using the Shopify API you agree to the Shopify API License and Terms of Use at https://www.shopify.com/legal/api-terms
X-Shopify-API-Version: 2022-07
HTTP_X_SHOPIFY_SHOP_API_CALL_LIMIT: 1/40
X-Shopify-Shop-Api-Call-Limit: 1/40
Strict-Transport-Security: max-age=7889238
X-Shopify-Stage: production
Content-Security-Policy: default-src 'self' data: blob: 'unsafe-inline' 'unsafe-eval' https://* shopify-pos://*; block-all-mixed-content; child-src 'self' https://* shopify-pos://*; connect-src 'self' wss://* https://*; frame-ancestors 'none'; img-src 'self' data: blob: https:; script-src https://cdn.shopify.com https://cdn.shopifycdn.net https://checkout.shopifycs.com https://api.stripe.com https://mpsnare.iesnare.com https://appcenter.intuit.com https://www.paypal.com https://js.braintreegateway.com https://c.paypal.com https://maps.googleapis.com https://www.google-analytics.com https://v.shopify.com 'self' 'unsafe-inline' 'unsafe-eval'; upgrade-insecure-requests; report-uri /csp-report?source%5Baction%5D=create&source%5Bapp%5D=Shopify&source%5Bcontroller%5D=admin%2Forders%2Ffulfillments&source%5Bsection%5D=admin_api&source%5Buuid%5D=bd9d2615-297f-4888-aed2-47efb2b93e98
X-Content-Type-Options: nosniff
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none
X-XSS-Protection: 1; mode=block; report=/xss-report?source%5Baction%5D=create&source%5Bapp%5D=Shopify&source%5Bcontroller%5D=admin%2Forders%2Ffulfillments&source%5Bsection%5D=admin_api&source%5Buuid%5D=bd9d2615-297f-4888-aed2-47efb2b93e98
X-Dc: gcp-europe-west2,gcp-us-east1,gcp-us-east1
X-Request-ID: bd9d2615-297f-4888-aed2-47efb2b93e98
CF-Cache-Status: DYNAMIC
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=nq%2BWEo8mjNQ8%2FGJpAuLr7gEuZojPAv7mMwC0ZzWrmXKMkthVVWQnW59KWVCrrkfuVrgQ%2FT3YBHppa1B%2FrHCDyaiPDqtJEvgqHLMCngrlzlY6FkV7IEZtzrDI17EWt8HXCGao3tko"}],"group":"cf-nel","max_age":604800}
NEL: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}
Server-Timing: cfRequestDuration;dur=13022.999763
Server: cloudflare
CF-RAY: 7af917d2bc5f731b-LHR
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400

Successful request using (version 22-04) and exact same body

POST ...admin/orders/5280409944349/fulfillments.json 

Response Headers

HTTP/1.1 201 Created
Date: Wed, 29 Mar 2023 15:38:59 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Sorting-Hat-PodId: 284
X-Sorting-Hat-ShopId: 73544827165
Referrer-Policy: origin-when-cross-origin
X-Frame-Options: DENY
X-ShopId: 73544827165
X-ShardId: 284
X-Stats-UserId: 
X-Stats-ApiClientId: 35231531009
X-Stats-ApiPermissionId: 477185409309
X-Shopify-API-Terms: By accessing or using the Shopify API you agree to the Shopify API License and Terms of Use at https://www.shopify.com/legal/api-terms
X-Shopify-API-Version: 2022-04
HTTP_X_SHOPIFY_SHOP_API_CALL_LIMIT: 1/40
X-Shopify-Shop-Api-Call-Limit: 1/40
X-Shopify-API-Deprecated-Reason: https://help.shopify.com/api/guides/managing-fulfillments-with-fulfillmentorders
Location: /admin/orders/5280409944349/fulfillments/4683036655901
Strict-Transport-Security: max-age=7889238
X-Shopify-Stage: production
Content-Security-Policy: default-src 'self' data: blob: 'unsafe-inline' 'unsafe-eval' https://* shopify-pos://*; block-all-mixed-content; child-src 'self' https://* shopify-pos://*; connect-src 'self' wss://* https://*; frame-ancestors 'none'; img-src 'self' data: blob: https:; script-src https://cdn.shopify.com https://cdn.shopifycdn.net https://checkout.shopifycs.com https://api.stripe.com https://mpsnare.iesnare.com https://appcenter.intuit.com https://www.paypal.com https://js.braintreegateway.com https://c.paypal.com https://maps.googleapis.com https://www.google-analytics.com https://v.shopify.com 'self' 'unsafe-inline' 'unsafe-eval'; upgrade-insecure-requests; report-uri /csp-report?source%5Baction%5D=create&source%5Bapp%5D=Shopify&source%5Bcontroller%5D=admin%2Forders%2Ffulfillments&source%5Bsection%5D=admin_api&source%5Buuid%5D=12d0e50b-2b16-4aab-af51-c2ba5582a834
X-Content-Type-Options: nosniff
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none
X-XSS-Protection: 1; mode=block; report=/xss-report?source%5Baction%5D=create&source%5Bapp%5D=Shopify&source%5Bcontroller%5D=admin%2Forders%2Ffulfillments&source%5Bsection%5D=admin_api&source%5Buuid%5D=12d0e50b-2b16-4aab-af51-c2ba5582a834
X-Dc: gcp-europe-west2,gcp-us-east1,gcp-us-east1
X-Request-ID: 12d0e50b-2b16-4aab-af51-c2ba5582a834
CF-Cache-Status: DYNAMIC
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=uhbGhToNpLYcslzENRZ2TXmUVN1fNerpPsOgFq6c5bnq9ltcvnPFTv0GeB1KIpnPRtTNrEbyCOPzIbXMTcPRktgGdMlkZKL%2BDxwLWsD8308kLfMTyJadDH%2FX7xebrY%2Fuu6S06qbp"}],"group":"cf-nel","max_age":604800}
NEL: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}
Server-Timing: cfRequestDuration;dur=539.000034
Server: cloudflare
CF-RAY: 7af933f618697771-LHR
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400

The API endpoint you are using for creating fulfillments is deprecated and has been replaced by the FulfillmentOrder API. This change may have been introduced in version 22-07, causing the 404 error you encountered.

You should update your code to use the FulfillmentOrder API instead of the deprecated endpoint.