Skip to main content

Error-message index

Find the code you saw in the table below, or search this page for the message. Every code has its own link that ends in the code, such as #NO_COMPOSITION_FOR_URL, so you can paste the code after # in this page's address to jump straight to it.

The examples on this page come from a blog. It has a Blog post content type with the UID blog_post, a Blog post template with the Template UID blog_post_template, and an entry, AI 101, at /blog/ai-101. The site reads published content from the production environment.

Find the code you saw​

What went wrongCodes
Your site's setup is incomplete. Studio needs something from your site that isn't there yet.API_KEY_MISSING, COMPONENT_NOT_REGISTERED, COMPOSITION_IDENTIFIER_MISSING, DELIVERY_TOKEN_MISSING, ENVIRONMENT_MISSING, INIT_NOT_COMPLETE, STACK_SDK_MISSING
Studio can't read your content. Something your site is set up with is wrong.CONTENT_TYPE_NOT_FOUND, ENVIRONMENT_NOT_FOUND, HOST_UNUSABLE, LOCALE_NOT_CONFIGURED, STACK_NOT_FOUND_ON_HOST
Your content didn't load. Your site asked Contentstack for content and didn't get a usable answer.TRANSPORT_FAILED, RESPONSE_UNUSABLE, SEARCH_INCOMPLETE, SPEC_UNREADABLE, UPSTREAM_ERROR, URL_OWNERSHIP_PROBE_FAILED
Nothing matches what your site asked for. Studio finished looking, and the content isn't there.COMPOSITION_UID_NOT_FOUND, CONNECTED_ENTRY_NOT_FOUND, NO_COMPOSITION_FOR_TEMPLATE_CONTENT_TYPE, NO_COMPOSITION_FOR_URL, URL_LOCALE_NOT_FOUND, URL_MATCHED_NO_ENTRY

Each code's entry tells you where you'll see it, how to fix it, and whether your site should answer with a 404. The messages come from the Studio SDK and are quoted exactly as it writes them. In them, "composition" means a template or a section.

Some codes are warnings, not errors, such as QUERY_RETURNED_NO_ROWS. The page still renders. They're listed under Warnings about content that didn't load.

Your site's setup is incomplete​

Studio needs these from your site before it can load any content. Until they're in place, Studio can't show or edit anything on the canvas.

API_KEY_MISSING​

Your site isn't giving Studio an API key

The Contentstack stack your site passes to Studio has no API key set. Studio needs the API key to ask Contentstack for anything.

Where you'll see it

  • In Studio, as the Your Site's Setup Is Incomplete card.

  • In your browser console or server log:

    [Contentstack Studio] API_KEY_MISSING: The Contentstack stack passed to Composable Studio has no api key.

How to fix it

Set the API key. Add the API key to the Contentstack stack you pass to Studio.

The content isn't missing, so don't answer with a 404. For more, see Install the Studio SDK.

COMPONENT_NOT_REGISTERED​

A component isn't registered

Your template uses a component that your site hasn't registered, so Studio can't draw it. The message names the components it couldn't find. They're either Studio's own built-in components, or components from your site, such as BlogHero.

Where you'll see it

  • In Studio, as the Your Site Reported a Problem card.

  • In your browser console or server log, as one of these:

    [Contentstack Studio] COMPONENT_NOT_REGISTERED: These components are used by this composition and not registered: blog-hero.
    [Contentstack Studio] COMPONENT_NOT_REGISTERED: Studio's own components are not registered: ….

How to fix it when Studio's own components are missing

  1. Import the package once. The package root was never imported, so Studio's built-in components never registered themselves. Add import "@contentstack/studio-react"; once, before you fetch.
  2. Keep the import in your server bundle. A server-only bundle can tree-shake the import out. Keep the root import in the bundle that runs the fetch.

For more, see Render on the server.

How to fix it when your own components are missing

  1. Register before you fetch. The fetch ran before registerComponent() did. Import the module that registers your components above the code that fetches.
  2. Register the missing component. The template uses a component this build doesn't have, such as BlogHero. Register it, or remove it from the template.

For more, see Bring your own data.

The content isn't missing, so don't answer with a 404.

COMPOSITION_IDENTIFIER_MISSING​

Your site didn't say which template it wanted

