Operation: is
Filter stories by checking if a field is of a specific type.
Examples Use Cases
filter_query[categories][is]=empty_array
Returns all stories with no assigned categories
filter_query[categories][is]=not_empty_array
Returns all stories that have assigned categories
filter_query[scheduled][is]=empty
Returns stories with no specified scheduled date
The value empty
also targets stories that do not have the particular field in question defined in their schema. To select only stories that have the field scheduled
and the value of this field is blank, the like operator should be used.
filter_query[scheduled][is]=not_empty
Returns all stories with a specified scheduled date
filter_query[highlighted][is]=true
Returns all stories that have the highlighted
boolean field set to true
filter_query[highlighted][is]=false
Returns all stories that have the highlighted
boolean field set to false
filter_query[content][is]=null
Returns all stories that have no content
filter_query[content][is]=not_null
Returns all stories that have content
The value not_null
also targets stories that do not have the particular field in question defined in their schema. To select only stories that have the field content
and the value of this field is blank, the like operator should be used.
Example Request and Response
The following example demonstrates how to receive all stories with an assigned author using the is
operation.
curl "https://api.storyblok.com/v2/cdn/stories/?filter_query[author][is]=not_empty_array&token=ask9soUkv02QqbZgmZdeDAtt" \
-X GET \
-H "Accept: application/json" \
-H "Content-Type: application/json"
// Using the Universal JavaScript Client:
// https://github.com/storyblok/storyblok-js-client
Storyblok.get('cdn/stories/', {
"filter_query": {
"author": {
"is": "not_empty_array"
}
}
})
.then(response => {
console.log(response)
}).catch(error => {
console.log(error)
})
$client = new \Storyblok\Client('YOUR_STORYBLOK_SPACE_ACCESS_TOKEN');
$client->getStories([
"filter_query" => [
"author" => [
"is" => "not_empty_array"
]
]
])->getBody();
require 'storyblok'
client = Storyblok::Client.new(oauth_token: 'YOUR_OAUTH_TOKEN')
client.stories({:params => {
"filter_query" => {
"author" => {
"is" => "not_empty_array"
}
}
}})
HttpResponse<String> response = Unirest.get("https://api.storyblok.com/v2/cdn/stories/?filter_query[author][is]=not_empty_array&token=ask9soUkv02QqbZgmZdeDAtt")
.asString();
var client = new RestClient("https://api.storyblok.com/v2/cdn/stories/?filter_query[author][is]=not_empty_array&token=ask9soUkv02QqbZgmZdeDAtt");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
import Foundation
let request = NSMutableURLRequest(url: NSURL(string: "https://api.storyblok.com/v2/cdn/stories/?filter_query[author][is]=not_empty_array&token=ask9soUkv02QqbZgmZdeDAtt")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0)
request.method = "GET"
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse)
}
})
dataTask.resume()
import requests
url = "https://api.storyblok.com/v2/cdn/stories/"
querystring = {"filter_query":{"author":{"is":"not_empty_array"}},"token":"ask9soUkv02QqbZgmZdeDAtt"}
payload = ""
headers = {}
response = requests.request("GET", url, data=payload, headers=headers, params=querystring)
print(response.text)
{
"stories": [
{
"name": "Mars Unveiled: Exploring the Mysteries and Marvels of the Red Frontier",
"created_at": "2024-02-16T14:30:19.768Z",
"published_at": "2024-03-07T15:14:35.103Z",
"id": 445002665,
"uuid": "a2c57c06-2c5c-4819-acb7-0d9c047d16e9",
"content": {
"_uid": "6bdf037c-f713-415c-a26a-8a9cfc926c85",
"image": {
"id": 14114865,
"alt": "",
"name": "",
"focus": "",
"title": "",
"source": "",
"filename": "https://a.storyblok.com/f/276232/3500x2000/cd4947ece2/mars.jpg",
"copyright": "",
"fieldtype": "asset",
"meta_data": {},
"is_private": "",
"is_external_url": false
},
"author": "51eed33d-855f-415c-ac0d-4404e03b89e1",
"topics": ["space-exploration", "solar-system"],
"content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.",
"headline": "Mars Unveiled: Exploring the Mysteries and Marvels of the Red Frontier",
"component": "article",
"scheduled": "2024-02-29 17:00",
"categories": [
"45d968b6-5790-4fbb-aa41-5781b8edde51",
"a6af7728-eadf-4428-8cf5-343304857374",
"d8e48716-0ecf-4059-b568-343bf54e4128"
],
"highlighted": false
},
"slug": "mars-unveiled-exploring-mysteries-marvels-red-frontier",
"full_slug": "articles/mars-unveiled-exploring-mysteries-marvels-red-frontier",
"sort_by_date": null,
"position": 0,
"tag_list": [],
"is_startpage": false,
"parent_id": 444991588,
"meta_data": null,
"group_id": "2e0c427d-63ed-420e-830f-bf1889da0792",
"first_published_at": "2024-02-16T14:30:11.990Z",
"release_id": null,
"lang": "default",
"path": null,
"alternates": [],
"default_full_slug": null,
"translated_slugs": null
},
{
"name": "Earth's Symphony: Navigating the Wonders and Challenges of Our Blue Oasis",
"created_at": "2024-02-16T14:22:09.108Z",
"published_at": "2024-03-07T15:14:33.277Z",
"id": 444996765,
"uuid": "660452d2-1a68-4493-b5b6-2f03b6fa722b",
"content": {
"_uid": "6bdf037c-f713-415c-a26a-8a9cfc926c85",
"image": {
"id": 14114772,
"alt": "",
"name": "",
"focus": "",
"title": "",
"source": "",
"filename": "https://a.storyblok.com/f/276232/2560x1946/ee938cf736/earth.jpg",
"copyright": "",
"fieldtype": "asset",
"meta_data": {},
"is_private": "",
"is_external_url": false
},
"author": "e7307a9e-a3c5-47ad-8f6c-a1a36fe528e2",
"topics": ["solar-system"],
"content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.",
"headline": "Earth's Symphony: Navigating the Wonders and Challenges of Our Blue Oasis",
"component": "article",
"scheduled": "",
"categories": ["45d968b6-5790-4fbb-aa41-5781b8edde51", "d8e48716-0ecf-4059-b568-343bf54e4128"],
"highlighted": false
},
"slug": "earths-symphony-navigating-wonders-challenges-blue-oasis",
"full_slug": "articles/earths-symphony-navigating-wonders-challenges-blue-oasis",
"sort_by_date": null,
"position": 0,
"tag_list": [],
"is_startpage": false,
"parent_id": 444991588,
"meta_data": null,
"group_id": "8d99d18d-5c97-42cd-a646-51e0c553f26a",
"first_published_at": "2024-02-16T14:30:11.990Z",
"release_id": null,
"lang": "default",
"path": null,
"alternates": [],
"default_full_slug": null,
"translated_slugs": null
}
],
"cv": 1709827198,
"rels": [],
"links": []
}