{"catalogRevision":"cat_f13ab9a494120b5e","nodeId":"pattern:public-web-service","label":"Public web service","facet":"pattern","nodeType":"atom","canonicalPath":"/discover/pattern/public-web-service","breadcrumbs":[{"id":"discovery","label":"Agent hosting discovery","canonicalPath":"/discover/discovery","kind":"root"},{"id":"pattern","label":"Architecture and data patterns","canonicalPath":"/discover/pattern","kind":"facet"},{"id":"pattern:compute-patterns","label":"Compute patterns","canonicalPath":"/discover/pattern/compute-patterns","kind":"group"},{"id":"pattern:public-web-service","label":"Public web service","canonicalPath":"/discover/pattern/public-web-service","kind":"atom"}],"parents":{"items":[{"id":"pattern:compute-patterns","label":"Compute patterns","canonicalPath":"/discover/pattern/compute-patterns","kind":"group"}],"total":1,"offset":0,"limit":100},"children":{"items":[],"total":0,"offset":0,"limit":50},"recipes":{"items":[{"id":"page:recipes:company-website:next-js:public-site","label":"Host company website with Next.js: public-site delivery","canonicalPath":"/recipes/company-website/next-js/public-site","kind":"recipe"},{"id":"page:recipes:company-website:nuxt:public-site","label":"Host company website with Nuxt: public-site delivery","canonicalPath":"/recipes/company-website/nuxt/public-site","kind":"recipe"},{"id":"page:recipes:company-website:sveltekit:public-site","label":"Host company website with SvelteKit: public-site delivery","canonicalPath":"/recipes/company-website/sveltekit/public-site","kind":"recipe"},{"id":"page:recipes:company-website:astro:public-site","label":"Host company website with Astro: public-site delivery","canonicalPath":"/recipes/company-website/astro/public-site","kind":"recipe"},{"id":"page:recipes:company-website:react-router:public-site","label":"Host company website with React Router: public-site delivery","canonicalPath":"/recipes/company-website/react-router/public-site","kind":"recipe"},{"id":"page:recipes:company-website:django:public-site","label":"Host company website with Django: public-site delivery","canonicalPath":"/recipes/company-website/django/public-site","kind":"recipe"},{"id":"page:recipes:company-website:flask:public-site","label":"Host company website with Flask: public-site delivery","canonicalPath":"/recipes/company-website/flask/public-site","kind":"recipe"},{"id":"page:recipes:company-website:laravel:public-site","label":"Host company website with Laravel: public-site delivery","canonicalPath":"/recipes/company-website/laravel/public-site","kind":"recipe"},{"id":"page:recipes:company-website:rails:public-site","label":"Host company website with Rails: public-site delivery","canonicalPath":"/recipes/company-website/rails/public-site","kind":"recipe"},{"id":"page:recipes:company-website:phoenix:public-site","label":"Host company website with Phoenix: public-site delivery","canonicalPath":"/recipes/company-website/phoenix/public-site","kind":"recipe"},{"id":"page:recipes:documentation-site:next-js:public-site","label":"Host documentation site with Next.js: public-site delivery","canonicalPath":"/recipes/documentation-site/next-js/public-site","kind":"recipe"},{"id":"page:recipes:documentation-site:nuxt:public-site","label":"Host documentation site with Nuxt: public-site delivery","canonicalPath":"/recipes/documentation-site/nuxt/public-site","kind":"recipe"},{"id":"page:recipes:documentation-site:sveltekit:public-site","label":"Host documentation site with SvelteKit: public-site delivery","canonicalPath":"/recipes/documentation-site/sveltekit/public-site","kind":"recipe"},{"id":"page:recipes:documentation-site:astro:public-site","label":"Host documentation site with Astro: public-site delivery","canonicalPath":"/recipes/documentation-site/astro/public-site","kind":"recipe"},{"id":"page:recipes:documentation-site:react-router:public-site","label":"Host documentation site with React Router: public-site delivery","canonicalPath":"/recipes/documentation-site/react-router/public-site","kind":"recipe"},{"id":"page:recipes:documentation-site:django:public-site","label":"Host documentation site with Django: public-site delivery","canonicalPath":"/recipes/documentation-site/django/public-site","kind":"recipe"},{"id":"page:recipes:documentation-site:flask:public-site","label":"Host documentation site with Flask: public-site delivery","canonicalPath":"/recipes/documentation-site/flask/public-site","kind":"recipe"},{"id":"page:recipes:documentation-site:laravel:public-site","label":"Host documentation site with Laravel: public-site delivery","canonicalPath":"/recipes/documentation-site/laravel/public-site","kind":"recipe"},{"id":"page:recipes:documentation-site:rails:public-site","label":"Host documentation site with Rails: public-site delivery","canonicalPath":"/recipes/documentation-site/rails/public-site","kind":"recipe"},{"id":"page:recipes:documentation-site:phoenix:public-site","label":"Host documentation site with Phoenix: public-site delivery","canonicalPath":"/recipes/documentation-site/phoenix/public-site","kind":"recipe"},{"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:nuxt:public-site","label":"Host blog with Nuxt: public-site delivery","canonicalPath":"/recipes/blog/nuxt/public-site","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:astro:public-site","label":"Host blog with Astro: public-site delivery","canonicalPath":"/recipes/blog/astro/public-site","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:django:public-site","label":"Host blog with Django: public-site delivery","canonicalPath":"/recipes/blog/django/public-site","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:laravel:public-site","label":"Host blog with Laravel: public-site delivery","canonicalPath":"/recipes/blog/laravel/public-site","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:phoenix:public-site","label":"Host blog with Phoenix: public-site delivery","canonicalPath":"/recipes/blog/phoenix/public-site","kind":"recipe"},{"id":"page:recipes:campaign-site:next-js:public-site","label":"Host campaign site with Next.js: public-site delivery","canonicalPath":"/recipes/campaign-site/next-js/public-site","kind":"recipe"},{"id":"page:recipes:campaign-site:nuxt:public-site","label":"Host campaign site with Nuxt: public-site delivery","canonicalPath":"/recipes/campaign-site/nuxt/public-site","kind":"recipe"},{"id":"page:recipes:campaign-site:sveltekit:public-site","label":"Host campaign site with SvelteKit: public-site delivery","canonicalPath":"/recipes/campaign-site/sveltekit/public-site","kind":"recipe"},{"id":"page:recipes:campaign-site:astro:public-site","label":"Host campaign site with Astro: public-site delivery","canonicalPath":"/recipes/campaign-site/astro/public-site","kind":"recipe"},{"id":"page:recipes:campaign-site:react-router:public-site","label":"Host campaign site with React Router: public-site delivery","canonicalPath":"/recipes/campaign-site/react-router/public-site","kind":"recipe"},{"id":"page:recipes:campaign-site:django:public-site","label":"Host campaign site with Django: public-site delivery","canonicalPath":"/recipes/campaign-site/django/public-site","kind":"recipe"},{"id":"page:recipes:campaign-site:flask:public-site","label":"Host campaign site with Flask: public-site delivery","canonicalPath":"/recipes/campaign-site/flask/public-site","kind":"recipe"},{"id":"page:recipes:campaign-site:laravel:public-site","label":"Host campaign site with Laravel: public-site delivery","canonicalPath":"/recipes/campaign-site/laravel/public-site","kind":"recipe"},{"id":"page:recipes:campaign-site:rails:public-site","label":"Host campaign site with Rails: public-site delivery","canonicalPath":"/recipes/campaign-site/rails/public-site","kind":"recipe"},{"id":"page:recipes:campaign-site:phoenix:public-site","label":"Host campaign site with Phoenix: public-site delivery","canonicalPath":"/recipes/campaign-site/phoenix/public-site","kind":"recipe"},{"id":"page:recipes:knowledge-base:next-js:public-site","label":"Host knowledge base with Next.js: public-site delivery","canonicalPath":"/recipes/knowledge-base/next-js/public-site","kind":"recipe"},{"id":"page:recipes:knowledge-base:nuxt:public-site","label":"Host knowledge base with Nuxt: public-site delivery","canonicalPath":"/recipes/knowledge-base/nuxt/public-site","kind":"recipe"},{"id":"page:recipes:knowledge-base:sveltekit:public-site","label":"Host knowledge base with SvelteKit: public-site delivery","canonicalPath":"/recipes/knowledge-base/sveltekit/public-site","kind":"recipe"},{"id":"page:recipes:knowledge-base:astro:public-site","label":"Host knowledge base with Astro: public-site delivery","canonicalPath":"/recipes/knowledge-base/astro/public-site","kind":"recipe"},{"id":"page:recipes:knowledge-base:react-router:public-site","label":"Host knowledge base with React Router: public-site delivery","canonicalPath":"/recipes/knowledge-base/react-router/public-site","kind":"recipe"},{"id":"page:recipes:knowledge-base:django:public-site","label":"Host knowledge base with Django: public-site delivery","canonicalPath":"/recipes/knowledge-base/django/public-site","kind":"recipe"},{"id":"page:recipes:knowledge-base:flask:public-site","label":"Host knowledge base with Flask: public-site delivery","canonicalPath":"/recipes/knowledge-base/flask/public-site","kind":"recipe"},{"id":"page:recipes:knowledge-base:laravel:public-site","label":"Host knowledge base with Laravel: public-site delivery","canonicalPath":"/recipes/knowledge-base/laravel/public-site","kind":"recipe"},{"id":"page:recipes:knowledge-base:rails:public-site","label":"Host knowledge base with Rails: public-site delivery","canonicalPath":"/recipes/knowledge-base/rails/public-site","kind":"recipe"},{"id":"page:recipes:knowledge-base:phoenix:public-site","label":"Host knowledge base with Phoenix: public-site delivery","canonicalPath":"/recipes/knowledge-base/phoenix/public-site","kind":"recipe"}],"total":127,"offset":0,"limit":50},"related":[],"requiredBy":{"items":[],"total":0,"offset":0,"limit":50},"publishedRecipeCount":127,"scopeNote":"Architecture pattern to validate. Application code or external services may be needed; not a claimed managed feature.","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":"Public web service"}},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"inspect:page:recipes:company-website:next-js:public-site","label":"Inspect the full recipe contract","operationId":"inspect_recipe","method":"GET","relativePath":"/v1/catalog/recipes/page%3Arecipes%3Acompany-website%3Anext-js%3Apublic-site","origin":"api","parameters":{"recipeId":"page:recipes:company-website:next-js:public-site"},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"inspect:page:recipes:company-website:nuxt:public-site","label":"Inspect the full recipe contract","operationId":"inspect_recipe","method":"GET","relativePath":"/v1/catalog/recipes/page%3Arecipes%3Acompany-website%3Anuxt%3Apublic-site","origin":"api","parameters":{"recipeId":"page:recipes:company-website:nuxt:public-site"},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"inspect:page:recipes:company-website:sveltekit:public-site","label":"Inspect the full recipe contract","operationId":"inspect_recipe","method":"GET","relativePath":"/v1/catalog/recipes/page%3Arecipes%3Acompany-website%3Asveltekit%3Apublic-site","origin":"api","parameters":{"recipeId":"page:recipes:company-website:sveltekit:public-site"},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"inspect:page:recipes:company-website:astro:public-site","label":"Inspect the full recipe contract","operationId":"inspect_recipe","method":"GET","relativePath":"/v1/catalog/recipes/page%3Arecipes%3Acompany-website%3Aastro%3Apublic-site","origin":"api","parameters":{"recipeId":"page:recipes:company-website:astro:public-site"},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"inspect:page:recipes:company-website:react-router:public-site","label":"Inspect the full recipe contract","operationId":"inspect_recipe","method":"GET","relativePath":"/v1/catalog/recipes/page%3Arecipes%3Acompany-website%3Areact-router%3Apublic-site","origin":"api","parameters":{"recipeId":"page:recipes:company-website:react-router:public-site"},"requiresAuthentication":false,"requiresApproval":false}]}