Your site asked Studio for content without saying which template it wanted. There are three ways to name one, and the call didn't use any of them.

Where you'll see it

  • In Studio, as the Your Site's Setup Is Incomplete card.

  • In your browser console or server log:

    [Contentstack Studio] COMPOSITION_IDENTIFIER_MISSING: No composition was asked for.

How to fix it

Name the template in the call. Pass one of compositionUid, url or templateContentTypeUid, such as url: "/blog/ai-101". See Fetching by template UID and entry UID.

The template may well exist. Your site just didn't ask for one, so don't answer with a 404.

DELIVERY_TOKEN_MISSING​

Your site isn't giving Studio a delivery token

The Contentstack stack your site passes to Studio has no delivery token set. Studio needs the delivery token to read your published content.

Where you'll see it

  • In Studio, as the Your Site's Setup Is Incomplete card.

  • In your browser console or server log:

    [Contentstack Studio] DELIVERY_TOKEN_MISSING: The Contentstack stack passed to Composable Studio has no delivery token.

How to fix it

Set the delivery token. Add the delivery token to the Contentstack stack you pass to Studio.

The content isn't missing, so don't answer with a 404. For more, see Install the Studio SDK.

ENVIRONMENT_MISSING​

Your site isn't telling Studio which environment to read

No environment is set on the Contentstack stack your site passes to Studio. Studio reads published content one environment at a time, so it can't read anything without one.

Where you'll see it

  • In Studio, as the Your Site's Setup Is Incomplete card.

  • In your browser console or server log:

    [Contentstack Studio] ENVIRONMENT_MISSING: The Contentstack stack passed to Composable Studio has no environment. Studio queries published content per environment, so this is required.

How to fix it

Set the environment. Add the environment, such as production, to the Contentstack stack you pass to Studio.

The content isn't missing, so don't answer with a 404. For more, see Install the Studio SDK.

INIT_NOT_COMPLETE​

Your site asked for a template before Studio was ready

Your site asked for a template before the Studio SDK had finished starting up. Studio waits 30 seconds for it, then gives up and reports this.

Where you'll see it

  • In Studio, as the Your Site's Setup Is Incomplete card.

  • In your browser console:

    [Contentstack Studio] INIT_NOT_COMPLETE: A composition was requested before Studio finished starting up. Gave up after 30 seconds.

How to fix it, most likely first

  1. Call studioSdk.init(...) on this code path. Init never ran here. Call it before anything renders a template.
  2. Run init before you fetch. The fetch isn't waiting for init to finish. This happens most with server rendering, when the server code that fetches never imports the module that calls studioSdk.init. Make sure init runs on the path that fetches, before the fetch.

The causes in the console message name initStudio() and a provider. Neither exists in the SDK. Both mean studioSdk.init(...).

The content isn't missing, so don't answer with a 404. For more, see Install the Studio SDK.

STACK_SDK_MISSING​

Your site isn't giving Studio a Contentstack stack

Your site isn't passing a Contentstack stack to the Studio SDK, so Studio has nothing to ask for content. You see this at the first call that needs the stack, not when your site sets Studio up.

Where you'll see it

  • In Studio, as the Your Site's Setup Is Incomplete card.

  • In your browser console or server log:

    [Contentstack Studio] STACK_SDK_MISSING: Composable Studio has no Contentstack stack to query.

How to fix it

Pass a stack to Studio. Pass your Delivery SDK stack to init, as studioSdk.init({ stackSdk: stack }), before you fetch a template. The fix in the console message mentions a Studio provider, which doesn't exist. It means this init call.

The content isn't missing, so don't answer with a 404. For more, see Install the Studio SDK.

Studio can't read your content​

Your site is set up to talk to Contentstack, but one of the values it uses is wrong. Studio can't load anything here until a developer fixes it.

CONTENT_TYPE_NOT_FOUND​

Studio's content types are missing

Studio reads every template from one content type, and there isn't one by that name on this stack. Unless your site names a different one, Studio looks for compositions.

Where you'll see it

  • In Studio, as the Studio's Content Types Are Missing card.

  • In your browser console or server log:

    [Contentstack Studio] CONTENT_TYPE_NOT_FOUND: The content type "compositions" does not exist in this stack.

