Search Storyblok's Documentation
  1. Retrieve Multiple Components

Retrieve Multiple Components

Returns an array of component objects. This endpoint's response is not paginated, so you will retrieve all components.

This endpoint also returns the information about the component groups (folders) in a separate key named component_groups, which is an array of objects containing the details of component groups (folders) inside the space.

https://mapi.storyblok.com/v1/spaces/:space_id/components/

Path Parameters

  • :space_id

    required number

    Numeric ID of a space

Query Parameters

  • by_ids

    string

    Filter by ids (comma separated)

  • sort_by

    string

    Components can be sorted in an ascending or descending order by a specific property. Following are a few options and examples

    • Retrieve Nestable first - is_nestable:desc,is_root:asc
    • Retrieve Universal first - is_nestable:desc,is_root:desc
    • Retrieve Content Type first - is_nestable:asc,is_root:desc

    You can also use properties like name and updated_at .

  • is_root

    boolean

    Retrieve all the components based on is_root property of a component. Set to true to retrieve all the components that can be used as content types or set to false to retrieve all the nestable components.

  • search

    string

    Search by name or display_name .

  • in_group

    string

    Find components that are present in a specific group with the UUID of the group

Response Properties

  • components

    The Component Object[]

    An array of components.

    • id

      number

      The numeric ID

    • name

      string

      Technical name used for component property in entries

    • display_name

      string

      Name that will be used in the editor interface

    • created_at

      string

      Creation date (Format: yyyy-MM-dd'T'HH:mm:ssZ)

    • updated_at

      string

      Latest update date (Format: yyyy-MM-dd'T'HH:mm:ssZ)

    • schema

      object

      Key value pairs of component fields.

    • image

      string or null

      URL to the preview image, if uploaded

    • preview_field

      string

      The field that is for preview in the interface (Preview Field)

    • is_root

      boolean

      True if the component can be used as a Content Type

    • preview_tmpl

      string

      Your component preview template. You can learn how to design your preview template here.

    • is_nestable

      boolean

      True if the component is nestable (insertable) in block field types

    • all_presets

      object[]

      An array of presets for this component

      • id

        number

        The numeric ID of the preset

      • name

        string

        Name of the preset

      • component_id

        number

        The ID of the component the preset is for

      • image

        string or null

        Link to the preview image of the preset

      • icon

        string

        Icon selected for the preset

      • color

        string

        Color of the icon selected for the preset

      • description

        string

        The description of the preset

    • real_name

      string

      Duplicated technical name or display name, used for internal tasks

    • component_group_uuid

      string

      The component folder ID of the component

    • color

      string

      The color of the icon selected for the component

    • icon

      string

      Icon selected for the component

    • internal_tags_list

      object[]

      List of objects containing the details of tags used for the component

      • id

        number

        Id of the tag

      • name

        string

        Name of the tag

    • internal_tag_ids

      string[]

      List of ids of the tags assigned to the component

    • content_type_asset_preview

      string

      Asset preview field (Preview Card) for a content type component

  • component_groups

    The Component Folder Object[]

    Component groups present inside the space

    • id

      number

      The numeric ID

    • name

      string

      Name of the group

    • uuid

      string

      Uuid of the group

    • parent_id

      number

      ID of the parent folder

    • parent_uuid

      string

      UUID of component's parent group (folder)

Request
curl "https://mapi.storyblok.com/v1/spaces/606/components/" \
  -X GET \
  -H "Authorization: YOUR_OAUTH_TOKEN" \
  -H "Content-Type: application/json"
Request
// Using the Universal JavaScript Client:
// https://github.com/storyblok/storyblok-js-client
Storyblok.get('/spaces/606/components/', {})
  .then(response => {
    console.log(response)
  }).catch(error => { 
    console.log(error)
  })
Request
$client = new \Storyblok\ManagementClient('YOUR_OAUTH_TOKEN');

$client->get('/spaces/606/components/')->getBody();
Request
require 'storyblok'
client = Storyblok::Client.new(oauth_token: 'YOUR_OAUTH_TOKEN')

client.false('/spaces/606/components/')
Request
HttpResponse<String> response = Unirest.get("https://mapi.storyblok.com/v1/spaces/606/components/")
  .header("Authorization", "YOUR_OAUTH_TOKEN")
  .asString();
Request
var client = new RestClient("https://mapi.storyblok.com/v1/spaces/606/components/");
var request = new RestRequest(Method.GET);

request.AddHeader("Authorization", "YOUR_OAUTH_TOKEN");
IRestResponse response = client.Execute(request);
Request
import Foundation

let headers = [
  "Content-Type": "application/json",
  "Authorization": "YOUR_OAUTH_TOKEN"
]

let request = NSMutableURLRequest(url: NSURL(string: "https://mapi.storyblok.com/v1/spaces/606/components/")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0)
request.method = "GET"
request.allHTTPHeaderFields = headers

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://mapi.storyblok.com/v1/spaces/606/components/"

querystring = {}

payload = ""
headers = {
  'Content-Type': "application/json",
  'Authorization': "YOUR_OAUTH_TOKEN"
}

response = requests.request("GET", url, data=payload, headers=headers, params=querystring)

print(response.text)

You will receive an array of component objects as a response.