{"id":5639,"date":"2025-12-02T06:32:41","date_gmt":"2025-12-02T06:32:41","guid":{"rendered":"https:\/\/thumbtube.com\/blog\/?p=5639"},"modified":"2025-12-02T06:33:32","modified_gmt":"2025-12-02T06:33:32","slug":"how-to-fix-kubejs-errors-found-a-complete-guide","status":"publish","type":"post","link":"https:\/\/thumbtube.com\/blog\/how-to-fix-kubejs-errors-found-a-complete-guide\/","title":{"rendered":"How to Fix KubeJS \u201cErrors Found\u201d: A Complete Guide"},"content":{"rendered":"<p>When you&#8217;re building custom mods or tweaking mechanics in Minecraft using <strong>KubeJS<\/strong>, you might frequently encounter errors flagged simply as <em>\u201cErrors Found\u201d<\/em>. These messages show up during world loading or when refreshing scripts, sometimes stopping your entire modpack from running properly. Though this can be frustrating, these errors are there to guide you toward fixing issues in your scripts. In this guide, we\u2019ll walk you through the various causes of \u201cErrors Found\u201d messages in KubeJS, explain how to fix them, and offer best practices for future-proof scripting.<\/p>\n<h2>TL;DR<\/h2>\n<p>If you&#8217;re seeing &#8220;Errors Found&#8221; in your KubeJS environment, it&#8217;s likely due to a syntax error, invalid item or recipe references, or scripts that reference mods not loaded. Start by checking your server or client log files for detailed error descriptions. Most issues can be resolved by correcting typos, verifying mod dependencies, and ensuring correct file structure. Always test changes incrementally and back up before editing scripts.<\/p>\n<h2>Understanding KubeJS and Its Error System<\/h2>\n<p><strong>KubeJS<\/strong> is a powerful scripting mod for Minecraft that lets you customize gameplay using JavaScript. Whether you&#8217;re adding custom recipes, events, or item behaviors, any mistake in your code or file setup triggers KubeJS to report <em>&#8220;Errors Found&#8221;<\/em>, typically during startup.<\/p>\n<p>These errors won\u2019t always tell you exactly what\u2019s wrong in the game UI, which is why checking your logs is crucial. Errors can arise from:<\/p>\n<ul>\n<li>Syntax issues in JavaScript code<\/li>\n<li>Incorrect object or method names<\/li>\n<li>Referencing non-existent items or mods<\/li>\n<li>Missing semicolons or brackets<\/li>\n<li>Scripts loading in the wrong stage (server vs client)<\/li>\n<\/ul>\n<h2>Step 1: Check the Startup Logs<\/h2>\n<p>The most reliable place to start fixing KubeJS errors is the log file. Here\u2019s how to locate it:<\/p>\n<ul>\n<li>If you&#8217;re using a client, go to <em>.minecraft\/logs\/kubejs.log<\/em><\/li>\n<li>If you&#8217;re on a server, check <em>logs\/kubejs\/server_scripts.log<\/em><\/li>\n<\/ul>\n<p>Open the log file in a text editor and look for lines marked with <code>[ERROR]<\/code> or <code>[Script]<\/code>. These entries typically include:<\/p>\n<ul>\n<li>The line number of the script where the error occurred<\/li>\n<li>The nature of the error (e.g., &#8220;undefined is not a function&#8221;)<\/li>\n<li>The name of the script file with issues<\/li>\n<\/ul>\n<p>Copy and paste the log entry into a JavaScript syntax validator or search online for clues on what the error might indicate.<\/p>\n<h2>Step 2: Fixing Common Script Errors<\/h2>\n<p>Here are the most frequent script errors newbies and experienced modders run into, and how to resolve them:<\/p>\n<h3>1. Typo or Syntax Error<\/h3>\n<p>Maybe you wrote:<\/p>\n<pre>event.recipes.minecraft.crafting_shaped('minecraft:stick', [[ 'planks' ]])<\/pre>\n<p>But missed a proper definition of the pattern. The correct version would be:<\/p>\n<pre>event.recipes.minecraft.crafting_shaped('minecraft:stick', [ ['planks'], ['planks'] ])<\/pre>\n<h3>2. Invalid Item or Tag<\/h3>\n<p>If you&#8217;re referencing an item or tag that doesn&#8217;t exist, you&#8217;ll get an error. For example:<\/p>\n<pre>item.of('notamod:ghost_item')<\/pre>\n<p><em>notamod:ghost_item<\/em> doesn\u2019t exist, which breaks the script. Double-check item IDs using tools like JEI or KubeJS dev tools.<\/p>\n<img loading=\"lazy\" decoding=\"async\" width=\"1080\" height=\"720\" src=\"https:\/\/thumbtube.com\/blog\/wp-content\/uploads\/2025\/12\/white-printer-paper-with-blue-text-kubejs-error-log-javascript.jpg\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/thumbtube.com\/blog\/wp-content\/uploads\/2025\/12\/white-printer-paper-with-blue-text-kubejs-error-log-javascript.jpg 1080w, https:\/\/thumbtube.com\/blog\/wp-content\/uploads\/2025\/12\/white-printer-paper-with-blue-text-kubejs-error-log-javascript-300x200.jpg 300w, https:\/\/thumbtube.com\/blog\/wp-content\/uploads\/2025\/12\/white-printer-paper-with-blue-text-kubejs-error-log-javascript-1024x683.jpg 1024w, https:\/\/thumbtube.com\/blog\/wp-content\/uploads\/2025\/12\/white-printer-paper-with-blue-text-kubejs-error-log-javascript-768x512.jpg 768w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/>\n<h3>3. Script Type Misuse<\/h3>\n<p>Scripts in KubeJS are split into different folders depending on their role:<\/p>\n<ul>\n<li><code>server_scripts<\/code> \u2013 For recipe and world changes<\/li>\n<li><code>client_scripts<\/code> \u2013 For UI and visual tweaks<\/li>\n<li><code>startup_scripts<\/code> \u2013 Runs once during game loading<\/li>\n<\/ul>\n<p>If you try to use client-only functions (like tooltips or item colors) inside server scripts, you\u2019ll get script errors. Be mindful where you place each file.<\/p>\n<h2>Step 3: Use try\/catch for Testing<\/h2>\n<p>When developing, you can wrap parts of your code in a <code>try { ... } catch(e) { console.log(e) }<\/code> block. This prevents a failed line from crashing the entire script.<\/p>\n<pre>\ntry {\n  event.recipes.minecraft.crafting_shaped('minecraft:diamond', [\n    ['minecraft:dirt', 'minecraft:dirt', 'minecraft:dirt'],\n    ['minecraft:dirt', 'minecraft:stick', 'minecraft:dirt'],\n    ['minecraft:dirt', 'minecraft:dirt', 'minecraft:dirt']\n  ])\n} catch(e) {\n  console.log(\"Recipe failed to load: \" + e)\n}\n<\/pre>\n<p>This method is great during experimentation, but don\u2019t forget to clean up once your scripts are stable.<\/p>\n<h2>Step 4: Validate Your Script File Structure<\/h2>\n<p>As of KubeJS for newer Minecraft versions (1.18+), scripts must follow a structured loading mechanism. Make sure you\u2019re not dropping files directly into the <code>kubejs<\/code> folder. The typical structure is:<\/p>\n<pre>\nkubejs\/\n\u251c\u2500\u2500 config\/\n\u251c\u2500\u2500 client_scripts\/\n\u251c\u2500\u2500 server_scripts\/\n\u251c\u2500\u2500 startup_scripts\/\n\u2514\u2500\u2500 assets\/\n<\/pre>\n<p>This ensures each script loads in the intended stage of the game. Incorrect placement results in scripts not being processed at all or causing an error message.<\/p>\n<img loading=\"lazy\" decoding=\"async\" width=\"1080\" height=\"608\" src=\"https:\/\/thumbtube.com\/blog\/wp-content\/uploads\/2025\/12\/a-group-of-white-cubes-floating-in-the-air-minecraft-folder-structure-kubejs-scripts.jpg\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/thumbtube.com\/blog\/wp-content\/uploads\/2025\/12\/a-group-of-white-cubes-floating-in-the-air-minecraft-folder-structure-kubejs-scripts.jpg 1080w, https:\/\/thumbtube.com\/blog\/wp-content\/uploads\/2025\/12\/a-group-of-white-cubes-floating-in-the-air-minecraft-folder-structure-kubejs-scripts-300x169.jpg 300w, https:\/\/thumbtube.com\/blog\/wp-content\/uploads\/2025\/12\/a-group-of-white-cubes-floating-in-the-air-minecraft-folder-structure-kubejs-scripts-1024x576.jpg 1024w, https:\/\/thumbtube.com\/blog\/wp-content\/uploads\/2025\/12\/a-group-of-white-cubes-floating-in-the-air-minecraft-folder-structure-kubejs-scripts-768x432.jpg 768w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/>\n<h2>Step 5: Ensure Mod Compatibility<\/h2>\n<p>Another major cause of &#8220;Errors Found&#8221; is when you reference another mod&#8217;s content, like an item or block, but that mod is missing or not loaded properly. For example:<\/p>\n<pre>event.recipes.create.mixing('minecraft:diamond', [ '#forge:ingots\/iron', '#forge:dusts\/redstone' ])<\/pre>\n<p>If <strong>Create<\/strong> isn&#8217;t installed or has an incompatible version, this line will crash. Always make sure:<\/p>\n<ul>\n<li>Dependent mods are installed and enabled<\/li>\n<li>You&#8217;re referencing mod elements based on their correct IDs<\/li>\n<li>You use <code>Platform.mods.kubejs<\/code> to check for mod presence<\/li>\n<\/ul>\n<p>Example of safe referencing:<\/p>\n<pre>\nif (Platform.mods.create) {\n  event.recipes.create.mixing('minecraft:diamond', [ '#forge:ingots\/iron', '#forge:dusts\/redstone' ])\n}\n<\/pre>\n<h2>Tools and Utilities to Help You Debug<\/h2>\n<p>If you&#8217;re dealing with complex scripts, these tools can help identify and patch errors:<\/p>\n<ul>\n<li><strong>Visual Studio Code<\/strong>: Offers syntax highlighting and JS linting<\/li>\n<li><strong>KubeJS REPL (in-game command)<\/strong>: Lets you test JS code without restarting<\/li>\n<li><strong>Script Validator Mods<\/strong>: Some packs offer GUI tools to auto-highlight broken scripts<\/li>\n<li><strong>Online JS linters<\/strong>: Run scripts through tools like JSHint or ESLint<\/li>\n<\/ul>\n<h2>Best Practices to Prevent Future Errors<\/h2>\n<p>A few proactive habits go a long way in keeping your KubeJS scripting environment smooth:<\/p>\n<ul>\n<li><strong>Comment complex code:<\/strong> Leave notes for yourself or other modders<\/li>\n<li><strong>Version your scripts:<\/strong> Create backups before major edits<\/li>\n<li><strong>Validate with JEI\/mod tools:<\/strong> Ensure referenced item IDs and tags exist<\/li>\n<li><strong>Mod presence checks:<\/strong> Always check if a mod is present before referencing it<\/li>\n<li><strong>Divide scripts logically:<\/strong> One script per major system or mod<\/li>\n<\/ul>\n<h2>Conclusion<\/h2>\n<p>While the \u201cErrors Found\u201d message in KubeJS can be intimidating, it\u2019s essentially your editor reminding you something\u2019s off. By using logs, understanding common error types, and following scripting best practices, you can resolve most issues swiftly. The key lies in learning from errors and iterating your scripts over time. With a bit of patience and attention to detail, your custom Minecraft experience will run smoother and more impressively than ever.<\/p>\n<p>Happy modding!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>When you&#8217;re building custom mods or tweaking mechanics in Minecraft using KubeJS, you might frequently &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"How to Fix KubeJS \u201cErrors Found\u201d: A Complete Guide\" class=\"read-more button\" href=\"https:\/\/thumbtube.com\/blog\/how-to-fix-kubejs-errors-found-a-complete-guide\/#more-5639\" aria-label=\"Read more about How to Fix KubeJS \u201cErrors Found\u201d: A Complete Guide\">Read More<\/a><\/p>\n","protected":false},"author":78,"featured_media":5640,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-5639","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-guides","infinite-scroll-item","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-25","no-featured-image-padding"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Fix KubeJS \u201cErrors Found\u201d: A Complete Guide - ThumbTube<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thumbtube.com\/blog\/how-to-fix-kubejs-errors-found-a-complete-guide\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Fix KubeJS \u201cErrors Found\u201d: A Complete Guide - ThumbTube\" \/>\n<meta property=\"og:description\" content=\"When you&#8217;re building custom mods or tweaking mechanics in Minecraft using KubeJS, you might frequently ... Read More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thumbtube.com\/blog\/how-to-fix-kubejs-errors-found-a-complete-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"ThumbTube\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-02T06:32:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-02T06:33:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thumbtube.com\/blog\/wp-content\/uploads\/2025\/12\/text-kubejs-error-log-javascript.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1080\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Ethan Martinez\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ethan Martinez\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/thumbtube.com\/blog\/how-to-fix-kubejs-errors-found-a-complete-guide\/\",\"url\":\"https:\/\/thumbtube.com\/blog\/how-to-fix-kubejs-errors-found-a-complete-guide\/\",\"name\":\"How to Fix KubeJS \u201cErrors Found\u201d: A Complete Guide - ThumbTube\",\"isPartOf\":{\"@id\":\"https:\/\/thumbtube.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/thumbtube.com\/blog\/how-to-fix-kubejs-errors-found-a-complete-guide\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/thumbtube.com\/blog\/how-to-fix-kubejs-errors-found-a-complete-guide\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/thumbtube.com\/blog\/wp-content\/uploads\/2025\/12\/text-kubejs-error-log-javascript.jpg\",\"datePublished\":\"2025-12-02T06:32:41+00:00\",\"dateModified\":\"2025-12-02T06:33:32+00:00\",\"author\":{\"@id\":\"https:\/\/thumbtube.com\/blog\/#\/schema\/person\/4fe17b14e96eaa537d646cb9ae441583\"},\"breadcrumb\":{\"@id\":\"https:\/\/thumbtube.com\/blog\/how-to-fix-kubejs-errors-found-a-complete-guide\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/thumbtube.com\/blog\/how-to-fix-kubejs-errors-found-a-complete-guide\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/thumbtube.com\/blog\/how-to-fix-kubejs-errors-found-a-complete-guide\/#primaryimage\",\"url\":\"https:\/\/thumbtube.com\/blog\/wp-content\/uploads\/2025\/12\/text-kubejs-error-log-javascript.jpg\",\"contentUrl\":\"https:\/\/thumbtube.com\/blog\/wp-content\/uploads\/2025\/12\/text-kubejs-error-log-javascript.jpg\",\"width\":1080,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/thumbtube.com\/blog\/how-to-fix-kubejs-errors-found-a-complete-guide\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/thumbtube.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Fix KubeJS \u201cErrors Found\u201d: A Complete Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/thumbtube.com\/blog\/#website\",\"url\":\"https:\/\/thumbtube.com\/blog\/\",\"name\":\"ThumbTube\",\"description\":\"Blog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/thumbtube.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/thumbtube.com\/blog\/#\/schema\/person\/4fe17b14e96eaa537d646cb9ae441583\",\"name\":\"Ethan Martinez\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/thumbtube.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/993fbfe1588a77db452e8ea37ed7fcba?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/993fbfe1588a77db452e8ea37ed7fcba?s=96&d=mm&r=g\",\"caption\":\"Ethan Martinez\"},\"description\":\"I'm Ethan Martinez, a tech writer focused on cloud computing and SaaS solutions. I provide insights into the latest cloud technologies and services to keep readers informed.\",\"url\":\"https:\/\/thumbtube.com\/blog\/author\/ethan\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Fix KubeJS \u201cErrors Found\u201d: A Complete Guide - ThumbTube","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thumbtube.com\/blog\/how-to-fix-kubejs-errors-found-a-complete-guide\/","og_locale":"en_US","og_type":"article","og_title":"How to Fix KubeJS \u201cErrors Found\u201d: A Complete Guide - ThumbTube","og_description":"When you&#8217;re building custom mods or tweaking mechanics in Minecraft using KubeJS, you might frequently ... Read More","og_url":"https:\/\/thumbtube.com\/blog\/how-to-fix-kubejs-errors-found-a-complete-guide\/","og_site_name":"ThumbTube","article_published_time":"2025-12-02T06:32:41+00:00","article_modified_time":"2025-12-02T06:33:32+00:00","og_image":[{"width":1080,"height":720,"url":"https:\/\/thumbtube.com\/blog\/wp-content\/uploads\/2025\/12\/text-kubejs-error-log-javascript.jpg","type":"image\/jpeg"}],"author":"Ethan Martinez","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Ethan Martinez","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/thumbtube.com\/blog\/how-to-fix-kubejs-errors-found-a-complete-guide\/","url":"https:\/\/thumbtube.com\/blog\/how-to-fix-kubejs-errors-found-a-complete-guide\/","name":"How to Fix KubeJS \u201cErrors Found\u201d: A Complete Guide - ThumbTube","isPartOf":{"@id":"https:\/\/thumbtube.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thumbtube.com\/blog\/how-to-fix-kubejs-errors-found-a-complete-guide\/#primaryimage"},"image":{"@id":"https:\/\/thumbtube.com\/blog\/how-to-fix-kubejs-errors-found-a-complete-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/thumbtube.com\/blog\/wp-content\/uploads\/2025\/12\/text-kubejs-error-log-javascript.jpg","datePublished":"2025-12-02T06:32:41+00:00","dateModified":"2025-12-02T06:33:32+00:00","author":{"@id":"https:\/\/thumbtube.com\/blog\/#\/schema\/person\/4fe17b14e96eaa537d646cb9ae441583"},"breadcrumb":{"@id":"https:\/\/thumbtube.com\/blog\/how-to-fix-kubejs-errors-found-a-complete-guide\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thumbtube.com\/blog\/how-to-fix-kubejs-errors-found-a-complete-guide\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/thumbtube.com\/blog\/how-to-fix-kubejs-errors-found-a-complete-guide\/#primaryimage","url":"https:\/\/thumbtube.com\/blog\/wp-content\/uploads\/2025\/12\/text-kubejs-error-log-javascript.jpg","contentUrl":"https:\/\/thumbtube.com\/blog\/wp-content\/uploads\/2025\/12\/text-kubejs-error-log-javascript.jpg","width":1080,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/thumbtube.com\/blog\/how-to-fix-kubejs-errors-found-a-complete-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thumbtube.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Fix KubeJS \u201cErrors Found\u201d: A Complete Guide"}]},{"@type":"WebSite","@id":"https:\/\/thumbtube.com\/blog\/#website","url":"https:\/\/thumbtube.com\/blog\/","name":"ThumbTube","description":"Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thumbtube.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/thumbtube.com\/blog\/#\/schema\/person\/4fe17b14e96eaa537d646cb9ae441583","name":"Ethan Martinez","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/thumbtube.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/993fbfe1588a77db452e8ea37ed7fcba?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/993fbfe1588a77db452e8ea37ed7fcba?s=96&d=mm&r=g","caption":"Ethan Martinez"},"description":"I'm Ethan Martinez, a tech writer focused on cloud computing and SaaS solutions. I provide insights into the latest cloud technologies and services to keep readers informed.","url":"https:\/\/thumbtube.com\/blog\/author\/ethan\/"}]}},"_links":{"self":[{"href":"https:\/\/thumbtube.com\/blog\/wp-json\/wp\/v2\/posts\/5639"}],"collection":[{"href":"https:\/\/thumbtube.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thumbtube.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thumbtube.com\/blog\/wp-json\/wp\/v2\/users\/78"}],"replies":[{"embeddable":true,"href":"https:\/\/thumbtube.com\/blog\/wp-json\/wp\/v2\/comments?post=5639"}],"version-history":[{"count":1,"href":"https:\/\/thumbtube.com\/blog\/wp-json\/wp\/v2\/posts\/5639\/revisions"}],"predecessor-version":[{"id":5645,"href":"https:\/\/thumbtube.com\/blog\/wp-json\/wp\/v2\/posts\/5639\/revisions\/5645"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thumbtube.com\/blog\/wp-json\/wp\/v2\/media\/5640"}],"wp:attachment":[{"href":"https:\/\/thumbtube.com\/blog\/wp-json\/wp\/v2\/media?parent=5639"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thumbtube.com\/blog\/wp-json\/wp\/v2\/categories?post=5639"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thumbtube.com\/blog\/wp-json\/wp\/v2\/tags?post=5639"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}