How to fix it when you didn't set contentTypeUid

  1. Set contentTypeUid. Your site didn't say which content type to use, so Studio used the default, compositions, and this stack uses a different one. Find Studio's content type in Contentstack and set contentTypeUid to its UID.
  2. Install Studio's content types. Check that the API key points at the stack you meant. If it does, install Studio's content types there.

How to fix it when you set contentTypeUid

  1. Check the spelling. Compare the UID with the content type in Contentstack.
  2. Install Studio's content types. Check that the API key points at the stack you meant. If it does, install Studio's content types there.

The content isn't missing, so don't answer with a 404. For the UID, see Install the Studio SDK. For Studio's content types, see Create a project.

ENVIRONMENT_NOT_FOUND​

Contentstack can't find that environment

Your site asked for content from the production environment, and Contentstack didn't find it.

Where you'll see it

  • In Studio, as the Studio Can't Read Your Content card.

  • In your browser console or server log, as one of these:

    [Contentstack Studio] ENVIRONMENT_NOT_FOUND: Contentstack did not find the environment "production".
    [Contentstack Studio] ENVIRONMENT_NOT_FOUND: Contentstack did not find the environment this request was sent to.

How to fix it, most likely first

  1. Check the name. The environment may not exist on this stack, or it may have been renamed. Compare the name with the environments in Contentstack.
  2. Check the delivery token covers it. A delivery token covers specific environments, so production can exist and still sit outside the token. Check that the delivery token you use covers it.

The content isn't missing, so don't answer with a 404. For more, see Install the Studio SDK.

HOST_UNUSABLE​

Your site points at a Contentstack address it can't use

The Contentstack address your site is set up with can't be used as written, so the request never got anywhere. The message says which of two reasons applies. Either it isn't a valid address, or your site is served over https and the address is http, so the browser blocks the request.

Where you'll see it

  • In Studio, as the Studio Can't Read Your Content card.

  • In your browser console or server log, as one of these:

    [Contentstack Studio] HOST_UNUSABLE: The Contentstack host "…" cannot be used: it is not a valid address.
    [Contentstack Studio] HOST_UNUSABLE: The Contentstack host "http://cdn.contentstack.io" cannot be used: the page is served over https and the host is http, so the browser will block the request.

How to fix it

  1. Check it's a valid address. Set a valid Contentstack address for this site.
  2. Use an https address. When your site is served over https, the browser blocks an http Contentstack address.

The content isn't missing, so don't answer with a 404. For more, see Install the Studio SDK.

LOCALE_NOT_CONFIGURED​

This language isn't set up

Your site asked for content in en-US, and that language isn't set up on this stack. The language came from your SDK configuration, not from the address. Nothing loads for it until someone adds it, or your site asks for a language the stack has.

If the language came from the address instead, see URL_LOCALE_NOT_FOUND.

Where you'll see it

  • In Studio, as the This Language Isn't Set Up card.

  • In your browser console or server log:

    [Contentstack Studio] LOCALE_NOT_CONFIGURED: Contentstack did not find the language "en-US" on this stack. The locale came from the SDK configuration.

How to fix it, most likely first

  1. Check the code matches exactly. Codes that differ only in case, such as en-US and en-us, are different values. Compare it with the languages in Contentstack, exactly as they're written there.
  2. Add the language. It may never have been added to this stack. Add it in Contentstack, or ask for one the stack has.

The content isn't missing, so don't answer with a 404. For more, see Install the Studio SDK.

STACK_NOT_FOUND_ON_HOST​

The API key doesn't lead to a stack

Your site asked Contentstack for content and was turned away. The API key it's using doesn't lead to a stack on the Contentstack address it called.

Where you'll see it

  • In Studio, as the Studio Can't Read Your Content card.

  • In your browser console or server log:

    [Contentstack Studio] STACK_NOT_FOUND_ON_HOST: Contentstack did not find a stack for this API key on cdn.contentstack.io.

How to fix it, most likely first

  1. Check the API key. It may not match the stack this project is connected to. Compare it with the stack's API credentials in Contentstack.
  2. Check the region. A key only answers on the region its stack lives in, so the key can be right and the address wrong. Check which region the stack is in and set the host to match. In that case the fix is the host, not the key.

The content isn't missing, so don't answer with a 404. For more, see Install the Studio SDK.

Your content didn't load​

