Retrieving Stories from a Folder
With the starts_with
parameter, it is possible to retrieve stories located in a specific folder. This can be useful to retrieve stories from, for example, an articles
or products
folder. Moreover, it can be used to conveniently fetch all stories for a particular site when several sites are managed in one space.
Appending the query parameter is_startpage
with the value false
excludes the story defined as folder root from the response.
starts_with=products/
All stories in the products
folder
starts_with=articles/&is_startpage=false
All stories in the articles
folder, excluding the story defined as folder root
starts_with=website-a/
All stories from Website A
Example Request and Response
The following example demonstrates how to receive all stories located in the articles
folder.
curl "https://api.storyblok.com/v2/cdn/stories?starts_with=articles/&version=draft&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', {
"starts_with": "articles/",
"version": "draft"
})
.then(response => {
console.log(response)
}).catch(error => {
console.log(error)
})
$client = new \Storyblok\Client('YOUR_STORYBLOK_SPACE_ACCESS_TOKEN');
$client->getStories([
"starts_with" => "articles/",
"version" => "draft"
])->getBody();
require 'storyblok'
client = Storyblok::Client.new(oauth_token: 'YOUR_OAUTH_TOKEN')
client.stories({:params => {
"starts_with" => "articles/",
"version" => "draft"
}})
HttpResponse<String> response = Unirest.get("https://api.storyblok.com/v2/cdn/stories?starts_with=articles/&version=draft&token=ask9soUkv02QqbZgmZdeDAtt")
.asString();
var client = new RestClient("https://api.storyblok.com/v2/cdn/stories?starts_with=articles/&version=draft&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?starts_with=articles/&version=draft&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 = {"starts_with":"articles/","version":"draft","token":"ask9soUkv02QqbZgmZdeDAtt"}
payload = ""
headers = {}
response = requests.request("GET", url, data=payload, headers=headers, params=querystring)
print(response.text)
{
"stories": [
{
"name": "Product B",
"created_at": "2024-03-07T15:43:12.008Z",
"published_at": "2024-03-07T15:59:51.735Z",
"id": 457608238,
"uuid": "278b829e-bde6-48e3-9920-f99d3afe35d3",
"content": {
"_uid": "2fe813f5-e86a-4f56-a4ea-e9a9bfdc354c",
"image": {
"id": null,
"alt": null,
"name": "",
"focus": null,
"title": null,
"source": null,
"filename": "",
"copyright": null,
"fieldtype": "asset",
"meta_data": {}
},
"price": "1799.99",
"component": "product"
},
"slug": "product-b",
"full_slug": "products/product-b",
"sort_by_date": null,
"position": 0,
"tag_list": ["Product Tag"],
"is_startpage": false,
"parent_id": 457608232,
"meta_data": null,
"group_id": "bb986ccd-3ad7-448b-9662-27ff49aa7bff",
"first_published_at": "2024-03-07T15:42:52.308Z",
"release_id": null,
"lang": "default",
"path": null,
"alternates": [],
"default_full_slug": null,
"translated_slugs": null
},
{
"name": "Product A",
"created_at": "2024-03-07T15:42:27.967Z",
"published_at": "2024-03-07T15:59:58.325Z",
"id": 457608234,
"uuid": "43a86f66-0b12-4653-9ed9-6dbceb85cb60",
"content": {
"_uid": "2fe813f5-e86a-4f56-a4ea-e9a9bfdc354c",
"image": {
"id": null,
"alt": null,
"name": "",
"focus": null,
"title": null,
"source": null,
"filename": "",
"copyright": null,
"fieldtype": "asset",
"meta_data": {}
},
"price": "239.99",
"component": "product"
},
"slug": "product-a",
"full_slug": "products/product-a",
"sort_by_date": null,
"position": 0,
"tag_list": ["Product Tag"],
"is_startpage": false,
"parent_id": 457608232,
"meta_data": null,
"group_id": "7eb7a5f8-8d0b-4c4c-9404-262f7d09f910",
"first_published_at": "2024-03-07T15:42:52.308Z",
"release_id": null,
"lang": "default",
"path": null,
"alternates": [],
"default_full_slug": null,
"translated_slugs": null
}
],
"cv": 1711039689,
"rels": [],
"links": []
}