Storyblok website screenshot

Storyblok

Storyblok is a headless content management system (CMS) with a visual editor that enables developers and content editors to collaboratively build and manage digital experiences. It provides APIs for content delivery, content management, image optimization, and webhook-based event notifications. Storyblok supports composable content through reusable components, multi-language content, and multi-site management with real-time collaboration features.

4 APIs 0 Features
CMSContent DeliveryContent ManagementHeadless CMSImage OptimizationREST APIVisual EditorWebhooks

APIs

Storyblok Content Delivery API

The Storyblok Content Delivery API v2 enables developers to fetch published content from a Storyblok space for delivery to web, mobile, and other channels. Provides access to st...

Storyblok Management API

The Storyblok Management API is a REST API for programmatically creating, reading, updating, and deleting content and configuration within a Storyblok space. Supports managing s...

Storyblok Image Service

The Storyblok Image Service provides on-the-fly image resizing, cropping, filtering, and format conversion for assets stored in Storyblok. Supports fit-in resizing, smart croppi...

Storyblok Webhooks

Storyblok emits webhook events when content actions occur in a space such as story publication, unpublication, deletion, asset upload, and pipeline stage transitions. AsyncAPI s...

Collections

Arazzo Workflows

Storyblok Asset to Story

Sign an asset upload, create a story that references the asset, then publish it.

ARAZZO

Storyblok Author and Publish Story

Create a draft story, read it back, update its content, then publish it.

ARAZZO

Storyblok Build Navigation

Pull the space link tree for a folder, then fetch the folder start page content for a navigation header.

ARAZZO

Storyblok Clone Component

Read an existing component definition, recreate it under a new name, and confirm it via the component list.

ARAZZO

Storyblok Component to Story

Define a component schema, create a story that uses it, then publish the story.

ARAZZO

Storyblok Onboard Collaborator

Validate the space, invite a collaborator with a role, then list collaborators to confirm the invitation.

ARAZZO

Storyblok Provision Datasource

Validate the space, create a datasource, then read its entries back through the Content Delivery API.

ARAZZO

Storyblok Publish and Verify Delivery

Publish a draft story via the Management API and verify it is live through the Content Delivery API.

ARAZZO

Storyblok Register Webhook

Validate the space, register a webhook endpoint, then read it back to confirm it is active.

ARAZZO

Storyblok Retire Story

Read a story, unpublish it to pull it from delivery, then optionally delete it from the space.

ARAZZO

Storyblok Tag-Driven Content Sync

Discover tags, list the stories carrying a chosen tag, then fetch the full content of the first match.

ARAZZO

GraphQL

Storyblok GraphQL API

The Storyblok GraphQL API is a read-only content delivery endpoint that exposes published and draft content from a Storyblok space. It provides a strongly typed, automatically d...

GRAPHQL

Pricing Plans

Storyblok Plans Pricing

5 plans

PLANS

Rate Limits

Storyblok Rate Limits

6 limits

RATE LIMITS

FinOps

Event Specifications

Storyblok Webhooks

The Storyblok Webhook system delivers real-time event notifications to registered HTTP endpoints when content events occur in a Storyblok space. Events are triggered by actions ...

ASYNCAPI

Semantic Vocabularies

Storyblok Context

0 classes · 10 properties

JSON-LD

API Governance Rules

Storyblok API Rules

10 rules · 2 errors 6 warnings 2 info

SPECTRAL

JSON Structure

Storyblok Story Structure

0 properties

JSON STRUCTURE

Example Payloads

Resources

🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
LinkedIn
LinkedIn
🌐
Portal
Portal
🔗
Documentation
Documentation
💰
Pricing
Pricing
📰
Blog
Blog
🔗
About
About
📄
ChangeLog
ChangeLog
🔗
CaseStudies
CaseStudies
🔗
Contact
Contact
🟢
StatusPage
StatusPage
💬
Support
Support
📜
PrivacyPolicy
PrivacyPolicy
📜
TermsOfService
TermsOfService
📝
Signup
Signup
🔗
Login
Login
👥
GitHubOrg
GitHubOrg
📦
SDKs
SDKs

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Storyblok Management API
  version: '1'
