{"catalogRevision":"cat_f13ab9a494120b5e","nodeId":"workload:blog","label":"Blog","facet":"workload","nodeType":"atom","canonicalPath":"/discover/workload/blog","breadcrumbs":[{"id":"discovery","label":"Agent hosting discovery","canonicalPath":"/discover/discovery","kind":"root"},{"id":"workload","label":"Applications and workloads","canonicalPath":"/discover/workload","kind":"facet"},{"id":"workload:sites-and-content","label":"Sites and content","canonicalPath":"/discover/workload/sites-and-content","kind":"group"},{"id":"workload:blog","label":"Blog","canonicalPath":"/discover/workload/blog","kind":"atom"}],"parents":{"items":[{"id":"workload:sites-and-content","label":"Sites and content","canonicalPath":"/discover/workload/sites-and-content","kind":"group"}],"total":1,"offset":0,"limit":100},"children":{"items":[],"total":0,"offset":0,"limit":50},"recipes":{"items":[{"id":"page:recipes:blog:next-js:public-site","label":"Host blog with Next.js: public-site delivery","canonicalPath":"/recipes/blog/next-js/public-site","kind":"recipe"},{"id":"page:recipes:blog:next-js:relational-content","label":"Host blog with Next.js: Postgres-backed content","canonicalPath":"/recipes/blog/next-js/relational-content","kind":"recipe"},{"id":"page:recipes:blog:next-js:public-media","label":"Host blog with Next.js: object-stored public media","canonicalPath":"/recipes/blog/next-js/public-media","kind":"recipe"},{"id":"page:recipes:blog:next-js:content-imports","label":"Host blog with Next.js: bulk content imports","canonicalPath":"/recipes/blog/next-js/content-imports","kind":"recipe"},{"id":"page:recipes:blog:nuxt:public-site","label":"Host blog with Nuxt: public-site delivery","canonicalPath":"/recipes/blog/nuxt/public-site","kind":"recipe"},{"id":"page:recipes:blog:nuxt:relational-content","label":"Host blog with Nuxt: Postgres-backed content","canonicalPath":"/recipes/blog/nuxt/relational-content","kind":"recipe"},{"id":"page:recipes:blog:nuxt:public-media","label":"Host blog with Nuxt: object-stored public media","canonicalPath":"/recipes/blog/nuxt/public-media","kind":"recipe"},{"id":"page:recipes:blog:nuxt:content-imports","label":"Host blog with Nuxt: bulk content imports","canonicalPath":"/recipes/blog/nuxt/content-imports","kind":"recipe"},{"id":"page:recipes:blog:sveltekit:public-site","label":"Host blog with SvelteKit: public-site delivery","canonicalPath":"/recipes/blog/sveltekit/public-site","kind":"recipe"},{"id":"page:recipes:blog:sveltekit:relational-content","label":"Host blog with SvelteKit: Postgres-backed content","canonicalPath":"/recipes/blog/sveltekit/relational-content","kind":"recipe"},{"id":"page:recipes:blog:sveltekit:public-media","label":"Host blog with SvelteKit: object-stored public media","canonicalPath":"/recipes/blog/sveltekit/public-media","kind":"recipe"},{"id":"page:recipes:blog:sveltekit:content-imports","label":"Host blog with SvelteKit: bulk content imports","canonicalPath":"/recipes/blog/sveltekit/content-imports","kind":"recipe"},{"id":"page:recipes:blog:astro:public-site","label":"Host blog with Astro: public-site delivery","canonicalPath":"/recipes/blog/astro/public-site","kind":"recipe"},{"id":"page:recipes:blog:astro:relational-content","label":"Host blog with Astro: Postgres-backed content","canonicalPath":"/recipes/blog/astro/relational-content","kind":"recipe"},{"id":"page:recipes:blog:astro:public-media","label":"Host blog with Astro: object-stored public media","canonicalPath":"/recipes/blog/astro/public-media","kind":"recipe"},{"id":"page:recipes:blog:astro:content-imports","label":"Host blog with Astro: bulk content imports","canonicalPath":"/recipes/blog/astro/content-imports","kind":"recipe"},{"id":"page:recipes:blog:react-router:public-site","label":"Host blog with React Router: public-site delivery","canonicalPath":"/recipes/blog/react-router/public-site","kind":"recipe"},{"id":"page:recipes:blog:react-router:relational-content","label":"Host blog with React Router: Postgres-backed content","canonicalPath":"/recipes/blog/react-router/relational-content","kind":"recipe"},{"id":"page:recipes:blog:react-router:public-media","label":"Host blog with React Router: object-stored public media","canonicalPath":"/recipes/blog/react-router/public-media","kind":"recipe"},{"id":"page:recipes:blog:react-router:content-imports","label":"Host blog with React Router: bulk content imports","canonicalPath":"/recipes/blog/react-router/content-imports","kind":"recipe"},{"id":"page:recipes:blog:django:public-site","label":"Host blog with Django: public-site delivery","canonicalPath":"/recipes/blog/django/public-site","kind":"recipe"},{"id":"page:recipes:blog:django:relational-content","label":"Host blog with Django: Postgres-backed content","canonicalPath":"/recipes/blog/django/relational-content","kind":"recipe"},{"id":"page:recipes:blog:django:public-media","label":"Host blog with Django: object-stored public media","canonicalPath":"/recipes/blog/django/public-media","kind":"recipe"},{"id":"page:recipes:blog:django:content-imports","label":"Host blog with Django: bulk content imports","canonicalPath":"/recipes/blog/django/content-imports","kind":"recipe"},{"id":"page:recipes:blog:flask:public-site","label":"Host blog with Flask: public-site delivery","canonicalPath":"/recipes/blog/flask/public-site","kind":"recipe"},{"id":"page:recipes:blog:flask:relational-content","label":"Host blog with Flask: Postgres-backed content","canonicalPath":"/recipes/blog/flask/relational-content","kind":"recipe"},{"id":"page:recipes:blog:flask:public-media","label":"Host blog with Flask: object-stored public media","canonicalPath":"/recipes/blog/flask/public-media","kind":"recipe"},{"id":"page:recipes:blog:flask:content-imports","label":"Host blog with Flask: bulk content imports","canonicalPath":"/recipes/blog/flask/content-imports","kind":"recipe"},{"id":"page:recipes:blog:laravel:public-site","label":"Host blog with Laravel: public-site delivery","canonicalPath":"/recipes/blog/laravel/public-site","kind":"recipe"},{"id":"page:recipes:blog:laravel:relational-content","label":"Host blog with Laravel: Postgres-backed content","canonicalPath":"/recipes/blog/laravel/relational-content","kind":"recipe"},{"id":"page:recipes:blog:laravel:public-media","label":"Host blog with Laravel: object-stored public media","canonicalPath":"/recipes/blog/laravel/public-media","kind":"recipe"},{"id":"page:recipes:blog:laravel:content-imports","label":"Host blog with Laravel: bulk content imports","canonicalPath":"/recipes/blog/laravel/content-imports","kind":"recipe"},{"id":"page:recipes:blog:rails:public-site","label":"Host blog with Rails: public-site delivery","canonicalPath":"/recipes/blog/rails/public-site","kind":"recipe"},{"id":"page:recipes:blog:rails:relational-content","label":"Host blog with Rails: Postgres-backed content","canonicalPath":"/recipes/blog/rails/relational-content","kind":"recipe"},{"id":"page:recipes:blog:rails:public-media","label":"Host blog with Rails: object-stored public media","canonicalPath":"/recipes/blog/rails/public-media","kind":"recipe"},{"id":"page:recipes:blog:rails:content-imports","label":"Host blog with Rails: bulk content imports","canonicalPath":"/recipes/blog/rails/content-imports","kind":"recipe"},{"id":"page:recipes:blog:phoenix:public-site","label":"Host blog with Phoenix: public-site delivery","canonicalPath":"/recipes/blog/phoenix/public-site","kind":"recipe"},{"id":"page:recipes:blog:phoenix:relational-content","label":"Host blog with Phoenix: Postgres-backed content","canonicalPath":"/recipes/blog/phoenix/relational-content","kind":"recipe"},{"id":"page:recipes:blog:phoenix:public-media","label":"Host blog with Phoenix: object-stored public media","canonicalPath":"/recipes/blog/phoenix/public-media","kind":"recipe"},{"id":"page:recipes:blog:phoenix:content-imports","label":"Host blog with Phoenix: bulk content imports","canonicalPath":"/recipes/blog/phoenix/content-imports","kind":"recipe"}],"total":40,"offset":0,"limit":50},"related":[],"requiredBy":{"items":[],"total":0,"offset":0,"limit":50},"publishedRecipeCount":40,"nextActions":[{"actionId":"browse-catalog","label":"Browse the catalog index","operationId":"catalog_index","method":"GET","relativePath":"/v1/catalog","origin":"api","parameters":{},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"search-recipes","label":"Search published recipes by intent, stack and constraints","operationId":"search_recipes","method":"POST","relativePath":"/v1/catalog/search","origin":"api","parameters":{"body":{"limit":5,"query":"Blog"}},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"inspect:page:recipes:blog:next-js:public-site","label":"Inspect the full recipe contract","operationId":"inspect_recipe","method":"GET","relativePath":"/v1/catalog/recipes/page%3Arecipes%3Ablog%3Anext-js%3Apublic-site","origin":"api","parameters":{"recipeId":"page:recipes:blog:next-js:public-site"},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"inspect:page:recipes:blog:next-js:relational-content","label":"Inspect the full recipe contract","operationId":"inspect_recipe","method":"GET","relativePath":"/v1/catalog/recipes/page%3Arecipes%3Ablog%3Anext-js%3Arelational-content","origin":"api","parameters":{"recipeId":"page:recipes:blog:next-js:relational-content"},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"inspect:page:recipes:blog:next-js:public-media","label":"Inspect the full recipe contract","operationId":"inspect_recipe","method":"GET","relativePath":"/v1/catalog/recipes/page%3Arecipes%3Ablog%3Anext-js%3Apublic-media","origin":"api","parameters":{"recipeId":"page:recipes:blog:next-js:public-media"},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"inspect:page:recipes:blog:next-js:content-imports","label":"Inspect the full recipe contract","operationId":"inspect_recipe","method":"GET","relativePath":"/v1/catalog/recipes/page%3Arecipes%3Ablog%3Anext-js%3Acontent-imports","origin":"api","parameters":{"recipeId":"page:recipes:blog:next-js:content-imports"},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"inspect:page:recipes:blog:nuxt:public-site","label":"Inspect the full recipe contract","operationId":"inspect_recipe","method":"GET","relativePath":"/v1/catalog/recipes/page%3Arecipes%3Ablog%3Anuxt%3Apublic-site","origin":"api","parameters":{"recipeId":"page:recipes:blog:nuxt:public-site"},"requiresAuthentication":false,"requiresApproval":false}]}