Your site asked Contentstack for content and didn't get an answer it could use. For most of these, nothing in your project caused it, and trying again is the first thing to do.

TRANSPORT_FAILED​

Your site couldn't reach Contentstack

Your site sent a request to Contentstack and nothing came back.

Where you'll see it

  • In Studio, as the Your Content Didn't Load card.

  • In your browser console or server log:

    [Contentstack Studio] TRANSPORT_FAILED: The request to cdn.contentstack.io did not complete.

How to fix it, most likely first

  1. Try again. The network between your site and Contentstack dropped the request. Check your internet connection and retry.
  2. Check your network. If it keeps happening, check outbound network access and any proxy in front of your site.
  3. Check the address. Nothing may be listening at the host, or it may be blocked from where your site runs. Check the address, and that it's reachable from this environment.

A site that can't reach Contentstack for a minute hasn't lost its content, so don't answer with a 404.

RESPONSE_UNUSABLE​

Something other than Contentstack answered

Your site got a reply, but it isn't a usable Contentstack delivery response. Something answered on that address without being Contentstack, such as a proxy's error page.

Where you'll see it

  • In Studio, as the Your Content Didn't Load card.

  • In your browser console or server log:

    [Contentstack Studio] RESPONSE_UNUSABLE: The reply from cdn.contentstack.io is not a usable delivery response.

How to fix it

  1. Check what sits in between. Look at anything between your site and Contentstack: a proxy, a gateway or an offline page.
  2. Contact Contentstack support. If there's nothing in between, contact Contentstack support. Include the code and the full message.

The content isn't missing, so don't answer with a 404.

SEARCH_INCOMPLETE​

Studio stopped searching before it finished

Studio couldn't finish loading /blog/ai-101, and it isn't anything you've done. Your project has more templates than one search can cover, so the search for /blog/ai-101 stopped at its limit before it could rule a match out.

Where you'll see it

  • In Studio, as the Your Content Didn't Load card.

  • In your browser console or server log:

    [Contentstack Studio] SEARCH_INCOMPLETE: Stopped after considering … compositions without finding a match for "/blog/ai-101". The search did not finish, so this is not a 404.

How to fix it

Contact Contentstack support. Nothing you change in your project fixes this. Include the code and the full message.

The search didn't finish, so the content may well be there. Don't answer with a 404.

SPEC_UNREADABLE​

A stored layout won't open

Studio found the template or section, but its stored layout is damaged and won't open. It isn't anything you've done.

Where you'll see it

  • In Studio, as the Your Content Didn't Load card.

  • In your browser console or server log, as one of these:

    [Contentstack Studio] SPEC_UNREADABLE: The stored layout for blog_post_template could not be read.
    [Contentstack Studio] SPEC_UNREADABLE: A stored layout could not be read.

How to fix it

Contact Contentstack support. Nothing you change in your project fixes this. Include the code and the full message.

Studio found the template, so don't answer with a 404.

UPSTREAM_ERROR​

Contentstack couldn't answer

Contentstack couldn't give your site an answer. Nothing in your project caused it, and nothing in it needs changing. When Contentstack sent an HTTP status, the message includes it.

Where you'll see it

  • In Studio, as the Your Content Didn't Load card.

  • In your browser console or server log, as one of these:

    [Contentstack Studio] UPSTREAM_ERROR: Contentstack answered this request with 503.
    [Contentstack Studio] UPSTREAM_ERROR: Contentstack's reply to this request could not be read.

How to fix it

  1. Try again in a few minutes. Nothing in your project needs changing first.
  2. Contact Contentstack support. If it keeps happening, contact Contentstack support. Include the status and the code from the error.

The content isn't missing, so don't answer with a 404.

URL_OWNERSHIP_PROBE_FAILED​

Studio couldn't tell which template owns this address

More than one template is set up for /blog/ai-101, so Studio checks with Contentstack which one owns it. Every one of those checks failed to complete.

Where you'll see it

  • In Studio, as the Your Content Didn't Load card.

  • In your browser console or server log:

    [Contentstack Studio] URL_OWNERSHIP_PROBE_FAILED: Could not check which composition owns "/blog/ai-101" — every ownership check failed.

How to fix it

  1. Try again shortly. Nothing in your project needs changing first.
  2. Contact Contentstack support. If it keeps happening, contact Contentstack support. Include the code and the full message.