request:
  auth:
    type: bearer
    token: '{{bearerToken}}'
items:
- info:
    name: Spaces
    type: folder
  items:
  - info:
      name: Retrieve a space
      type: http
    http:
      method: GET
      url: https://mapi.storyblok.com/v1/spaces/:space_id
      params:
      - name: space_id
        value: '12345'
        type: path
        description: Numeric ID of the Storyblok space.
    docs: Returns the details of a Storyblok space including its name, plan, regional endpoint, domain configuration, language
      settings, and statistics. This endpoint is useful for validating space access and retrieving configuration needed for
      other API calls.
- info:
    name: Stories
    type: folder
  items:
  - info:
      name: List stories in a space
      type: http
    http:
      method: GET
      url: https://mapi.storyblok.com/v1/spaces/:space_id/stories
      params:
      - name: space_id
        value: '12345'
        type: path
        description: Numeric ID of the Storyblok space.
      - name: page
        value: ''
        type: query
        description: Page number for paginated results, starting at 1.
      - name: per_page
        value: ''
        type: query
        description: Number of results per page. Maximum 100.
      - name: with_tag
        value: ''
        type: query
        description: Filter stories that have this tag applied.
      - name: folder_only
        value: ''
        type: query
        description: Set to 1 to only return folder stories.
      - name: story_only
        value: ''
        type: query
        description: Set to 1 to exclude folder stories from the results.
      - name: by_slugs
        value: ''
        type: query
        description: Comma-separated list of full_slug values to filter by.
      - name: search
        value: ''
        type: query
        description: Text search to filter stories by name.
      - name: sort_by
        value: ''
        type: query
        description: Field and direction to sort by, formatted as field:asc or field:desc.
      - name: starts_with
        value: ''
        type: query
        description: Filter stories whose full_slug starts with this prefix.
      - name: in_trash
        value: ''
        type: query
        description: Set to 1 to return only stories in the trash.
      - name: in_release
        value: ''
        type: query
        description: Filter stories belonging to a specific release ID.
    docs: Returns a paginated list of stories in the space. The response includes both published and draft stories. Results
      can be filtered by folder, publication status, component type, and text search.
  - info:
      name: Create a story
      type: http
    http:
      method: POST
      url: https://mapi.storyblok.com/v1/spaces/:space_id/stories
      params:
      - name: space_id
        value: '12345'
        type: path
        description: Numeric ID of the Storyblok space.
      body:
        type: json
        data: '{}'
    docs: Creates a new story in the space. The request body must include the story name, slug, and content object. Optionally
      specify a parent_id to nest the story inside a folder. Stories are created in draft state unless publish is set to 1.
  - info:
      name: Retrieve a single story
      type: http
    http:
      method: GET
      url: https://mapi.storyblok.com/v1/spaces/:space_id/stories/:story_id
      params:
      - name: space_id
        value: '12345'
        type: path
        description: Numeric ID of the Storyblok space.
      - name: story_id
        value: '67890'
        type: path
        description: Numeric ID of the story.
    docs: Returns the full details of a single story by its numeric ID, including draft content, workflow state, locks, and
      publishing history.
  - info:
      name: Update a story
      type: http
    http:
      method: PUT
      url: https://mapi.storyblok.com/v1/spaces/:space_id/stories/:story_id
      params:
      - name: space_id
        value: '12345'
        type: path
        description: Numeric ID of the Storyblok space.
      - name: story_id
        value: '67890'
        type: path
        description: Numeric ID of the story.
      body:
        type: json
        data: '{}'
    docs: Updates an existing story's content, metadata, or settings. Only the fields provided in the request body are updated.
      Set publish to 1 to publish the story as part of the update.
  - info:
      name: Delete a story
      type: http
    http:
      method: DELETE
      url: https://mapi.storyblok.com/v1/spaces/:space_id/stories/:story_id
      params:
      - name: space_id
        value: '12345'
        type: path
        description: Numeric ID of the Storyblok space.
      - name: story_id
        value: '67890'
        type: path
        description: Numeric ID of the story.
    docs: Permanently deletes a story from the space. This action cannot be undone. Deleting a folder story also deletes all
      stories nested within it.
  - info:
      name: Publish a story
      type: http
    http:
      method: GET
      url: https://mapi.storyblok.com/v1/spaces/:space_id/stories/:story_id/publish
      params:
      - name: space_id
        value: '12345'
        type: path
        description: Numeric ID of the Storyblok space.
      - name: story_id
        value: '67890'
        type: path
        description: Numeric ID of the story.
      - name: release_id
        value: ''
        type: query
        description: Publish the story as part of a specific release rather than immediately to production.
      - name: lang
        value: ''
        type: query
        description: Language code to publish a specific translation of the story.
    docs: Publishes the current draft version of a story, making it available via the Content Delivery API with the public
      token. If the story has a scheduled publication date, this endpoint publishes it immediately regardless of the schedule.
  - info:
      name: Unpublish a story
      type: http
    http:
      method: GET
      url: https://mapi.storyblok.com/v1/spaces/:space_id/stories/:story_id/unpublish
      params:
      - name: space_id
        value: '12345'
        type: path
        description: Numeric ID of the Storyblok space.
      - name: story_id
        value: '67890'
        type: path
        description: Numeric ID of the story.
    docs: Unpublishes a story, removing it from public access via the Content Delivery API. The story's draft content is preserved
      and can be republished at any time.
