Filter content to get what you need
Is this page helpful?
system.id
) against the ID value you have.
equals
filter.
To ensure you get content in a specific language, use the language
parameter in your requests.
in
filter.system.type
) using the equals
filter.in
filter.contains
, any
, or all
filters.range
filter.
To get items based on a number range, you need to specify two numbers. The numbers can be either integers like 3
or floats like 3.14
.
system
properties of the content item object. For example, system.workflow_step
, system.collection
, system.last_modified
.// Gets an item by its internal ID
$items = $client->getItems((new QueryParams())
->equals('system.id', '2f7288a1-cfc8-47be-9bf1-b1d312f7da18'));
// Gets three items by their codenames. The codenames are unique per project.
$items = $client->getItems((new QueryParams())
->in('system.codename', ['delivery_api', 'get_content', 'hello_world']));
// Gets items based on the type Product
$items = $deliveryClient->getItems((new QueryParams())
->equals('system.type', 'product'));
// Gets items based on the types Product, Article, and News
$items = $deliveryClient->getItems((new QueryParams())
->in('system.type', ['product', 'article', 'news']));
// Note: Date & time element values are provided by users and stored with minute precision. The system.last_modified value reflects Last content change to an item and is stored with ms precision.
// Gets items modified after April 9 2020, 9 am UTC+0
$items1 = $client->getItems((new QueryParams())
->greaterThan('system.last_modified', '2020-05-09T09:00:00.000000Z'));
// Gets items released at or after April 9 2020, 7 am UTC+0
$items2 = $client->getItems((new QueryParams())
->greaterThanOrEqual('elements.release_date', '2020-05-09T07:00:00Z'));
// Gets items modified before April 5 2020 UTC+0. Last match would be at 2020-05-04T23:59:59.
$items3 = $client->getItems((new QueryParams())
->lessThan('system.last_modified', '2020-05-05'));
// Gets items released at or before April 5 2020 10:30 am UTC+0
$items4 = $client->getItems((new QueryParams())
->lessThanOrEqual('elements.release_date', '2020-05-05T10:30:00Z'));
// Gets items whose Title element value equals to 'Hello World'
$items = $client->getItems((new QueryParams())
->equals('elements.title', 'Hello World'));
// Note: Filters work with codenames of the tags.
// Gets items tagged with one specific tag
$items = $client->getItems((new QueryParams())
->contains('elements.tags', ['kontent_ai']));
// Gets items tagged with a list of specific tags
$items = $client->getItems((new QueryParams())
->all('elements.tags', ['kontent_ai','cms']));
// Gets items tagged with at least one of multiple tags
$items = $client->getItems((new QueryParams())
->any('elements.tags', ['headless','cms']));
// Gets items whose URL slug equals to sample-url-slug
$items = $client->getItems((new QueryParams())
->equals('elements.url_slug', 'sample-url-slug'));
// Gets items attributed to Jane.
$items = $client->getItems((new QueryParams())
->contains('elements.author', 'jane_doe'));
// Gets items attributed to at least Jane, John, or both.
$items = $client->getItems((new QueryParams())
->any('elements.author', ['jane_doe','john_wick']));
// Gets pages linking travel insurance as their subpage.
$items = $client->getItems((new QueryParams())
->contains('elements.subpages', 'travel_insurance'));
// Gets pages linking at least travel insurance, car insurance, or both as their subpage.
$items = $client->getItems((new QueryParams())
->any('elements.subpages', ['travel_insurance','car_insurance']));
contains
, any
, and all
filters work only if the element’s value is a stringified array of strings. For example, "[\"DE\",\"US\",\"UK\"]"
.// Note: Date & time element values are provided by users and stored with minute precision. The system.last_modified value reflects Last content change to an item and is stored with ms precision.
// Gets items modified between April 5, 2020 10:30 UTC and April 7, 2020, 7:00 UTC
$items = $client->getItems((new QueryParams())
->range('system.last_modified', '2020-05-05T10:30:00', '2020-05-07T07:00:00'));
// Gets items whose rating is at least 6.5 and at most 9
$items = $client->getItems((new QueryParams())
->range('elements.product_rating', '6.5', '9'));