API transport/header semantics
Shopify Admin GraphQL non-200 errors payload GraphQL errors HTTP status 400
Useful `errors` payload is discarded after status semantics change.
Agent Quick Fix
Repair against the current Shopify Admin GraphQL contract, then keep the change narrow and source-backed.
Product: Shopify Admin GraphQL
Current-contract area: GraphQL response parser assumes every non-200 is non-GraphQL
Likely root cause: Useful `errors` payload is discarded after status semantics change.
Repair direction: Verifier checks headers, body encoding, and status handling across success and error cases. Check correct retry classification and GraphQL error parsing.
Symptom
Useful `errors` payload is discarded after status semantics change.
Why This Happens
Request bodies remain locally valid while the external API changes required Accept/Content-Type or success/error status interpretation.
Common Wrong Fixes
- Changing local code without checking the current external contract.
- Retrying the same install, build, or API call with no version/source change.
- Applying a broad unsafe bypass when a narrow compatibility fix is available.
Codex Search Keywords
These are the search terms observed in a neutral Codex validation run for this failure shape.
Shopify Admin GraphQL non-200 errors payload GraphQL errors HTTP status 400
site:shopify.dev/docs/api/admin-graphql status and error codes GraphQL errors status code
Shopify GraphQL Admin API status error codes 200 errors array
https://shopify.dev/docs/api/admin-graphql/latest
'Status and error codes' in https://shopify.dev/docs/api/admin-graphql/latest