I’m trying to start using the REST API, so am working in Postman first. I can get products, but I am unable to update a product’s title. The PUT appears to work (I get back a 301) but the title never changes in the store. I am sure I am doing something really stupid.
Here’s what I am trying (this is Postman’s code output, replaced sensitive info with ‘{}’) :
curl --location --request PUT ‘https://{}.myshopify.com/admin/api/2023-10/products/8852085932353.json’
–header ‘Content-Type: application/json’
–header ‘X-Shopify-Access-Token: {}’
–header ‘Cookie: request_method=PUT’
–data ‘{
“product”: {
“id”: 8852085932353,
“title”: “New product title”
}
}’
Here’s the raw log of the request/response:
PUT / HTTP/1.1
Content-Type: application/json
X-Shopify-Access-Token: {}
User-Agent: PostmanRuntime/7.35.0
Accept: /
Postman-Token: c9c09924-97d4-45ce-985b-83d21d50ffbe
Host: {}.myshopify.com
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Content-Length: 80
Cookie: request_method=PUT
HTTP/1.1 301
Date: Tue, 02 Jan 2024 16:33:25 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Sorting-Hat-PodId: 320
X-Sorting-Hat-ShopId: 81694359873
referrer-policy: origin-when-cross-origin
x-frame-options: DENY
x-shopid: 81694359873
x-shardid: 320
location: https://{}.myshopify.com/admin/api/2023-10/products/8852085932353.json
strict-transport-security: max-age=7889238
server-timing: processing;dur=23
x-shopify-stage: canary
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=update&source%5Bapp%5D=Shopify&source%5Bcontroller%5D=admin%2Fproducts&source%5Bsection%5D=admin_api&source%5Buuid%5D=c091d9c3-5d3b-477a-af3b-422c957f19fc
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=update&source%5Bapp%5D=Shopify&source%5Bcontroller%5D=admin%2Fproducts&source%5Bsection%5D=admin_api&source%5Buuid%5D=c091d9c3-5d3b-477a-af3b-422c957f19fc
x-envoy-upstream-service-time: 25
X-Request-ID: c091d9c3-5d3b-477a-af3b-422c957f19fc
CF-Cache-Status: DYNAMIC
Report-To: {“endpoints”:[{“url”:“https://a.nel.cloudflare.com/report/v3?s=H9tNb8lMlYy71J3h%2FO%2FnP2GI7b%2BD1NhEauVvlewCDZviCrz8cc%2B5y5%2B6CFxugi3aqFPDezvH7BeBtO9BlcmcIU3nNbMkh93YpCNgfd8sn99%2FFhxu34%2FTGH3%2BzK1SZCjV9VAxKfi7xg4%3D”}],“group”:“cf-nel”,“max_age”:604800}
NEL: {“success_fraction”:0.01,“report_to”:“cf-nel”,“max_age”:604800}
Server-Timing: cfRequestDuration;dur=72.999954
Server: cloudflare
CF-RAY: 83f467588a5beae9-DFW
alt-svc: h3=“:443”; ma=86400
The 301 results in the unchanged product coming back, and the Shopify admin confirms the title has not been updated.
Any ideas?