The content isn't missing, so don't answer with a 404.

Nothing matches what your site asked for​

Studio finished looking, and what your site asked for isn't there. These are the only codes where your site should answer with a 404.

COMPOSITION_UID_NOT_FOUND​

That template isn't here

Your site asked for the template with the UID blog_post_template, and Studio didn't find it in this project.

Where you'll see it

  • In Studio, as the That Composition Isn't Here card.

  • In your browser console or server log, as one of these. The last one means your own fetcher returned nothing.

    [Contentstack Studio] COMPOSITION_UID_NOT_FOUND: No composition with the uid "blog_post_template" in content type "compositions".
    [Contentstack Studio] COMPOSITION_UID_NOT_FOUND: No composition with the uid "blog_post_template" was found in content type "compositions".
    [Contentstack Studio] COMPOSITION_UID_NOT_FOUND: No composition with the uid "blog_post_template" was returned.

How to fix it, most likely first

  1. Check the UID. It may not be the one this template has. You can find the right one on the template in Studio.
  2. Check it's published. When your site reads published content, the template may not be published to production. Check its publish status in Contentstack.

Your site should answer this one with a 404, because the content really isn't there. For more, see Bring your own data.

CONNECTED_ENTRY_NOT_FOUND​

This template has no content to show

The template loaded, but the entry it reads its content from wasn't found in blog_post.

Where you'll see it

  • In Studio, as the This Page Has No Content to Show card.

  • In your browser console or server log:

    [Contentstack Studio] CONNECTED_ENTRY_NOT_FOUND: No entry was found for the content type "blog_post" this composition is connected to.

How to fix it, most likely first

  1. Check there's an entry. No entry in blog_post may have this address, or match this template. Create one, or connect the template to a content type that has entries.
  2. Check the entry UID. When your site asks for the entry by its UID, with templateEntryUid, the UID may be wrong, or the entry may not be in blog_post.
  3. Check it's published. The entry may exist and not be published to production. Publish it, or check which environment your site reads.
  4. Check the connected content type. The template may be connected to the wrong content type. Check it in Studio.
  5. Check for transformation rules. If your Custom Preview URL has transformation rules on a field in the template's URL, the address holds a changed value Studio can't look up. See Transformation rules aren't applied.

Your site should answer this one with a 404, because the content really isn't there. See Handling missing routes.

NO_COMPOSITION_FOR_TEMPLATE_CONTENT_TYPE​

No template uses this content type

Your site asked for the template connected to blog_post, and nothing in this project is connected to it.

Where you'll see it

  • In Studio, as the No Composition for This Content Type card.

  • In your browser console or server log, as one of these:

    [Contentstack Studio] NO_COMPOSITION_FOR_TEMPLATE_CONTENT_TYPE: No composition is connected to the content type "blog_post".
    [Contentstack Studio] NO_COMPOSITION_FOR_TEMPLATE_CONTENT_TYPE: No composition in this project is connected to the content type "blog_post".

How to fix it, most likely first

  1. Connect a template. Connect one to blog_post in Studio, or ask for a different content type.
  2. Check it's published. When your site reads published content, the template that uses blog_post may not be published to production. Check its publish status in Contentstack.

Your site should answer this one with a 404, because the content really isn't there. See Fetching by template UID and entry UID.

NO_COMPOSITION_FOR_URL​

Nothing is set up for this address

Your site asked for /blog/ai-101, and no template in your project is set up for that address. Studio checked every template's URL and none of them matched, so there's nothing to show.

Where you'll see it

  • In Studio, as the Nothing Is Set Up for This Address card.

  • In your browser console or server log, as one of these:

    [Contentstack Studio] NO_COMPOSITION_FOR_URL: No composition matches "/blog/ai-101". Considered 3 compositions.
    [Contentstack Studio] NO_COMPOSITION_FOR_URL: No composition is set up for the address /blog/ai-101.

How to fix it, most likely first

  1. Check the address. Compare /blog/ai-101 with the Template URL of the template you expect, in Studio.
  2. Check the URL pattern. The template's URL pattern may not produce this address. Open the pattern in Studio and check it against /blog/ai-101. See How template URLs work and Common Template URL pitfalls.
  3. Check it's published. When your site reads published content, the template may not be published to production. Check its publish status in Contentstack.

