Partners

Product Updates

DatoCMS changelog for new features and general improvements
Content Management APIโ€‹โ€‹โ€‹โ€‹โ€Œ๏ปฟโ€๏ปฟโ€‹โ€โ€‹โ€โ€Œโ€๏ปฟ๏ปฟโ€Œ๏ปฟโ€‹โ€โ€Œโ€โ€โ€Œโ€Œโ€โ€Œ๏ปฟโ€Œโ€โ€โ€Œโ€Œโ€๏ปฟโ€โ€‹โ€โ€‹โ€โ€‹๏ปฟโ€โ€โ€‹โ€โ€‹โ€โ€Œโ€โ€Œโ€‹โ€Œโ€โ€‹โ€Œโ€Œ๏ปฟโ€Œโ€‹โ€Œโ€๏ปฟ๏ปฟโ€Œโ€โ€‹๏ปฟโ€Œโ€๏ปฟโ€Œโ€Œ๏ปฟโ€‹๏ปฟโ€‹โ€๏ปฟโ€โ€Œโ€โ€‹๏ปฟโ€Œโ€๏ปฟ๏ปฟโ€Œโ€๏ปฟโ€Œโ€‹โ€โ€‹โ€โ€‹โ€๏ปฟโ€‹โ€‹โ€โ€‹โ€โ€Œโ€โ€โ€‹โ€Œ๏ปฟโ€‹โ€โ€Œโ€โ€Œโ€Œโ€Œโ€โ€Œโ€โ€‹โ€โ€‹โ€โ€‹๏ปฟโ€โ€โ€‹โ€โ€‹โ€โ€Œโ€โ€โ€‹โ€Œ๏ปฟโ€Œโ€‹โ€Œ๏ปฟโ€Œโ€‹โ€Œ๏ปฟโ€‹โ€‹โ€Œ๏ปฟโ€‹๏ปฟโ€‹๏ปฟโ€โ€โ€‹โ€๏ปฟ๏ปฟโ€‹โ€๏ปฟ๏ปฟโ€Œโ€โ€‹๏ปฟโ€Œโ€๏ปฟโ€Œโ€Œ๏ปฟโ€‹๏ปฟโ€‹โ€๏ปฟโ€โ€Œโ€โ€Œโ€‹โ€Œโ€โ€‹โ€Œโ€Œ๏ปฟโ€Œโ€‹โ€Œโ€๏ปฟ๏ปฟโ€Œโ€โ€‹๏ปฟโ€Œโ€๏ปฟโ€Œโ€Œ๏ปฟโ€‹๏ปฟโ€‹โ€๏ปฟโ€โ€Œโ€โ€‹๏ปฟโ€Œโ€๏ปฟ๏ปฟโ€Œโ€๏ปฟโ€Œโ€‹โ€๏ปฟ๏ปฟโ€Œโ€โ€Œโ€Œโ€Œโ€โ€Œโ€‹โ€Œโ€โ€โ€Œโ€Œ๏ปฟโ€Œโ€‹โ€Œโ€๏ปฟ๏ปฟโ€Œ๏ปฟโ€‹โ€โ€‹โ€๏ปฟ๏ปฟโ€Œโ€โ€โ€Œโ€Œ๏ปฟโ€Œโ€‹โ€Œโ€โ€Œโ€Œโ€Œโ€๏ปฟโ€Œโ€Œโ€Œ๏ปฟ๏ปฟโ€Œ๏ปฟโ€Œโ€‹โ€Œ๏ปฟโ€โ€Œโ€Œ๏ปฟโ€‹โ€‹โ€Œโ€โ€Œโ€Œโ€Œ๏ปฟโ€‹๏ปฟโ€‹โ€๏ปฟ๏ปฟโ€‹๏ปฟโ€โ€‹โ€‹๏ปฟโ€‹โ€Œโ€‹๏ปฟโ€‹โ€‹โ€‹๏ปฟโ€โ€Œโ€‹๏ปฟโ€‹โ€โ€‹๏ปฟโ€Œโ€โ€‹โ€๏ปฟ๏ปฟโ€Œโ€โ€โ€Œโ€Œ๏ปฟโ€Œโ€‹โ€Œโ€โ€Œโ€Œโ€Œโ€๏ปฟโ€Œโ€Œ๏ปฟโ€‹๏ปฟโ€‹โ€๏ปฟ๏ปฟโ€‹๏ปฟโ€‹๏ปฟโ€‹๏ปฟโ€โ€Œโ€‹๏ปฟโ€โ€‹โ€‹๏ปฟโ€‹๏ปฟโ€‹๏ปฟโ€‹โ€Œโ€‹๏ปฟโ€Œ๏ปฟโ€‹๏ปฟโ€Œโ€Œโ€‹๏ปฟโ€โ€‹โ€‹โ€๏ปฟ๏ปฟโ€Œโ€โ€Œโ€Œโ€Œโ€โ€Œโ€‹โ€Œโ€โ€โ€Œโ€Œ๏ปฟโ€Œโ€‹โ€‹โ€โ€‹๏ปฟโ€Œโ€โ€Œโ€โ€Œโ€โ€โ€Œโ€Œโ€โ€Œโ€Œโ€Œโ€๏ปฟโ€‹โ€Œโ€โ€Œโ€‹โ€Œโ€Œโ€‹โ€‹โ€Œโ€โ€‹โ€Œโ€Œ๏ปฟโ€Œโ€‹โ€Œโ€โ€โ€‹โ€‹๏ปฟ๏ปฟโ€Œโ€Œโ€๏ปฟโ€โ€Œโ€โ€‹โ€Œโ€Œโ€๏ปฟโ€Œโ€Œโ€โ€Œโ€Œโ€‹โ€โ€‹โ€โ€Œ๏ปฟ๏ปฟโ€Œ
Creation of new records via API no longer requires to specify all fieldsโ€‹โ€‹โ€‹โ€‹โ€Œ๏ปฟโ€๏ปฟโ€‹โ€โ€‹โ€โ€Œโ€๏ปฟ๏ปฟโ€Œ๏ปฟโ€‹โ€โ€Œโ€โ€โ€Œโ€Œโ€โ€Œ๏ปฟโ€Œโ€โ€โ€Œโ€Œโ€๏ปฟโ€โ€‹โ€โ€‹โ€โ€‹๏ปฟโ€โ€โ€‹โ€โ€‹โ€โ€Œโ€โ€Œโ€‹โ€Œโ€โ€‹โ€Œโ€Œ๏ปฟโ€Œโ€‹โ€Œโ€๏ปฟ๏ปฟโ€Œโ€โ€‹๏ปฟโ€Œโ€๏ปฟโ€Œโ€Œ๏ปฟโ€‹๏ปฟโ€‹โ€๏ปฟโ€โ€Œโ€โ€‹๏ปฟโ€Œโ€๏ปฟ๏ปฟโ€Œโ€๏ปฟโ€Œโ€‹โ€โ€‹โ€โ€‹โ€๏ปฟโ€‹โ€‹โ€โ€‹โ€โ€Œโ€โ€โ€‹โ€Œ๏ปฟโ€‹โ€โ€Œโ€โ€Œโ€Œโ€Œโ€โ€Œโ€โ€‹โ€โ€‹โ€โ€‹๏ปฟโ€โ€โ€‹โ€โ€‹โ€โ€Œโ€โ€โ€‹โ€Œ๏ปฟโ€Œโ€‹โ€Œ๏ปฟโ€Œโ€‹โ€Œ๏ปฟโ€‹โ€‹โ€Œ๏ปฟโ€‹๏ปฟโ€‹๏ปฟโ€โ€โ€‹โ€๏ปฟ๏ปฟโ€‹โ€๏ปฟ๏ปฟโ€Œโ€โ€‹๏ปฟโ€Œโ€๏ปฟโ€Œโ€Œ๏ปฟโ€‹๏ปฟโ€‹โ€๏ปฟโ€โ€Œโ€โ€Œโ€‹โ€Œโ€โ€‹โ€Œโ€Œ๏ปฟโ€Œโ€‹โ€Œโ€๏ปฟ๏ปฟโ€Œโ€โ€‹๏ปฟโ€Œโ€๏ปฟโ€Œโ€Œ๏ปฟโ€‹๏ปฟโ€‹โ€๏ปฟโ€โ€Œโ€โ€‹๏ปฟโ€Œโ€๏ปฟ๏ปฟโ€Œโ€๏ปฟโ€Œโ€‹โ€๏ปฟ๏ปฟโ€Œโ€โ€Œโ€Œโ€Œโ€โ€Œโ€‹โ€Œโ€โ€โ€Œโ€Œ๏ปฟโ€Œโ€‹โ€Œโ€๏ปฟ๏ปฟโ€Œ๏ปฟโ€‹โ€โ€‹โ€๏ปฟ๏ปฟโ€Œโ€โ€โ€Œโ€Œ๏ปฟโ€Œโ€‹โ€Œโ€โ€Œโ€Œโ€Œโ€๏ปฟโ€Œโ€Œโ€Œ๏ปฟ๏ปฟโ€Œ๏ปฟโ€Œโ€‹โ€Œ๏ปฟโ€โ€Œโ€Œ๏ปฟโ€‹โ€‹โ€Œโ€โ€Œโ€Œโ€Œ๏ปฟโ€‹๏ปฟโ€‹โ€๏ปฟ๏ปฟโ€‹๏ปฟโ€โ€‹โ€‹๏ปฟโ€‹โ€Œโ€‹๏ปฟโ€‹โ€‹โ€‹๏ปฟโ€โ€Œโ€‹๏ปฟโ€‹โ€‹โ€‹๏ปฟโ€โ€‹โ€‹โ€๏ปฟ๏ปฟโ€Œโ€โ€โ€Œโ€Œ๏ปฟโ€Œโ€‹โ€Œโ€โ€Œโ€Œโ€Œโ€๏ปฟโ€Œโ€Œ๏ปฟโ€‹๏ปฟโ€‹โ€๏ปฟ๏ปฟโ€‹๏ปฟโ€Œ๏ปฟโ€‹๏ปฟโ€โ€‹โ€‹๏ปฟโ€Œโ€โ€‹๏ปฟโ€Œ๏ปฟโ€‹๏ปฟโ€‹๏ปฟโ€‹๏ปฟโ€‹โ€‹โ€‹๏ปฟโ€‹โ€Œโ€‹๏ปฟโ€‹โ€‹โ€‹โ€๏ปฟ๏ปฟโ€Œโ€โ€Œโ€Œโ€Œโ€โ€Œโ€‹โ€Œโ€โ€โ€Œโ€Œ๏ปฟโ€Œโ€‹โ€‹โ€โ€‹๏ปฟโ€Œโ€โ€Œโ€โ€Œโ€โ€โ€Œโ€Œโ€โ€Œโ€Œโ€Œโ€๏ปฟโ€‹โ€Œโ€โ€Œโ€‹โ€Œโ€Œโ€‹โ€‹โ€Œโ€โ€‹โ€Œโ€Œ๏ปฟโ€Œโ€‹โ€Œโ€โ€โ€‹โ€‹๏ปฟ๏ปฟโ€Œโ€Œ๏ปฟโ€Œโ€‹โ€Œโ€โ€โ€Œโ€Œ๏ปฟโ€Œโ€‹โ€Œโ€๏ปฟโ€‹โ€Œโ€โ€Œโ€Œโ€‹โ€โ€‹โ€โ€Œ๏ปฟ๏ปฟโ€Œ
November 26th, 2021