- info:
    name: Components
    type: folder
  items:
  - info:
      name: List components in a space
      type: http
    http:
      method: GET
      url: https://mapi.storyblok.com/v1/spaces/:space_id/components
      params:
      - name: space_id
        value: '12345'
        type: path
        description: Numeric ID of the Storyblok space.
      - name: search
        value: ''
        type: query
        description: Filter components by name using a partial text match.
      - name: in_groups
        value: ''
        type: query
        description: Comma-separated list of component group UUIDs to filter components by their assigned group.
    docs: Returns all component definitions for the space. Components define the content schema used by stories, including
      field names, types, and validation rules.
  - info:
      name: Create a component
      type: http
    http:
      method: POST
      url: https://mapi.storyblok.com/v1/spaces/:space_id/components
      params:
      - name: space_id
        value: '12345'
        type: path
        description: Numeric ID of the Storyblok space.
      body:
        type: json
        data: '{}'
    docs: Creates a new component definition in the space. The component schema specifies the field definitions that will
      be available to stories using this component.
  - info:
      name: Retrieve a single component
      type: http
    http:
      method: GET
      url: https://mapi.storyblok.com/v1/spaces/:space_id/components/:component_id
      params:
      - name: space_id
        value: '12345'
        type: path
        description: Numeric ID of the Storyblok space.
      - name: component_id
        value: '11111'
        type: path
        description: Numeric ID of the component.
    docs: Returns the full schema definition of a single component by its numeric ID, including all field definitions and
      their configuration.
  - info:
      name: Update a component
      type: http
    http:
      method: PUT
      url: https://mapi.storyblok.com/v1/spaces/:space_id/components/:component_id
      params:
      - name: space_id
        value: '12345'
        type: path
        description: Numeric ID of the Storyblok space.
      - name: component_id
        value: '11111'
        type: path
        description: Numeric ID of the component.
      body:
        type: json
        data: '{}'
    docs: Updates an existing component definition. Changes to the schema affect all stories that use this component.
  - info:
      name: Delete a component
      type: http
    http:
      method: DELETE
      url: https://mapi.storyblok.com/v1/spaces/:space_id/components/:component_id
      params:
      - name: space_id
        value: '12345'
        type: path
        description: Numeric ID of the Storyblok space.
      - name: component_id
        value: '11111'
        type: path
        description: Numeric ID of the component.
    docs: Deletes a component definition from the space. Stories that reference this component will retain their existing
      content but the schema validation will no longer apply.
