yaken
yaken

Reputation: 642

Shopify NodeJS: Error creating Metafields: error 422 "type can't be blank"

I'm trying to create metafields using the Shopify Admin REST API (with NodeJS).

This is a simplified version of the call I'm trying to make (see documentation):

const data = await client.post({
  path: 'metafields',
  data: { 
    "metafield": { 
      "namespace": "namespace123", 
      "key": "key123", 
      "value": 42, 
      "type": "number_integer"
    }
  },
  type: DataType.JSON,
});

But I get this error:

HttpResponseError: Received an error response (422 Unprocessable Entity) from Shopify:

{
  "type": [
    "can't be blank"
  ]
}

I've checked that the type attributes are set properly: The root-level type is set correctly to application/json, and data.metafield.type is set following the rules here.

I've also tried other types, but I get the same error.

Upvotes: 1

Views: 1695

Answers (1)

yaken
yaken

Reputation: 642

Problem: I was using an old API version to initialize my Shopify Context:

Shopify.Context.initialize({
  // ... other stuff ... //
  API_VERSION: ApiVersion.October20,
});

None of my other API calls relied on old breaking behaviour, so updating my API version fixed the issue without too much hassle:

Shopify.Context.initialize({
  // ... other stuff ... //
  API_VERSION: ApiVersion.January22,
});

Upvotes: 1

Related Questions