This change was long overdue, and we're glad we were able to address it! ๐Ÿฅณโ€‹โ€‹โ€‹โ€‹โ€Œ๏ปฟโ€๏ปฟโ€‹โ€โ€‹โ€โ€Œโ€๏ปฟ๏ปฟโ€Œ๏ปฟโ€‹โ€โ€Œโ€โ€โ€Œโ€Œโ€โ€Œ๏ปฟโ€Œโ€โ€โ€Œโ€Œโ€๏ปฟโ€โ€‹โ€โ€‹โ€โ€‹๏ปฟโ€โ€โ€‹โ€โ€‹โ€โ€Œโ€โ€Œโ€‹โ€Œโ€โ€‹โ€Œโ€Œ๏ปฟโ€Œโ€‹โ€Œโ€๏ปฟ๏ปฟโ€Œโ€โ€‹๏ปฟโ€Œโ€๏ปฟโ€Œโ€Œ๏ปฟโ€‹๏ปฟโ€‹โ€๏ปฟโ€โ€Œโ€โ€‹๏ปฟโ€Œโ€๏ปฟ๏ปฟโ€Œโ€๏ปฟโ€Œโ€‹โ€โ€‹โ€โ€‹โ€๏ปฟโ€‹โ€‹โ€โ€‹โ€โ€Œโ€โ€โ€‹โ€Œ๏ปฟโ€‹โ€โ€Œโ€โ€Œโ€Œโ€Œโ€โ€Œโ€โ€‹โ€โ€‹โ€โ€‹๏ปฟโ€โ€โ€‹โ€โ€‹โ€โ€Œโ€โ€โ€‹โ€Œ๏ปฟโ€Œโ€‹โ€Œ๏ปฟโ€Œโ€‹โ€Œ๏ปฟโ€‹โ€‹โ€Œ๏ปฟโ€‹๏ปฟโ€‹๏ปฟโ€โ€โ€‹โ€๏ปฟ๏ปฟโ€‹โ€๏ปฟ๏ปฟโ€Œโ€โ€‹๏ปฟโ€Œโ€๏ปฟโ€Œโ€Œ๏ปฟโ€‹๏ปฟโ€‹โ€๏ปฟโ€โ€Œโ€โ€Œโ€‹โ€Œโ€โ€‹โ€Œโ€Œ๏ปฟโ€Œโ€‹โ€Œโ€๏ปฟ๏ปฟโ€Œโ€โ€‹๏ปฟโ€Œโ€๏ปฟโ€Œโ€Œ๏ปฟโ€‹๏ปฟโ€‹โ€๏ปฟโ€โ€Œโ€โ€‹๏ปฟโ€Œโ€๏ปฟ๏ปฟโ€Œโ€๏ปฟโ€Œโ€‹โ€๏ปฟ๏ปฟโ€Œโ€โ€Œโ€Œโ€Œโ€โ€Œโ€‹โ€Œโ€โ€โ€Œโ€Œ๏ปฟโ€Œโ€‹โ€Œโ€๏ปฟ๏ปฟโ€Œ๏ปฟโ€‹โ€โ€‹โ€๏ปฟ๏ปฟโ€Œโ€โ€โ€Œโ€Œ๏ปฟโ€Œโ€‹โ€Œโ€โ€Œโ€Œโ€Œโ€๏ปฟโ€Œโ€Œโ€Œ๏ปฟ๏ปฟโ€Œ๏ปฟโ€Œโ€‹โ€Œ๏ปฟโ€โ€Œโ€Œ๏ปฟโ€‹โ€‹โ€Œโ€โ€Œโ€Œโ€Œ๏ปฟโ€‹๏ปฟโ€‹โ€๏ปฟ๏ปฟโ€‹๏ปฟโ€โ€‹โ€‹๏ปฟโ€‹โ€Œโ€‹๏ปฟโ€‹โ€‹โ€‹๏ปฟโ€โ€Œโ€‹๏ปฟโ€‹โ€‹โ€‹๏ปฟโ€โ€‹โ€‹โ€๏ปฟ๏ปฟโ€Œโ€โ€โ€Œโ€Œ๏ปฟโ€Œโ€‹โ€Œโ€โ€Œโ€Œโ€Œโ€๏ปฟโ€Œโ€Œ๏ปฟโ€‹๏ปฟโ€‹โ€๏ปฟ๏ปฟโ€‹๏ปฟโ€Œ๏ปฟโ€‹๏ปฟโ€โ€‹โ€‹๏ปฟโ€Œโ€โ€‹๏ปฟโ€Œ๏ปฟโ€‹๏ปฟโ€‹๏ปฟโ€‹๏ปฟโ€‹โ€‹โ€‹๏ปฟโ€‹โ€Œโ€‹๏ปฟโ€‹โ€‹โ€‹โ€๏ปฟ๏ปฟโ€Œโ€โ€Œโ€Œโ€Œโ€โ€Œโ€‹โ€Œโ€โ€โ€Œโ€Œ๏ปฟโ€Œโ€‹โ€‹โ€โ€‹๏ปฟโ€Œโ€โ€Œโ€โ€Œโ€โ€โ€Œโ€Œโ€โ€Œโ€Œโ€Œโ€๏ปฟโ€‹โ€Œโ€โ€Œโ€‹โ€Œโ€Œโ€‹โ€‹โ€Œโ€โ€‹โ€Œโ€Œ๏ปฟโ€Œโ€‹โ€Œโ€โ€โ€‹โ€‹๏ปฟ๏ปฟโ€Œโ€Œโ€โ€‹๏ปฟโ€Œโ€๏ปฟ๏ปฟโ€Œโ€๏ปฟโ€โ€Œ๏ปฟโ€Œโ€‹โ€Œโ€โ€Œโ€Œโ€Œโ€๏ปฟโ€โ€Œ๏ปฟโ€Œโ€‹โ€‹โ€โ€‹โ€โ€Œ๏ปฟ๏ปฟโ€Œ

Suppose you have ie. a model with 10 fields, 9 of which are optional. Until now, when creating a record, you were required to specify... all 10 fields. If you didn't want any value for the optional ones, you were required to pass a null value in any case, or the API call would fail:

const { SiteClient } = require("datocms-client");
const client = new SiteClient("YOUR-API-TOKEN");
const record = await client.items.create({
itemType: "1234",
requiredField: "Lorem ipsum",
optionalField1: null,
optionalField2: null,
optionalField3: null,
optionalField4: null,
optionalField5: null,
optionalField6: null,
optionalField7: null,
optionalField8: null,
optionalField9: null,
});

In addition to being redundant and inconvenient, this was a maintainability problem over time, because when a new optional field gets added on the model, you need adapt every script and add that null value. Well, now optional fields can be omitted from the payload during creation:

const record = await client.items.create({
itemType: "1234",
requiredField: "Lorem ipsum",
});

Nice, simple and clean. Happy friday!