A developer encountered a “Required parameter missing: ‘article’” error when attempting to update a Shopify article’s author and publication date via the REST API in Python.
Issue identified:
The data2 dictionary wasn’t being passed correctly to the requests.put() method
Without specifying the json keyword argument, the payload was treated as the positional data parameter, requiring manual encoding
Solution provided:
A Shopify support representative shared working Python code demonstrating:
Proper use of json=payload keyword argument in requests.put()
Correct payload structure with nested article object containing id, title, body_html, and published_at fields
Required headers including X-Shopify-Access-Token
Outcome:
The original poster confirmed the solution resolved their issue after nearly an hour of troubleshooting.
Summarized with AI on November 7.
AI used: claude-sonnet-4-5-20250929.
You’ll need to ensure that data2 dict is passed as the json keyword argument. If the keyword isn’t specified, it will read it as the data (positional) parameter, which expects a encoded dictionary (i.e. data=json.dumps(payload)) and the article payload values may not be read fully. Below is one sample implementation using requests: