⛔️ DEPRECATED ⛔️
We released a new REST JS client. You can read the documentation here, or install it with:
npm install @datocms/cma-client-nodeFor new DatoCMS users, we recommend @datocms/cma-client-node
We released a new REST JS client. You can read the documentation here, or install it with:
npm install @datocms/cma-client-nodeAdd support for aborting createUploadPath, uploadFile and uploadImage through uploadPromise.cancel
Add additional options argument to createUploadPath, uploadFile and uploadImage
options.onProgress for tracking the upload progress of createUploadPath, uploadFile and uploadImageoptions.filename for renaming files uploaded with createUploadPath, uploadFile and uploadImage
See the client docs for details and examplesappearance attribute (which deprecates the old appeareance)loadSchema on Loader to improve gatsby-source-datocmsgatsby-source-datocms compatibilityserializeRequest: false option to every call. Use it if you want to send a raw JSON API requst to DatoCMS.deserializeResponse: false option no longer camelizes responsedato dump errors, to allow better error handling inside CI processes or scripts.Major
Removal of following packages:
Minor
client.fields.create methodThe big change is that the methods the client makes available are generated at runtime based on the JSON Schema of our CMA. This means any new API endpoint — or changes to existing ones — will instantly be reflected to the client, without the need to upgrade to the latest client version.
We also added a new deserializeResponse option to every call, that you can use if you want to retrieve the exact payload the DatoCMS returns:
import { SiteClient } from 'datocms-client';
const client = new SiteClient('YOUR-API-KEY');
// `deserializeResponse` is true by default:
const accessToken = client.accessTokens.create({
name: 'New token',
role: '34',
});
// {
// id: "312",
// hardcodedType: null,
// name: "New token",
// token: "XXXX",
// role: "34"
// }
// if `deserializeResponse` is false, this will be the result
const accessToken = client.accessTokens.create(
{ name: 'New token', role: '34' },
{ deserializeResponse: false },
);
// {
// data: {
// type: "access_token",
// id: "312",
// attributes: {
// name: "New token",
// token: "XXXX",
// hardcoded_type: nil
// },
// relationships: {
// role: {
// data: {
// type: "role",
// id: "34"
// }
// }
// }
// }
// }In our doc pages we also added some examples for the super-handy allPages option which was already present since v0.3.29:
// if you want to fetch all the pages with just one call:
client.items.all({ "filter[type]" => "44" }, { allPages: true })