- info:
    name: Assets
    type: folder
  items:
  - info:
      name: List assets in a space
      type: http
    http:
      method: GET
      url: https://mapi.storyblok.com/v1/spaces/:space_id/assets
      params:
      - name: space_id
        value: '12345'
        type: path
        description: Numeric ID of the Storyblok space.
      - name: page
        value: ''
        type: query
        description: Page number for paginated results, starting at 1.
      - name: per_page
        value: ''
        type: query
        description: Number of results per page. Maximum 100.
      - name: in_folder
        value: ''
        type: query
        description: Filter assets within a specific asset folder ID.
      - name: search
        value: ''
        type: query
        description: Filter assets by filename using a partial text match.
      - name: content_type
        value: ''
        type: query
        description: Filter assets by MIME type, such as image/jpeg or application/pdf.
    docs: Returns a paginated list of assets in the space. Assets can be filtered by content type, folder, and filename search.
      The response includes the asset URL and metadata.
  - info:
      name: Sign an asset upload
      type: http
    http:
      method: POST
      url: https://mapi.storyblok.com/v1/spaces/:space_id/assets
      params:
      - name: space_id
        value: '12345'
        type: path
        description: Numeric ID of the Storyblok space.
      body:
        type: json
        data: '{}'
    docs: Initiates the asset upload process by requesting a signed upload URL from Storyblok's asset CDN. After receiving
      the signed URL and form fields, upload the file directly to the CDN using a multipart POST request, then call the asset
      finalization endpoint.
  - info:
      name: Retrieve a single asset
      type: http
    http:
      method: GET
      url: https://mapi.storyblok.com/v1/spaces/:space_id/assets/:asset_id
      params:
      - name: space_id
        value: '12345'
        type: path
        description: Numeric ID of the Storyblok space.
      - name: asset_id
        value: '22222'
        type: path
        description: Numeric ID of the asset.
    docs: Returns the full metadata for a single asset by its numeric ID, including its CDN URL, dimensions, content type,
      and associated tags.
  - info:
      name: Delete an asset
      type: http
    http:
      method: DELETE
      url: https://mapi.storyblok.com/v1/spaces/:space_id/assets/:asset_id
      params:
      - name: space_id
        value: '12345'
        type: path
        description: Numeric ID of the Storyblok space.
      - name: asset_id
        value: '22222'
        type: path
        description: Numeric ID of the asset.
    docs: Permanently deletes an asset from the space's asset library and removes it from the CDN. This action cannot be undone.
      Stories referencing this asset will display broken media after deletion.
- info:
    name: Datasources
    type: folder
  items:
  - info:
      name: List datasources in a space
      type: http
    http:
      method: GET
      url: https://mapi.storyblok.com/v1/spaces/:space_id/datasources
      params:
      - name: space_id
        value: '12345'
        type: path
        description: Numeric ID of the Storyblok space.
      - name: page
        value: ''
        type: query
        description: Page number for paginated results, starting at 1.
      - name: per_page
        value: ''
        type: query
        description: Number of results per page. Maximum 100.
    docs: Returns all datasources defined in the space. Use this endpoint to enumerate available datasources before creating,
      updating, or deleting their entries.
  - info:
      name: Create a datasource
      type: http
    http:
      method: POST
      url: https://mapi.storyblok.com/v1/spaces/:space_id/datasources
      params:
      - name: space_id
        value: '12345'
        type: path
        description: Numeric ID of the Storyblok space.
      body:
        type: json
        data: '{}'
    docs: Creates a new datasource in the space. Optionally define dimensions to support locale-specific or variant values
      alongside the default entries.
