{"catalogRevision":"cat_f13ab9a494120b5e","nodeId":"pattern:relational-records","label":"Relational records","facet":"pattern","nodeType":"atom","canonicalPath":"/discover/pattern/relational-records","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:postgres-patterns","label":"Postgres patterns","canonicalPath":"/discover/pattern/postgres-patterns","kind":"group"},{"id":"pattern:relational-records","label":"Relational records","canonicalPath":"/discover/pattern/relational-records","kind":"atom"}],"parents":{"items":[{"id":"pattern:postgres-patterns","label":"Postgres patterns","canonicalPath":"/discover/pattern/postgres-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:relational-content","label":"Host company website with Next.js: Postgres-backed content","canonicalPath":"/recipes/company-website/next-js/relational-content","kind":"recipe"},{"id":"page:recipes:company-website:nuxt:relational-content","label":"Host company website with Nuxt: Postgres-backed content","canonicalPath":"/recipes/company-website/nuxt/relational-content","kind":"recipe"},{"id":"page:recipes:company-website:sveltekit:relational-content","label":"Host company website with SvelteKit: Postgres-backed content","canonicalPath":"/recipes/company-website/sveltekit/relational-content","kind":"recipe"},{"id":"page:recipes:company-website:astro:relational-content","label":"Host company website with Astro: Postgres-backed content","canonicalPath":"/recipes/company-website/astro/relational-content","kind":"recipe"},{"id":"page:recipes:company-website:react-router:relational-content","label":"Host company website with React Router: Postgres-backed content","canonicalPath":"/recipes/company-website/react-router/relational-content","kind":"recipe"},{"id":"page:recipes:company-website:django:relational-content","label":"Host company website with Django: Postgres-backed content","canonicalPath":"/recipes/company-website/django/relational-content","kind":"recipe"},{"id":"page:recipes:company-website:flask:relational-content","label":"Host company website with Flask: Postgres-backed content","canonicalPath":"/recipes/company-website/flask/relational-content","kind":"recipe"},{"id":"page:recipes:company-website:laravel:relational-content","label":"Host company website with Laravel: Postgres-backed content","canonicalPath":"/recipes/company-website/laravel/relational-content","kind":"recipe"},{"id":"page:recipes:company-website:rails:relational-content","label":"Host company website with Rails: Postgres-backed content","canonicalPath":"/recipes/company-website/rails/relational-content","kind":"recipe"},{"id":"page:recipes:company-website:phoenix:relational-content","label":"Host company website with Phoenix: Postgres-backed content","canonicalPath":"/recipes/company-website/phoenix/relational-content","kind":"recipe"},{"id":"page:recipes:documentation-site:next-js:relational-content","label":"Host documentation site with Next.js: Postgres-backed content","canonicalPath":"/recipes/documentation-site/next-js/relational-content","kind":"recipe"},{"id":"page:recipes:documentation-site:nuxt:relational-content","label":"Host documentation site with Nuxt: Postgres-backed content","canonicalPath":"/recipes/documentation-site/nuxt/relational-content","kind":"recipe"},{"id":"page:recipes:documentation-site:sveltekit:relational-content","label":"Host documentation site with SvelteKit: Postgres-backed content","canonicalPath":"/recipes/documentation-site/sveltekit/relational-content","kind":"recipe"},{"id":"page:recipes:documentation-site:astro:relational-content","label":"Host documentation site with Astro: Postgres-backed content","canonicalPath":"/recipes/documentation-site/astro/relational-content","kind":"recipe"},{"id":"page:recipes:documentation-site:react-router:relational-content","label":"Host documentation site with React Router: Postgres-backed content","canonicalPath":"/recipes/documentation-site/react-router/relational-content","kind":"recipe"},{"id":"page:recipes:documentation-site:django:relational-content","label":"Host documentation site with Django: Postgres-backed content","canonicalPath":"/recipes/documentation-site/django/relational-content","kind":"recipe"},{"id":"page:recipes:documentation-site:flask:relational-content","label":"Host documentation site with Flask: Postgres-backed content","canonicalPath":"/recipes/documentation-site/flask/relational-content","kind":"recipe"},{"id":"page:recipes:documentation-site:laravel:relational-content","label":"Host documentation site with Laravel: Postgres-backed content","canonicalPath":"/recipes/documentation-site/laravel/relational-content","kind":"recipe"},{"id":"page:recipes:documentation-site:rails:relational-content","label":"Host documentation site with Rails: Postgres-backed content","canonicalPath":"/recipes/documentation-site/rails/relational-content","kind":"recipe"},{"id":"page:recipes:documentation-site:phoenix:relational-content","label":"Host documentation site with Phoenix: Postgres-backed content","canonicalPath":"/recipes/documentation-site/phoenix/relational-content","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:nuxt:relational-content","label":"Host blog with Nuxt: Postgres-backed content","canonicalPath":"/recipes/blog/nuxt/relational-content","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:astro:relational-content","label":"Host blog with Astro: Postgres-backed content","canonicalPath":"/recipes/blog/astro/relational-content","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:django:relational-content","label":"Host blog with Django: Postgres-backed content","canonicalPath":"/recipes/blog/django/relational-content","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:laravel:relational-content","label":"Host blog with Laravel: Postgres-backed content","canonicalPath":"/recipes/blog/laravel/relational-content","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:phoenix:relational-content","label":"Host blog with Phoenix: Postgres-backed content","canonicalPath":"/recipes/blog/phoenix/relational-content","kind":"recipe"},{"id":"page:recipes:campaign-site:next-js:relational-content","label":"Host campaign site with Next.js: Postgres-backed content","canonicalPath":"/recipes/campaign-site/next-js/relational-content","kind":"recipe"},{"id":"page:recipes:campaign-site:nuxt:relational-content","label":"Host campaign site with Nuxt: Postgres-backed content","canonicalPath":"/recipes/campaign-site/nuxt/relational-content","kind":"recipe"},{"id":"page:recipes:campaign-site:sveltekit:relational-content","label":"Host campaign site with SvelteKit: Postgres-backed content","canonicalPath":"/recipes/campaign-site/sveltekit/relational-content","kind":"recipe"},{"id":"page:recipes:campaign-site:astro:relational-content","label":"Host campaign site with Astro: Postgres-backed content","canonicalPath":"/recipes/campaign-site/astro/relational-content","kind":"recipe"},{"id":"page:recipes:campaign-site:react-router:relational-content","label":"Host campaign site with React Router: Postgres-backed content","canonicalPath":"/recipes/campaign-site/react-router/relational-content","kind":"recipe"},{"id":"page:recipes:campaign-site:django:relational-content","label":"Host campaign site with Django: Postgres-backed content","canonicalPath":"/recipes/campaign-site/django/relational-content","kind":"recipe"},{"id":"page:recipes:campaign-site:flask:relational-content","label":"Host campaign site with Flask: Postgres-backed content","canonicalPath":"/recipes/campaign-site/flask/relational-content","kind":"recipe"},{"id":"page:recipes:campaign-site:laravel:relational-content","label":"Host campaign site with Laravel: Postgres-backed content","canonicalPath":"/recipes/campaign-site/laravel/relational-content","kind":"recipe"},{"id":"page:recipes:campaign-site:rails:relational-content","label":"Host campaign site with Rails: Postgres-backed content","canonicalPath":"/recipes/campaign-site/rails/relational-content","kind":"recipe"},{"id":"page:recipes:campaign-site:phoenix:relational-content","label":"Host campaign site with Phoenix: Postgres-backed content","canonicalPath":"/recipes/campaign-site/phoenix/relational-content","kind":"recipe"},{"id":"page:recipes:knowledge-base:next-js:relational-content","label":"Host knowledge base with Next.js: Postgres-backed content","canonicalPath":"/recipes/knowledge-base/next-js/relational-content","kind":"recipe"},{"id":"page:recipes:knowledge-base:nuxt:relational-content","label":"Host knowledge base with Nuxt: Postgres-backed content","canonicalPath":"/recipes/knowledge-base/nuxt/relational-content","kind":"recipe"},{"id":"page:recipes:knowledge-base:sveltekit:relational-content","label":"Host knowledge base with SvelteKit: Postgres-backed content","canonicalPath":"/recipes/knowledge-base/sveltekit/relational-content","kind":"recipe"},{"id":"page:recipes:knowledge-base:astro:relational-content","label":"Host knowledge base with Astro: Postgres-backed content","canonicalPath":"/recipes/knowledge-base/astro/relational-content","kind":"recipe"},{"id":"page:recipes:knowledge-base:react-router:relational-content","label":"Host knowledge base with React Router: Postgres-backed content","canonicalPath":"/recipes/knowledge-base/react-router/relational-content","kind":"recipe"},{"id":"page:recipes:knowledge-base:django:relational-content","label":"Host knowledge base with Django: Postgres-backed content","canonicalPath":"/recipes/knowledge-base/django/relational-content","kind":"recipe"},{"id":"page:recipes:knowledge-base:flask:relational-content","label":"Host knowledge base with Flask: Postgres-backed content","canonicalPath":"/recipes/knowledge-base/flask/relational-content","kind":"recipe"},{"id":"page:recipes:knowledge-base:laravel:relational-content","label":"Host knowledge base with Laravel: Postgres-backed content","canonicalPath":"/recipes/knowledge-base/laravel/relational-content","kind":"recipe"},{"id":"page:recipes:knowledge-base:rails:relational-content","label":"Host knowledge base with Rails: Postgres-backed content","canonicalPath":"/recipes/knowledge-base/rails/relational-content","kind":"recipe"},{"id":"page:recipes:knowledge-base:phoenix:relational-content","label":"Host knowledge base with Phoenix: Postgres-backed content","canonicalPath":"/recipes/knowledge-base/phoenix/relational-content","kind":"recipe"}],"total":152,"offset":0,"limit":50},"related":[],"requiredBy":{"items":[],"total":0,"offset":0,"limit":50},"publishedRecipeCount":152,"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":"Relational records"}},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"inspect:page:recipes:company-website:next-js:relational-content","label":"Inspect the full recipe contract","operationId":"inspect_recipe","method":"GET","relativePath":"/v1/catalog/recipes/page%3Arecipes%3Acompany-website%3Anext-js%3Arelational-content","origin":"api","parameters":{"recipeId":"page:recipes:company-website:next-js:relational-content"},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"inspect:page:recipes:company-website:nuxt:relational-content","label":"Inspect the full recipe contract","operationId":"inspect_recipe","method":"GET","relativePath":"/v1/catalog/recipes/page%3Arecipes%3Acompany-website%3Anuxt%3Arelational-content","origin":"api","parameters":{"recipeId":"page:recipes:company-website:nuxt:relational-content"},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"inspect:page:recipes:company-website:sveltekit:relational-content","label":"Inspect the full recipe contract","operationId":"inspect_recipe","method":"GET","relativePath":"/v1/catalog/recipes/page%3Arecipes%3Acompany-website%3Asveltekit%3Arelational-content","origin":"api","parameters":{"recipeId":"page:recipes:company-website:sveltekit:relational-content"},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"inspect:page:recipes:company-website:astro:relational-content","label":"Inspect the full recipe contract","operationId":"inspect_recipe","method":"GET","relativePath":"/v1/catalog/recipes/page%3Arecipes%3Acompany-website%3Aastro%3Arelational-content","origin":"api","parameters":{"recipeId":"page:recipes:company-website:astro:relational-content"},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"inspect:page:recipes:company-website:react-router:relational-content","label":"Inspect the full recipe contract","operationId":"inspect_recipe","method":"GET","relativePath":"/v1/catalog/recipes/page%3Arecipes%3Acompany-website%3Areact-router%3Arelational-content","origin":"api","parameters":{"recipeId":"page:recipes:company-website:react-router:relational-content"},"requiresAuthentication":false,"requiresApproval":false}]}