{"id":3397,"date":"2024-05-22T17:01:58","date_gmt":"2024-05-22T20:01:58","guid":{"rendered":"https:\/\/beon.tech\/blog\/?p=3397"},"modified":"2026-04-06T13:04:45","modified_gmt":"2026-04-06T16:04:45","slug":"how-can-developers-leverage-hasura-io","status":"publish","type":"post","link":"https:\/\/beon.tech\/blog\/how-can-developers-leverage-hasura-io\/","title":{"rendered":"How Can Developers Leverage Hasura.io? Uses, Examples, and Code Snippets Explained"},"content":{"rendered":"\n<p>Hasura stands out as a formidable player in the realm of modern web development. Particularly for those projects that demand efficient, flexible, and scalable data management solutions. Its prowess in automatically generating CRUD operations, coupled with its robust handling of relationships and support for complex queries via PL\/SQL functions, positions it as a highly productive tool for developers.&nbsp;<\/p>\n\n\n\n<p>This blog post, instead of talking about how to set it all up; will take a look at the good, the bad, and the nitty-gritty of using Hasura for projects.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How is Hasura.io used and how does it work?<\/h2>\n\n\n\n<p>Have you ever wished talking to your database was as easy as ordering pizza? Welcome to Hasura. In the world of building apps, dealing with databases can feel like trying to solve a puzzle without all the pieces.&nbsp;<\/p>\n\n\n\n<p>That&#8217;s where Hasura comes in, acting not just as a simple translator but as a powerful connector that lets your app chat fluently with your database, especially if it&#8217;s PostgreSQL (though it&#8217;s open to connecting other databases too). <strong>Hasura uses foreign keys to track relationships between tables, enabling easy use of these relationships within GraphQL queries.<\/strong> For example, if there is a&nbsp;base_organization&nbsp;relationship, you can include this relationship within a nested query to retrieve related data.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The pros and cons of Hasura.io&nbsp;<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Pros<\/strong><\/h3>\n\n\n\n<p>Hasura offers several advantages, including its ability to connect to multiple sources, an integrated ORM with UI for simple migrations, support for basic SQL migrations, and automatic creation of CRUD operations that can be customized with GraphQL. It allows you to define tables, such as the&nbsp;user&nbsp;table, which triggers the creation of corresponding CRUD operations like&nbsp;<strong><code>insert_user,&nbsp;update_user, and&nbsp;delete_user.<\/code><\/strong> These operations can then be used in GraphQL queries and mutations, providing flexibility in defining your application&#8217;s logic.<\/p>\n\n\n\n<p>Another benefit is that it has its official Docker image and can be hosted anywhere or in the Hasura Cloud which has other perks I won&#8217;t list here.<\/p>\n\n\n\n<p>Finally, since it uses GraphQL, when using Typescript it is very easy to have typed requests since the generated schema will include all the types necessary, something that doesn&#8217;t happen with REST APIs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Cons<\/strong><\/h3>\n\n\n\n<p>I would say the biggest downside in my opinion is that since it uses GraphQL it\u2019s very easy to execute the GraphQL queries directly in the frontend that can expose the mutations\/queries to the client. It\u2019s designed like that and the documentation encourages that, but not all graphQL should be exposed.&nbsp;<\/p>\n\n\n\n<p>I use it with Next.js and our team instead uses the custom server approach and creates a custom graphQL schema to call Hasura from Next.js backend instead of directly the frontend. This allows us to check permissions and remove the graphQL schema from the client.<\/p>\n\n\n\n<p>I wanted to mention that it didn&#8217;t support NoSQL but the latest development has MongoDB on beta.&nbsp;<\/p>\n\n\n\n<p>Finally, it\u2019s not as popular as other similar alternatives like Prisma.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Examples of using Hasura.io<\/h2>\n\n\n\n<p>What I like about Hasura is that it automatically creates all the possible CRUD operations and those can be customized with GraphQL. So I only have to define a table, for example I define the table user in a migration.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">CREATE TABLE public.\"user\" (\n\tid serial4 NOT NULL,\n\t\"name\" text NULL,\n\temail text NULL,\n\tusername text NULL,\n\t\"password\" text NULL,\n\tcreated_at timestamptz DEFAULT now() NOT NULL,\n\tupdated_at timestamptz DEFAULT now() NOT NULL,\n\tis_enabled bool DEFAULT true NOT NULL\n);<\/pre>\n\n\n\n<p>So now Hasura will track the table and will create an <strong><code>insert_user, update_user, delete_user<\/code><\/strong> and user GraphQL mutations\/queries that include the basic CRUD operations. To use them it\u2019s necessary to write customizations like these:&nbsp;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">query ExampleQuery {\n  user(where: {is_enabled: {_eq: true}, password: {_is_null: false}}) {\n    email\n    id\n    is_enabled\n    last_login\n    name\n  }\n}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Handling relations with Hasura<\/h3>\n\n\n\n<p>Hasura will use the foreign keys to other tables to create graphql relations and track them to use them easily in the custom mutations\/queries like this.<\/p>\n\n\n\n<p>Let&#8217;s suppose there is a table organization and Hasura tracks it via the <strong><code>base_organization<\/code><\/strong> relationship. So this allows to use relationship inside the where statement and just by including the relationship in a nested query it adds it in the select.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">query MyQuery {\n  user(where: {base_organization: {name: {_eq: \"devto\"}}}) {\n    email\n    id\n    is_enabled\n    last_login\n    name\n    base_organization {\n      name\n    }\n  }\n}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Complex queries in Hasura.io<\/h3>\n\n\n\n<p>For more complex queries, Hasura supports writing plain PL\/SQL functions, allowing developers to write any necessary SQL without having to learn a new ORM syntax. This provides flexibility in handling project-specific requirements.<\/p>\n\n\n\n<p>Here we add a computed property that can be exposed as a GraphQL property.&nbsp;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">CREATE OR REPLACE FUNCTION computed_full_name(user_row \"user\")\nRETURNS TEXT AS $$\nBEGIN\n    IF user_row.first_name IS NOT NULL OR user_row.last_name IS NOT NULL \n        RETURN COALESCE(user_row.first_name || ' ', '') || COALESCE(user_row.last_name, '');\n    ELSE\n        RETURN COALESCE(user_row.name, '');\n    END IF;\nEND;\n$$ LANGUAGE plpgsql STABLE;<\/pre>\n\n\n\n<p>Inside these functions we can write any custom SQL needed for the project, for non computed properties a new table will be needed so Hasura can map the return type but there is no limit in what the SQL can have.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Issues you may encounter<\/h3>\n\n\n\n<p>We can check roles and check that they can only query their own data, known as ACL (access list control). While some other frameworks are very good at this, Hasura needs a lot of configuration for this. Let\u2019s see an example:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"typescript\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">whitelist.add({\n  document: AddSurveyTranslationsDocument,\n  check: hasOrganizationAdminGrant\n});\n\nwhitelist.add({\n  document: GetManageAssignmentsDataDocument,\n  authorize: ({ appUser, variables }) => {\n    \/\/ Enforce that from front-end, user must query in his own behalf only\n    return variables?.managerUserId === appUser.id;\n  },\n  allowedRoles: [HasuraRole.USER, HasuraRole.ADMIN]\n});<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Key takeaways<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hasura.io offers several advantages, including its ability to connect to multiple sources and automatic creation of CRUD operations that can be customized with GraphQL.<\/li>\n\n\n\n<li>The integrated ORM, GraphQL engine, and compatibility with various databases, including the recent support for MongoDB, further enhance its appeal.<\/li>\n\n\n\n<li>The direct exposure of GraphQL queries to the frontend, while encouraged by Hasura\u2019s design, necessitates careful management of access control to safeguard sensitive operations and data. This challenge, while significant, can be mitigated through thoughtful architecture and the implementation of custom server solutions that interface with Hasura.<\/li>\n\n\n\n<li>While Hasura offers numerous benefits for building APIs and integrating with data sources, it requires careful consideration and setup to ensure security and appropriate usage.&nbsp;<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Hasura stands out as a formidable player in the realm of modern web development. Particularly for those projects that demand efficient, flexible, and scalable data management solutions. Its prowess in automatically generating CRUD operations, coupled with its robust handling of relationships and support for complex queries via PL\/SQL functions, positions it as a highly productive<a class=\"read_more_linkk\" href=\"https:\/\/beon.tech\/blog\/how-can-developers-leverage-hasura-io\/\">&#8230;<\/a><\/p>\n","protected":false},"author":42,"featured_media":3400,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_sitemap_exclude":false,"_sitemap_priority":"","_sitemap_frequency":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[168],"tags":[437,455,156],"class_list":["post-3397","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech-expertise-innovation","tag-coding","tag-hasura-io","tag-software-development"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How Can Developers Leverage Hasura.io?| BEON.tech Blog<\/title>\n<meta name=\"description\" content=\"This blog post, we will take a look at the good, the bad, and the nitty-gritty of using Hasura.io for projects.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/beon.tech\/blog\/how-can-developers-leverage-hasura-io\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How Can Developers Leverage Hasura.io?| BEON.tech Blog\" \/>\n<meta property=\"og:description\" content=\"This blog post, we will take a look at the good, the bad, and the nitty-gritty of using Hasura.io for projects.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/beon.tech\/blog\/how-can-developers-leverage-hasura-io\/\" \/>\n<meta property=\"og:site_name\" content=\"Software &amp; Tech Hiring Insights | BEON.tech Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-05-22T20:01:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-06T16:04:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/beon.tech\/blog\/wp-content\/uploads\/2024\/05\/Marketing.2021-7.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1000\" \/>\n\t<meta property=\"og:image:height\" content=\"470\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Pablo Diaz\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@beontechok\" \/>\n<meta name=\"twitter:site\" content=\"@beontechok\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Pablo Diaz\" \/>\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\":\"Article\",\"@id\":\"https:\\\/\\\/beontech.wpengine.com\\\/how-can-developers-leverage-hasura-io\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/beontech.wpengine.com\\\/how-can-developers-leverage-hasura-io\\\/\"},\"author\":{\"name\":\"Pablo Diaz\",\"@id\":\"https:\\\/\\\/beon.tech\\\/blog\\\/#\\\/schema\\\/person\\\/65ab7bc8411779d015badc9381011169\"},\"headline\":\"How Can Developers Leverage Hasura.io? Uses, Examples, and Code Snippets Explained\",\"datePublished\":\"2024-05-22T20:01:58+00:00\",\"dateModified\":\"2026-04-06T16:04:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/beontech.wpengine.com\\\/how-can-developers-leverage-hasura-io\\\/\"},\"wordCount\":931,\"image\":{\"@id\":\"https:\\\/\\\/beontech.wpengine.com\\\/how-can-developers-leverage-hasura-io\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/beon.tech\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/Marketing.2021-7.png\",\"keywords\":[\"Coding\",\"Hasura.io\",\"Software Development\"],\"articleSection\":[\"Tech Expertise &amp; Innovation\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/beontech.wpengine.com\\\/how-can-developers-leverage-hasura-io\\\/\",\"url\":\"https:\\\/\\\/beontech.wpengine.com\\\/how-can-developers-leverage-hasura-io\\\/\",\"name\":\"How Can Developers Leverage Hasura.io?| BEON.tech Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/beon.tech\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/beontech.wpengine.com\\\/how-can-developers-leverage-hasura-io\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/beontech.wpengine.com\\\/how-can-developers-leverage-hasura-io\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/beon.tech\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/Marketing.2021-7.png\",\"datePublished\":\"2024-05-22T20:01:58+00:00\",\"dateModified\":\"2026-04-06T16:04:45+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/beon.tech\\\/blog\\\/#\\\/schema\\\/person\\\/65ab7bc8411779d015badc9381011169\"},\"description\":\"This blog post, we will take a look at the good, the bad, and the nitty-gritty of using Hasura.io for projects.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/beontech.wpengine.com\\\/how-can-developers-leverage-hasura-io\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/beontech.wpengine.com\\\/how-can-developers-leverage-hasura-io\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/beontech.wpengine.com\\\/how-can-developers-leverage-hasura-io\\\/#primaryimage\",\"url\":\"https:\\\/\\\/beon.tech\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/Marketing.2021-7.png\",\"contentUrl\":\"https:\\\/\\\/beon.tech\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/Marketing.2021-7.png\",\"width\":1000,\"height\":470},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/beontech.wpengine.com\\\/how-can-developers-leverage-hasura-io\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/beon.tech\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How Can Developers Leverage Hasura.io? Uses, Examples, and Code Snippets Explained\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/beon.tech\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/beon.tech\\\/blog\\\/\",\"name\":\"Software &amp; Tech Hiring Insights | BEON.tech Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/beon.tech\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/beon.tech\\\/blog\\\/#\\\/schema\\\/person\\\/65ab7bc8411779d015badc9381011169\",\"name\":\"Pablo Diaz\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/beon.tech\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/BEON-FHD-DIA-1-293-scaled-96x96.jpg\",\"url\":\"https:\\\/\\\/beon.tech\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/BEON-FHD-DIA-1-293-scaled-96x96.jpg\",\"contentUrl\":\"https:\\\/\\\/beon.tech\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/BEON-FHD-DIA-1-293-scaled-96x96.jpg\",\"caption\":\"Pablo Diaz\"},\"description\":\"Pablo Diaz is a Software Engineer at BEON Tech Studio with a full-stack background, focused on designing, developing, and deploying scalable web applications. He brings experience across both frontend and backend development, and enjoys working with modern technologies to deliver solutions that support business growth and product innovation.\",\"url\":\"https:\\\/\\\/beon.tech\\\/blog\\\/author\\\/pablodiaz\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How Can Developers Leverage Hasura.io?| BEON.tech Blog","description":"This blog post, we will take a look at the good, the bad, and the nitty-gritty of using Hasura.io for projects.","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:\/\/beon.tech\/blog\/how-can-developers-leverage-hasura-io\/","og_locale":"en_US","og_type":"article","og_title":"How Can Developers Leverage Hasura.io?| BEON.tech Blog","og_description":"This blog post, we will take a look at the good, the bad, and the nitty-gritty of using Hasura.io for projects.","og_url":"https:\/\/beon.tech\/blog\/how-can-developers-leverage-hasura-io\/","og_site_name":"Software &amp; Tech Hiring Insights | BEON.tech Blog","article_published_time":"2024-05-22T20:01:58+00:00","article_modified_time":"2026-04-06T16:04:45+00:00","og_image":[{"width":1000,"height":470,"url":"https:\/\/beon.tech\/blog\/wp-content\/uploads\/2024\/05\/Marketing.2021-7.png","type":"image\/png"}],"author":"Pablo Diaz","twitter_card":"summary_large_image","twitter_creator":"@beontechok","twitter_site":"@beontechok","twitter_misc":{"Written by":"Pablo Diaz","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/beontech.wpengine.com\/how-can-developers-leverage-hasura-io\/#article","isPartOf":{"@id":"https:\/\/beontech.wpengine.com\/how-can-developers-leverage-hasura-io\/"},"author":{"name":"Pablo Diaz","@id":"https:\/\/beon.tech\/blog\/#\/schema\/person\/65ab7bc8411779d015badc9381011169"},"headline":"How Can Developers Leverage Hasura.io? Uses, Examples, and Code Snippets Explained","datePublished":"2024-05-22T20:01:58+00:00","dateModified":"2026-04-06T16:04:45+00:00","mainEntityOfPage":{"@id":"https:\/\/beontech.wpengine.com\/how-can-developers-leverage-hasura-io\/"},"wordCount":931,"image":{"@id":"https:\/\/beontech.wpengine.com\/how-can-developers-leverage-hasura-io\/#primaryimage"},"thumbnailUrl":"https:\/\/beon.tech\/blog\/wp-content\/uploads\/2024\/05\/Marketing.2021-7.png","keywords":["Coding","Hasura.io","Software Development"],"articleSection":["Tech Expertise &amp; Innovation"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/beontech.wpengine.com\/how-can-developers-leverage-hasura-io\/","url":"https:\/\/beontech.wpengine.com\/how-can-developers-leverage-hasura-io\/","name":"How Can Developers Leverage Hasura.io?| BEON.tech Blog","isPartOf":{"@id":"https:\/\/beon.tech\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/beontech.wpengine.com\/how-can-developers-leverage-hasura-io\/#primaryimage"},"image":{"@id":"https:\/\/beontech.wpengine.com\/how-can-developers-leverage-hasura-io\/#primaryimage"},"thumbnailUrl":"https:\/\/beon.tech\/blog\/wp-content\/uploads\/2024\/05\/Marketing.2021-7.png","datePublished":"2024-05-22T20:01:58+00:00","dateModified":"2026-04-06T16:04:45+00:00","author":{"@id":"https:\/\/beon.tech\/blog\/#\/schema\/person\/65ab7bc8411779d015badc9381011169"},"description":"This blog post, we will take a look at the good, the bad, and the nitty-gritty of using Hasura.io for projects.","breadcrumb":{"@id":"https:\/\/beontech.wpengine.com\/how-can-developers-leverage-hasura-io\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/beontech.wpengine.com\/how-can-developers-leverage-hasura-io\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/beontech.wpengine.com\/how-can-developers-leverage-hasura-io\/#primaryimage","url":"https:\/\/beon.tech\/blog\/wp-content\/uploads\/2024\/05\/Marketing.2021-7.png","contentUrl":"https:\/\/beon.tech\/blog\/wp-content\/uploads\/2024\/05\/Marketing.2021-7.png","width":1000,"height":470},{"@type":"BreadcrumbList","@id":"https:\/\/beontech.wpengine.com\/how-can-developers-leverage-hasura-io\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/beon.tech\/blog\/"},{"@type":"ListItem","position":2,"name":"How Can Developers Leverage Hasura.io? Uses, Examples, and Code Snippets Explained"}]},{"@type":"WebSite","@id":"https:\/\/beon.tech\/blog\/#website","url":"https:\/\/beon.tech\/blog\/","name":"Software &amp; Tech Hiring Insights | BEON.tech Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/beon.tech\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/beon.tech\/blog\/#\/schema\/person\/65ab7bc8411779d015badc9381011169","name":"Pablo Diaz","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/beon.tech\/blog\/wp-content\/uploads\/2026\/03\/BEON-FHD-DIA-1-293-scaled-96x96.jpg","url":"https:\/\/beon.tech\/blog\/wp-content\/uploads\/2026\/03\/BEON-FHD-DIA-1-293-scaled-96x96.jpg","contentUrl":"https:\/\/beon.tech\/blog\/wp-content\/uploads\/2026\/03\/BEON-FHD-DIA-1-293-scaled-96x96.jpg","caption":"Pablo Diaz"},"description":"Pablo Diaz is a Software Engineer at BEON Tech Studio with a full-stack background, focused on designing, developing, and deploying scalable web applications. He brings experience across both frontend and backend development, and enjoys working with modern technologies to deliver solutions that support business growth and product innovation.","url":"https:\/\/beon.tech\/blog\/author\/pablodiaz\/"}]}},"featured_image_src":"https:\/\/beon.tech\/blog\/wp-content\/uploads\/2024\/05\/Marketing.2021-7-600x400.png","featured_image_src_square":"https:\/\/beon.tech\/blog\/wp-content\/uploads\/2024\/05\/Marketing.2021-7-600x470.png","author_info":{"display_name":"Pablo Diaz","author_link":"https:\/\/beon.tech\/blog\/author\/pablodiaz\/"},"_links":{"self":[{"href":"https:\/\/beon.tech\/blog\/wp-json\/wp\/v2\/posts\/3397","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/beon.tech\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/beon.tech\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/beon.tech\/blog\/wp-json\/wp\/v2\/users\/42"}],"replies":[{"embeddable":true,"href":"https:\/\/beon.tech\/blog\/wp-json\/wp\/v2\/comments?post=3397"}],"version-history":[{"count":0,"href":"https:\/\/beon.tech\/blog\/wp-json\/wp\/v2\/posts\/3397\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/beon.tech\/blog\/wp-json\/wp\/v2\/media\/3400"}],"wp:attachment":[{"href":"https:\/\/beon.tech\/blog\/wp-json\/wp\/v2\/media?parent=3397"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/beon.tech\/blog\/wp-json\/wp\/v2\/categories?post=3397"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/beon.tech\/blog\/wp-json\/wp\/v2\/tags?post=3397"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}