Your site should answer this one with a 404, because the content really isn't there. See Handling missing routes.

URL_LOCALE_NOT_FOUND​

The language in this address isn't set up

The address /fr/blog/ai-101 asks for the language fr, and that language isn't set up on this stack. The language came from the address, not from your SDK configuration. If it came from your configuration instead, see LOCALE_NOT_CONFIGURED.

Where you'll see it

  • In Studio, as the Nothing Is Set Up for This Address card.

  • In your browser console or server log, as one of these:

    [Contentstack Studio] URL_LOCALE_NOT_FOUND: "/fr/blog/ai-101" asks for the language "fr", which is not set up on this stack.
    [Contentstack Studio] URL_LOCALE_NOT_FOUND: This address asks for the language "fr", which is not set up on this stack.

How to fix it, most likely first

  1. Check the address. The language in it may not be one of this stack's languages. Check it against the languages in Contentstack.
  2. Add the language back. It may have been removed from the stack after this address was published. Add it back, or redirect the address to a language the stack has.

The address is what a visitor asked for, so a language the stack doesn't have means there's no such content. Your site should answer with a 404. See Handling missing routes.

URL_MATCHED_NO_ENTRY​

This address has no content behind it

Two templates are set up for /blog/ai-101, but none of them has an entry for this address. Your routing is right, and the content is what's missing.

Where you'll see it

  • In Studio, as the This Address Has No Content Behind It card.

  • In your browser console or server log:

    [Contentstack Studio] URL_MATCHED_NO_ENTRY: 2 compositions match "/blog/ai-101", and none of them has an entry for it.

How to fix it, most likely first

  1. Check there's an entry at this address. No entry in blog_post may have this address. Open the template in Studio and check the entry it reads from.
  2. Check it's published. When your site reads published content, the entry may not be published to production. Check its publish status in Contentstack.
  3. Check the connected content type. A template may be connected to the wrong content type. Check the connected content type on each template in Studio.

Your site should answer this one with a 404, because the content really isn't there. For the URL side, see Common Template URL pitfalls. For the 404, see Handling missing routes.

Messages without a code​

These messages don't carry a code. Find the one you saw in the table for where you saw it, then follow the link. A … in a message stands for a value that changes, such as a field name or a URL.

In the Studio editor​

MessageWhere you'll see itGo to
Content type with this uid already exists in this stack. Please choose a different uid.When you create a projectCreate a project
Content type with this name already exists in this stack. Please choose a different name.When you create a projectCreate a project
No base URL found!In Project Settings, under ConfigurationConfigure your project
URL pattern cannot be empty.In the Edit URL dialogURL variables
The variable "…" is invalid. Please check for typos.In the Edit URL dialogURL variables
The variable "…" is not recognized. Check the syntax and spelling.In the Edit URL dialogURL variables
You cannot use "…" in a freeform composition because no connected content type exists to query.In the Edit URL dialogURL variables
The variable "…" is not allowed. Date variables and other pseudo variables are not supported.In the Edit URL dialogURL variables
The field "…" does not exist. Please ensure you enter only existing fields.In the Edit URL dialogURL variables
"…" is not a nested field and cannot be traversed further.In the Edit URL dialogURL variables
The reference field "…" is not a valid reference.In the Edit URL dialogURL variables
Could not load the referenced content type for "…". Try again or check that the referenced content type exists.In the Edit URL dialogURL variables
The content type schema is still loading. Please wait a moment and try again.In the Edit URL dialogURL variables
Invalid URL pattern syntax. Please check your variable formatting.In the Edit URL dialogURL variables
Save failed: …In the Edit URL dialogURL variables
Studio doesn't apply Custom Preview URL transformations to this pattern. There are a few ways to set up a pattern that matches.In the Edit URL dialog, as a noticeTransformation rules aren't applied

On the canvas​

Cards that come from an error code are listed under that code, in Find the code you saw.

