1. Operation: all_in_array

Operation: all_in_array

Filter stories by checking if a field contains all of the values provided in the query.

This operation is typically used to filter the values of Multi-Options or References fields.

Examples Use Cases

  • filter_query[categories][any_in_array]=45d968b6-5790-4fbb-aa41-5781b8edde51,a6af7728-eadf-4428-8cf5-343304857374

    Returns all stories that are assigned all of the category UUIDs specified in the query

  • filter_query[topics][any_in_array]=solar-system,space-exploration

    Returns all stories that are assigned all of the topics specified in the query

  • Example Request and Response

    The following example demonstrates how to receive all stories that are assigned all of the topics ("solar-system", "space-exploration") using the all_in_array operation.

    Request
    curl "https://api.storyblok.com/v2/cdn/stories/?filter_query[topics][all_in_array]=solar-system,space-exploration&token=ask9soUkv02QqbZgmZdeDAtt" \
      -X GET \
      -H "Accept: application/json" \
      -H "Content-Type: application/json"
    Request
    // Using the Universal JavaScript Client:
    // https://github.com/storyblok/storyblok-js-client
    Storyblok.get('cdn/stories/', {
      "filter_query": {
        "topics": {
          "all_in_array": "solar-system,space-exploration"
        }
      }
    })
      .then(response => {
        console.log(response)
      }).catch(error => { 
        console.log(error)
      })
    Request
    $client = new \Storyblok\Client('YOUR_STORYBLOK_SPACE_ACCESS_TOKEN');
    
    $client->getStories([
      "filter_query" =>  [
        "topics" =>  [
          "all_in_array" =>  "solar-system,space-exploration"
        ]
      ]
    ])->getBody();
    Request
    require 'storyblok'
    client = Storyblok::Client.new(oauth_token: 'YOUR_OAUTH_TOKEN')
    
    client.stories({:params => {
      "filter_query" =>  {
        "topics" =>  {
          "all_in_array" =>  "solar-system,space-exploration"
        }
      }
    }})
    Request
    HttpResponse<String> response = Unirest.get("https://api.storyblok.com/v2/cdn/stories/?filter_query[topics][all_in_array]=solar-system,space-exploration&token=ask9soUkv02QqbZgmZdeDAtt")
      .asString();
    Request
    var client = new RestClient("https://api.storyblok.com/v2/cdn/stories/?filter_query[topics][all_in_array]=solar-system,space-exploration&token=ask9soUkv02QqbZgmZdeDAtt");
    var request = new RestRequest(Method.GET);
    
    IRestResponse response = client.Execute(request);
    Request
    import Foundation
    
    let request = NSMutableURLRequest(url: NSURL(string: "https://api.storyblok.com/v2/cdn/stories/?filter_query[topics][all_in_array]=solar-system,space-exploration&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()
    Request
    import requests
    
    url = "https://api.storyblok.com/v2/cdn/stories/"
    
    querystring = {"filter_query":{"topics":{"all_in_array":"solar-system,space-exploration"}},"token":"ask9soUkv02QqbZgmZdeDAtt"}
    
    payload = ""
    headers = {}
    
    response = requests.request("GET", url, data=payload, headers=headers, params=querystring)
    
    print(response.text)
    Response
    {
      "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
        }
      ],
      "cv": 1709827198,
      "rels": [],
      "links": []
    }