- info:
    name: Collaborators
    type: folder
  items:
  - info:
      name: List collaborators in a space
      type: http
    http:
      method: GET
      url: https://mapi.storyblok.com/v1/spaces/:space_id/collaborators
      params:
      - name: space_id
        value: '12345'
        type: path
        description: Numeric ID of the Storyblok space.
    docs: Returns a list of all collaborators who have access to the space, including their roles, permissions, and invitation
      status.
  - info:
      name: Add a collaborator
      type: http
    http:
      method: POST
      url: https://mapi.storyblok.com/v1/spaces/:space_id/collaborators
      params:
      - name: space_id
        value: '12345'
        type: path
        description: Numeric ID of the Storyblok space.
      body:
        type: json
        data: '{}'
    docs: Invites a user to the space by email address and assigns them a role. If the user already has a Storyblok account
      they will be added immediately; otherwise an invitation email is sent.
  - info:
      name: Remove a collaborator
      type: http
    http:
      method: DELETE
      url: https://mapi.storyblok.com/v1/spaces/:space_id/collaborators/:collaborator_id
      params:
      - name: space_id
        value: '12345'
        type: path
        description: Numeric ID of the Storyblok space.
      - name: collaborator_id
        value: ''
        type: path
        description: Numeric ID of the collaborator to remove.
    docs: Removes a collaborator from the space, revoking their access. The user's Storyblok account is not deleted; they
      simply lose access to this space.
- info:
    name: Webhooks
    type: folder
  items:
  - info:
      name: List webhook endpoints
      type: http
    http:
      method: GET
      url: https://mapi.storyblok.com/v1/spaces/:space_id/webhook_endpoints
      params:
      - name: space_id
        value: '12345'
        type: path
        description: Numeric ID of the Storyblok space.
    docs: Returns all webhook endpoints configured for the space, including their target URLs, event subscriptions, and optional
      secret configuration.
  - info:
      name: Create a webhook endpoint
      type: http
    http:
      method: POST
      url: https://mapi.storyblok.com/v1/spaces/:space_id/webhook_endpoints
      params:
      - name: space_id
        value: '12345'
        type: path
        description: Numeric ID of the Storyblok space.
      body:
        type: json
        data: '{}'
    docs: Registers a new webhook endpoint to receive event notifications from the space. Specify the target URL, the events
      to subscribe to, and an optional secret for signature validation.
  - info:
      name: Retrieve a single webhook endpoint
      type: http
    http:
      method: GET
      url: https://mapi.storyblok.com/v1/spaces/:space_id/webhook_endpoints/:webhook_id
      params:
      - name: space_id
        value: '12345'
        type: path
        description: Numeric ID of the Storyblok space.
      - name: webhook_id
        value: '33333'
        type: path
        description: Numeric ID of the webhook endpoint.
    docs: Returns the configuration of a single webhook endpoint by its numeric ID.
  - info:
      name: Update a webhook endpoint
      type: http
    http:
      method: PUT
      url: https://mapi.storyblok.com/v1/spaces/:space_id/webhook_endpoints/:webhook_id
      params:
      - name: space_id
        value: '12345'
        type: path
        description: Numeric ID of the Storyblok space.
      - name: webhook_id
        value: '33333'
        type: path
        description: Numeric ID of the webhook endpoint.
      body:
        type: json
        data: '{}'
    docs: Updates an existing webhook endpoint's URL, subscribed events, or secret key.
  - info:
      name: Delete a webhook endpoint
      type: http
    http:
      method: DELETE
      url: https://mapi.storyblok.com/v1/spaces/:space_id/webhook_endpoints/:webhook_id
      params:
      - name: space_id
        value: '12345'
        type: path
        description: Numeric ID of the Storyblok space.
      - name: webhook_id
        value: '33333'
        type: path
        description: Numeric ID of the webhook endpoint.
    docs: Permanently removes a webhook endpoint from the space. No further event notifications will be sent to the associated
      URL.
bundled: true