Content Delivery API > Changelog
All the changes to the Content Delivery API:
2022/06/10 - Add RecordInterface
and FileFieldInterface
interfaces
Every GraphQL type related records/blocks now implement the
RecordInterface
interface;Every GraphQL type related to uploads, single asset or asset gallery fields now implements the
FileFieldInterface
interface.
2021/04/12 - Add isBlank
filter to text fields
To have a simple way to filter empty texts, especially when using a structured text field, we have added a isBlank
filter to the textual fields.
Changes to item fields
Single-line text field Added boolean filter
isBlank
Multiple-line text field Added boolean filter
isBlank
Structured text field Added boolean filter
isBlank
2020/05/11 - Changes in GraphQL filtering
To make the API more consistent and prevent ambiguous results we have changed how filtering works in some edge cases.
This is a big changeset, but should only affect edge cases and the minority of usages, following all the details.
Changes to item fields
Boolean fieldFiltering fields with
{eq: null}
will return an error message in response payload. Before this change, the filter would have returned always an empty array. You can still retrieve fields withnull
value using{eq: false}
Color fieldFiltering fields with
{exists: null}
will return an error message in response payload. Before this change, the filter would have returned the same result as{exists: false}
. You can use{exists: false}
from now on.DateTime fieldFiltering fields with, for instance
{neq: "2020-04-09T00:00:00+02:00"}
will return also items withnull
values. Before this change, the filter would have returned only fornot null
values different from2020-04-09T00:00:00+02:00
.Date fieldFiltering fields with, for instance
{neq: "2020-04-09"}
will return also items withnull
values. Before this change, the filter would have returned only fornot null
values different from2020-04-09
.Upload field
Filtering fields with
{eq: null}
now has the same effect of using{exists: false}
. Before this change, the filter would have returned always an empty array.Filtering fields with
{neq: null}
now has the same effect of using{exists: true}
. Before this change, the filter would have returned always an empty array.Filtering fields with, for instance
{neq: "123456"}
will return also items withnull
values. Before this change, the filter would have returned only for items withnot null
uploads ids different from123456
.Filtering fields with
{exists: null}
will return an error message in response payload. Before this change, the filter would have returned the same result as{exists: false}
. Please, use{exists: false}
instead.Important: Filtering fields with
{in: []}
will return an empty collection. Before this change, the request would have returned all items.Important: Filtering fields with
{notIn: []}
will return all items. Before this change, the request would have returned an empty collection.Important: Filtering fields with, for instance
{notIn: ["123456"]}
will return all items having values different from123456
OR equal tonull
. Before this change, the request would have returned only items havingnot null
values different from123456
.
Float fields
Filtering fields with, for instance,
{neq: "2.42"}
will return also items withnull
values. Before this change, the filter would have returned only for items withnot null
values different from2.42
.Filtering fields with
{exists: null}
will return an error message in response payload. Before this change, the filter would have returned the same result as{exists: false}
. Please, use{exists: false}
instead.
GalleryFiltering fields with
{exists: null}
will return an error message in response payload. Before this change, the filter would have returned the same result as{exists: false}
. Please, use{exists: false}
instead.Integer
Filtering fields with, for instance,
{neq: "5"}
now will return also items withnull
values. Before this change, the filter would have returned only for items withnot null
values different from5
.Filtering fields with
{exists: null}
will return an error message in response payload. Before this change, the filter would have returned the same result as{exists: false}
. Please, use{exists: false}
instead.
JSONFiltering fields with
{exists: null}
will return an error message in response payload. Before this change, the filter would have returned the same result as{exists: false}
. Please, use{exists: false}
instead.Position (geo points)Filtering fields with
{exists: null}
will return an error message in response payload. Before this change, the filter would have returned the same result as{exists: false}
. Please, use{exists: false}
instead.Link
Filtering fields with
{exists: null}
will return an error message in response payload. Before this change, the filter would have returned the same result as{exists: false}
. Please, use{exists: false}
instead.Filtering fields with
{eq: null}
now has the same effect of using{exists: false}
. Before this change, the filter would have returned always an empty array.Filtering fields with
{neq: null}
now has the same effect of using{exists: true}
. Before this change, the filter would have returned always an empty array.Filtering fields with, for instance,
{neq: "123456"}
will return also items withnull
values. Before this change, the filter would have returned only for items withnot null
values different from123456
.Important: Filtering fields with
{in: []}
will return an empty collection. Before this change, the request would have returned all items.Important: Filtering fields with
{notIn: []}
will return all items. Before this change, the request would have returned an empty collection.Filtering fields with, for instance
{notIn: ["123456"]}
will return all items having values different from123456
OR equal tonull
. Before this change, the request would have returned only items havingnot null
values different from123456
.
LinksFiltering fields with
{exists: null}
will return an error message in response payload. Before this change, the filter would have returned the same result as{exists: false}
. Please, use{exists: false}
instead.SeoFiltering fields with
{exists: null}
will return an error message in response payload. Before this change, the filter would have returned the same result as{exists: false}
. Please, use{exists: false}
instead.Slug
Filtering fields with, for instance,
{neq: "foobar"}
now will return also items withnull
values. Before this change, the filter would have returned only for items withnot null
values different fromfoobar
.Filtering fields with, for instance
{notIn: ["foobar"]}
will return all items having values different fromfoobar
OR equal tonull
. Before this change, the request would have returned only items havingnot null
values different fromfoobar
.
String
Filtering fields with
{exists: null}
will return an error message in response payload. Before this change, the filter would have returned the same result as{exists: false}
. Please, use{exists: false}
instead.Filtering fields with
{eq: null}
now has the same effect of using{exists: false}
. Before this change, the filter would have returned always an empty array.Filtering fields with
{neq: null}
now has the same effect of using{exists: true}
. Before this change, the filter would have returned always an empty array.Filtering fields with, for instance,
{neq: "foobar"}
will return also items withnull
values. Before this change, the filter would have returned only for items withnot null
values different fromfoobar
.Filtering fields with, for instance,
{notMatches: { pattern: "foobar"}}
will return also items withnull
values. Before this change, the filter would have returned only for items withnot null
values different fromfoobar
.Filtering fields with, for instance
{notIn: ["foobar"]}
will return all items having values different fromfoobar
OR equal tonull
. Before this change, the request would have returned only items havingnot null
values different fromfoobar
.
Text
Filtering fields with
{exists: null}
will return an error message in response payload. Before this change, the filter would have returned the same result as{exists: false}
. Please, use{exists: false}
instead.Filtering fields with, for instance,
{notMatches: { pattern: "foobar"}}
will return also items withnull
values. Before this change, the filter would have returned only for items withnot null
values different fromfoobar
.
VideoFiltering fields with
{exists: null}
will return an error message in response payload. Before this change, the filter would have returned the same result as{exists: false}
. Please, use{exists: false}
instead.
Changes to item metas
ID
Filtering fields with
{eq: null}
will return an error message in response payload. Before this change, the filter would have returned an empty result.Filtering fields with
{neq: null}
will return an error message in response payload. Before this change, the filter would have returned an empty result.
Parent
Filtering fields with
{exists: null}
will return an error message in response payload. Before this change, the filter would have returned the same result as{exists: false}
. Please, use{exists: false}
instead.Filtering fields with
{eq: null}
now has the same effect of using{exists: false}
. Before this change, the filter would have returned always an empty array.
PositionFiltering fields with, for instance,
{neq: 3}
will return also items withnull
values. Before this change, the filter would have returned only for items withnot null
values different from3
.Status
Filtering fields with
{eq: null}
will return an error message in response payload. Before this change, the filter would have returned an empty result.Filtering fields with
{neq: null}
will return an error message in response payload. Before this change, the filter would have returned an empty result.
Changes to Upload fields
Alt, Title
Added
exist
filter.Filtering fields with
{eq: null}
now has the same effect of using{exists: false}
. Before this change, the filter would have returned always an empty array.Filtering fields with
{neq: null}
now has the same effect of using{exists: true}
. Before this change, the filter would have returned always an empty array.Filtering fields with, for instance,
{neq: "foobar"}
will return also items withnull
values. Before this change, the filter would have returned only for items withnot null
values different fromfoobar
.Filtering fields with, for instance,
{notMatches: { pattern: "foobar"}}
will return also items withnull
values. Before this change, the filter would have returned only for items withnot null
values different fromfoobar
.Filtering fields with, for instance
{notIn: ["foobar"]}
will return all items having values different fromfoobar
OR equal tonull
. Before this change, the request would have returned only items havingnot null
values different fromfoobar
.
Author
Filtering fields with, for instance,
{notMatches: { pattern: "foobar"}}
will return also items withnull
values. Before this change, the filter would have returned only for items withnot null
values different fromfoobar
.Filtering fields with
{exists: null}
will return an error message in response payload. Before this change, the filter would have returned the same result as{exists: false}
. Please, use{exists: false}
instead.
Copyright
Filtering fields with, for instance,
{notMatches: { pattern: "foobar"}}
will return also items withnull
values. Before this change, the filter would have returned only for items withnot null
values different fromfoobar
.Filtering fields with
{exists: null}
will return an error message in response payload. Before this change, the filter would have returned the same result as{exists: false}
. Please, use{exists: false}
instead.
FormatFiltering fields with
{eq: null}
,{neq: null}
, will now return an error message in response payload. Before this change, the request would have return an empy collection.Height, WidthFiltering fields with, for instance,
{neq: "500"}
will return also items withnull
values. Before this change, the filter would have returned only for items withnot null
values different from500
.IDFiltering fields with
{eq: null}
,{neq: null}
, will now return an error message in response payload. Before this change, the request would have return an empy collection.InUseFiltering fields with
{eq: null}
will return an error message in response payload. Before this change, the filter would have returned the same result as{eq: false}
. You can use{eq: false}
from now on.MimeTypeFiltering fields with
{eq: null}
,{neq: null}
, will now return an error message in response payload. Before this change, the request would have return an empy collection.Notes
Filtering fields with, for instance,
{notMatches: { pattern: "foobar"}}
will return also items withnull
values. Before this change, the filter would have returned only for items withnot null
values different fromfoobar
.Filtering fields with
{exists: null}
will return an error message in response payload. Before this change, the filter would have returned the same result as{exists: false}
. Please, use{exists: false}
instead.
SizeFiltering fields with
{eq: null}
,{neq: null}
, will now return an error message in response payload. Before this change, the request would have return an empy collection.SmartTags, TagsFiltering fields with
{contains: null}
, will now return an error message in response payload. Before this change, the request would have return an empy collection.