MessageWhere you'll see itGo to
Canvas URL is not configuredOn the canvas, in place of the previewConfigure your project
Studio Can't Connect to Your SiteA card on the canvasInstall the Studio SDK
Content Types Don't MatchA card on the canvasCreate a project
Use Studio Canvas ComponentA card on the canvas, while you edit a sectionMount the section preview route
No Section Canvas on This RouteA card on the canvas, while you edit a sectionMount the section preview route
A Page Loaded, Not the CanvasA card on the canvas, while you edit a sectionMount the section preview route
We couldn't load your websiteOn the canvas, in place of the preview, while you edit a templateCreate a template
No entry matches this URL patternOn the canvas, in place of the preview, while you edit a templateCreate a template
No entry has a URL field populated yetOn the canvas, in place of the preview, while you edit a templateCreate a template
Connected Content Type Not AvailableOn the canvas, in place of the preview, while you edit a templateCreate a template
No Studio Code on This RouteA card on the canvas, while you edit a templateWire template preview routes
Use Studio ComponentA card on the canvas, while you edit a templateWire template preview routes
URL Pinned to Another TemplateA card on the canvas, while you edit a templateWire template preview routes
A Closer URL Match WonA card on the canvas, while you edit a templateEdit or reset a template's URL
Another Entry Owns This URLA card on the canvas, while you edit a templateEdit or reset a template's URL
Two Templates Share This URLA card on the canvas, while you edit a templateEdit or reset a template's URL
This Address Is Nearly RightA card on the canvas, while you edit a templateEdit or reset a template's URL
URL Conflict DetectedA notice on the canvas, while you edit a template that loadsEdit or reset a template's URL
This section isn't allowed in this slot. Choose one of the slot's allowed sections, or drop a different component.When you drag onto the canvasBuild a template from sections
This element is locked. Unlock it first, or drop into a different container.When you drag onto the canvasSelect and arrange elements
Condition blocks inside this repeater can only have one child container.When you drag onto the canvasRender a list of mixed things

In the Settings, Data, Design and Layers tabs​

MessageWhere you'll see itGo to
Direct binding isn’t supported because this field has no data—use a repeater to bind it to the schema.In the Settings tabBind a component
Direct binding isn’t supported for multiple-value fields—use a repeater to bind it to the schema.In the Settings tabBind a component
This content may not display correctly in this view. Please contact your development team to update the component so it can support this type of content.In the component itself, on the canvas and on your live site, in place of the valueBind a component
Invalid sourceIn the Layers tabBind a component
No source configuredIn the Layers tabBind a component
No condition configuredIn the Layers tabShow or hide content with a condition
Data Mismatch FoundIn the Settings tabComponent schema: props, types and defaults
No properties available for the selected component.In the Settings tabComponent schema: props, types and defaults
No properties available for the selected component.In the Design tabStyle on the canvas
No styles are available for this section. Styles cannot be added or applied.In the Design tabStyle on the canvas
For design changes to take effect, the component must be configured to use the … property.In the Design tabMake your components styleable
Could not load the data source. Please try again later. If the issue persists, please contact support.In the Data tabAdd extra data to a template
No data available for selected data source, please select one to continueIn the Data tabAdd extra data to a template
Invalid bindingIn the Settings tab, on a condition, and in the Layers tabShow or hide content with a condition
Clear this condition first and re-build it by selecting a field from the data binder.In the Settings tab, on a conditionShow or hide content with a condition

In the browser console or server log​

These come from the Studio SDK in your app. If you expected a code here and there isn't one, your SDK may be older than the release that added error codes, which logs its errors without one.

MessageWhere you'll see itGo to
Either compositionUid, url, or templateContentTypeUid is requiredIn the browser consoleFetching by template UID and entry UID
error while registering componentsIn the browser consoleRegister a component
No request listener found for event "register-components"In the browser consoleRegister a component
[Contentstack Studio] StudioComposition requires either a `spec` or a `compositionUid`.In the browser console or server logBring your own data
[Contentstack Studio] StudioComposition: SDK not initialized. Call studioSdk.init(config) before rendering with a compositionUid.In the browser consoleBring your own data
[Contentstack Studio] Slot: failed to report slot dataIn the browser consoleBring your own data

From your framework or a library​

These come from React, Next.js or a Contentstack library, not from Studio, but a Studio setup is a common cause.

MessageWhere you'll see itGo to
Attempted to call …() from the serverIn your server logRender on the server
Invalid hook callIn the browser console or server logRender on the server
Only plain objects can be passed to Client ComponentsIn your server log, in Next.jsBring your own data

From the Studio API​

