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
CompletionStage<ContentItemsListingResponse> items = client.getItems(
DeliveryParameterBuilder.params()
.filterEquals("system.id", "2f7288a1-cfc8-47be-9bf1-b1d312f7da18")
.build()
);
// Gets three items by their codenames. The codenames are unique per project.
CompletionStage<ContentItemsListingResponse> items = client.getItems(
DeliveryParameterBuilder.params()
.filterIn("system.codename", "delivery_api", "get_content", "hello_world")
.build()
);
// Gets items of content type Product
CompletionStage<ContentItemsListingResponse> items = client.getItems(
DeliveryParameterBuilder.params()
.filterEquals("system.type", "product")
.build()
);
// Gets items based on the types Article, Product, and News
CompletionStage<ContentItemsListingResponse> items = client.getItems(
DeliveryParameterBuilder.params()
.filterIn("system.type", "article", "product", "news")
.build()
);
// 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
CompletionStage<ContentItemsListingResponse> items1 = client.getItems(
DeliveryParameterBuilder.params()
.filterGreaterThan("system.last_modified", "2020-05-09T09:00:00.000000Z")
.build()
);
// Gets items released at or after April 9 2020, 7 am UTC+0
CompletionStage<ContentItemsListingResponse> items2 = client.getItems(
DeliveryParameterBuilder.params()
.filterGreaterThanEquals("system.release_date", "2020-05-09T07:00:00Z")
.build()
);
// Gets items modified before April 5 2020 UTC+0. Last match would be at 2020-05-04T23:59:59.
CompletionStage<ContentItemsListingResponse> items3 = client.getItems(
DeliveryParameterBuilder.params()
.filterLessThan("system.last_modified", "2020-05-05")
.build()
);
// Gets items released at or before April 5 2020 10:30 am UTC+0
CompletionStage<ContentItemsListingResponse> items4 = client.getItems(
DeliveryParameterBuilder.params()
.filterLessThanEquals("system.release_date", "2020-05-05T10:30:00Z")
.build()
);
// Gets items whose Title element value equals to "Hello World"
CompletionStage<ContentItemsListingResponse> items = client.getItems(
DeliveryParameterBuilder.params()
.filterEquals("elements.title", "Hello World")
.build()
);
// Note: Filters work with codenames of the tags.
// Gets items tagged with one specific tag
CompletionStage<ContentItemsListingResponse> items = client.getItems(
DeliveryParameterBuilder.params()
.filterContains("elements.tags", "kontent_ai")
.build()
);
// Gets items tagged with a list of specific tags
CompletionStage<ContentItemsListingResponse> items = client.getItems(
DeliveryParameterBuilder.params()
.filterAll("elements.tags", "kontent_ai", "cms")
.build()
);
// Gets items tagged with at least one of multiple tags
CompletionStage<ContentItemsListingResponse> items = client.getItems(
DeliveryParameterBuilder.params()
.filterAny("elements.tags", "headless", "cms")
.build()
);
// Gets items whose URL slug equals to sample-url-slug
CompletionStage<ContentItemsListingResponse> items = client.getItems(
DeliveryParameterBuilder.params()
.filterEquals("elements.url_slug", "sample-url-slug")
.build()
);
// Gets items attributed to Jane.
CompletionStage<ContentItemsListingResponse> items = client.getItems(
DeliveryParameterBuilder.params()
.filterContains("elements.author", "jane_doe")
.build()
);
// Gets items attributed to at least Jane, John, or both.
CompletionStage<ContentItemsListingResponse> items = client.getItems(
DeliveryParameterBuilder.params()
.filterAny("elements.author", "jane_doe", "john_wick")
.build()
);
// Gets pages linking travel insurance as their subpage.
CompletionStage<ContentItemsListingResponse> items = client.getItems(
DeliveryParameterBuilder.params()
.filterContains("elements.subpages", "travel_insurance")
.build()
);
// Gets pages linking at least travel insurance, car insurance, or both as their subpage.
CompletionStage<ContentItemsListingResponse> items = client.getItems(
DeliveryParameterBuilder.params()
.filterAny("elements.subpages", "travel_insurance", "car_insurance")
.build()
);
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
CompletionStage<ContentItemsListingResponse> items = client.getItems(
DeliveryParameterBuilder.params()
.filterRange("system.last_modified", "2020-05-05T10:30:00", "2020-05-07T07:00:00")
.build()
);
// Gets items whose rating is at least 6.5 and at most 9
CompletionStage<ContentItemsListingResponse> items = client.getItems(
DeliveryParameterBuilder.params()
.filterRange("elements.product_rating", "6.5", "9")
.build()
);