Every Studio API error, with its status code, error_code and exact message, is in API errors and validation.

Deciding what your site returns​

This part is for developers who handle these errors in code. The Studio SDK doesn't log the errors it throws. It throws them, so you see one wherever your app logs errors: the browser console, your server log or your framework's error overlay.

The logged message starts with [Contentstack Studio] and the code, then the message, then the causes to check, most likely first:

[Contentstack Studio] NO_COMPOSITION_FOR_URL: No composition matches "/blog/ai-101". Considered 3 compositions.

What to do, most likely first:
1. The address "/blog/ai-101" may not be the one the composition is set up for. Compare it with the composition's URL in Studio.
2. The composition's URL pattern may not produce this address. Open the pattern in Studio and check it against the address.

The error carries its code as error.code and its class as error.errorClass. Each code belongs to one of five classes:

ClassWhat it meansAnswer withOn this page
SETUP_INCOMPLETESomething your site needed wasn't there when it was needed.5xxYour site's setup is incomplete
SETUP_INVALIDSomething your site is set up with is wrong.5xxStudio can't read your content
NETWORK_ERRORYour site sent the request and nothing came back.5xxTRANSPORT_FAILED
SERVER_ERRORThe SDK couldn't establish an answer.5xxThe rest of Your content didn't load
NOT_FOUNDNothing matched what your site asked for.404Nothing matches what your site asked for

Only the NOT_FOUND codes mean the content isn't there. To decide whether your site answers with a 404, call isCompositionNotFound(error) from @contentstack/studio-react. It's true for the NOT_FOUND codes and false for every other code, which you'd answer with a 5xx.

Note: Error codes ship with the Studio SDK release that adds them. An earlier SDK logs its errors without a code.

Warnings about content that didn't load​

These codes aren't errors. The page still renders, but something on it is blank or empty. The SDK doesn't throw them. It logs each one as a warning in the browser console or server log, with the code and the message, followed by an object with the details.

The SDK logs them in development, when NODE_ENV is development. In production it logs them only when you pass debug: true to studioSdk.init. It logs each message once per page load, even when a binding repeats inside a Repeater. A … in a message stands for a value that changes.

CodeMessageWhat it means
BINDING_PATH_MISSING[Contentstack Studio] BINDING_PATH_MISSING: The binding "…" does not exist on …. The field was renamed or removed on the content type, or it's empty on this entry.
BINDING_SHAPE_MISMATCH[Contentstack Studio] BINDING_SHAPE_MISMATCH: The binding "…" reads a single value and resolved to a …. The binding points at a group or modular block. Point it at a field inside it.
REFERENCES_UNRESOLVED[Contentstack Studio] REFERENCES_UNRESOLVED: … references came back as pointers rather than entries, so anything bound past them has nothing to show. The references nest deeper than one request follows, or a referenced entry was deleted.
FEWER_ENTRIES_THAN_REQUESTED[Contentstack Studio] FEWER_ENTRIES_THAN_REQUESTED: Asked "…" for … entries and got …. Missing: …. The missing entries aren't published to this environment, or they were deleted.
QUERY_RETURNED_NO_ROWS[Contentstack Studio] QUERY_RETURNED_NO_ROWS: The data source "…" returned no entries. A pinned query ran and its filter matched nothing.
QUERY_REQUEST_FAILED[Contentstack Studio] QUERY_REQUEST_FAILED: The data source "…" could not be fetched, so its list is empty. A pinned query's request didn't complete. Its filter isn't the problem. Retry the page.
DATA_SOURCES_UNREADABLE[Contentstack Studio] DATA_SOURCES_UNREADABLE: The stored data sources for … could not be read, so none of its queries ran. The composition's saved data sources are damaged. Report it to Contentstack.
PREVIEW_ASSET_PROJECTION_NULL[Contentstack Studio] PREVIEW_ASSET_PROJECTION_NULL: The asset at "…" on … came back empty from the preview service. The same request returns it from the published CDN. A known Preview API defect. Check the published site before you change the binding.

Where to go next​

  • For a message that isn't listed here, open the page for the task you were doing and check its "If it doesn't work" heading.
  • Look up the rules behind the Edit URL messages: URL variables.
  • Find out how Studio matches an address to a template: How template URLs work.

Report a problem with this page