{"catalogRevision":"cat_f13ab9a494120b5e","nodeId":"migration:heroku-postgres","label":"Heroku Postgres","facet":"migration","nodeType":"atom","canonicalPath":"/discover/migration/heroku-postgres","breadcrumbs":[{"id":"discovery","label":"Agent hosting discovery","canonicalPath":"/discover/discovery","kind":"root"},{"id":"migration","label":"Migration sources by component","canonicalPath":"/discover/migration","kind":"facet"},{"id":"migration:postgres-sources","label":"Postgres sources","canonicalPath":"/discover/migration/postgres-sources","kind":"group"},{"id":"migration:heroku-postgres","label":"Heroku Postgres","canonicalPath":"/discover/migration/heroku-postgres","kind":"atom"}],"parents":{"items":[{"id":"migration:postgres-sources","label":"Postgres sources","canonicalPath":"/discover/migration/postgres-sources","kind":"group"}],"total":1,"offset":0,"limit":100},"children":{"items":[],"total":0,"offset":0,"limit":50},"recipes":{"items":[{"id":"page:migrate:heroku-postgres:relational-records","label":"Migrate Heroku Postgres: Relational records","canonicalPath":"/migrate/heroku-postgres/relational-records","kind":"recipe"},{"id":"page:migrate:heroku-postgres:transactional-workflows","label":"Migrate Heroku Postgres: Transactional workflows","canonicalPath":"/migrate/heroku-postgres/transactional-workflows","kind":"recipe"},{"id":"page:migrate:heroku-postgres:json-document-metadata","label":"Migrate Heroku Postgres: JSON document metadata","canonicalPath":"/migrate/heroku-postgres/json-document-metadata","kind":"recipe"},{"id":"page:migrate:heroku-postgres:multi-tenant-relational-data","label":"Migrate Heroku Postgres: Multi-tenant relational data","canonicalPath":"/migrate/heroku-postgres/multi-tenant-relational-data","kind":"recipe"},{"id":"page:migrate:heroku-postgres:text-search-over-records","label":"Migrate Heroku Postgres: Text search over records","canonicalPath":"/migrate/heroku-postgres/text-search-over-records","kind":"recipe"},{"id":"page:migrate:heroku-postgres:durable-job-state","label":"Migrate Heroku Postgres: Durable job state","canonicalPath":"/migrate/heroku-postgres/durable-job-state","kind":"recipe"}],"total":6,"offset":0,"limit":50},"related":[],"requiredBy":{"items":[],"total":0,"offset":0,"limit":50},"publishedRecipeCount":6,"scopeNote":"Component-scoped migration candidate. No product-level feature parity or drop-in compatibility is asserted.","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":"Heroku Postgres"}},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"inspect:page:migrate:heroku-postgres:relational-records","label":"Inspect the full recipe contract","operationId":"inspect_recipe","method":"GET","relativePath":"/v1/catalog/recipes/page%3Amigrate%3Aheroku-postgres%3Arelational-records","origin":"api","parameters":{"recipeId":"page:migrate:heroku-postgres:relational-records"},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"inspect:page:migrate:heroku-postgres:transactional-workflows","label":"Inspect the full recipe contract","operationId":"inspect_recipe","method":"GET","relativePath":"/v1/catalog/recipes/page%3Amigrate%3Aheroku-postgres%3Atransactional-workflows","origin":"api","parameters":{"recipeId":"page:migrate:heroku-postgres:transactional-workflows"},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"inspect:page:migrate:heroku-postgres:json-document-metadata","label":"Inspect the full recipe contract","operationId":"inspect_recipe","method":"GET","relativePath":"/v1/catalog/recipes/page%3Amigrate%3Aheroku-postgres%3Ajson-document-metadata","origin":"api","parameters":{"recipeId":"page:migrate:heroku-postgres:json-document-metadata"},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"inspect:page:migrate:heroku-postgres:multi-tenant-relational-data","label":"Inspect the full recipe contract","operationId":"inspect_recipe","method":"GET","relativePath":"/v1/catalog/recipes/page%3Amigrate%3Aheroku-postgres%3Amulti-tenant-relational-data","origin":"api","parameters":{"recipeId":"page:migrate:heroku-postgres:multi-tenant-relational-data"},"requiresAuthentication":false,"requiresApproval":false},{"actionId":"inspect:page:migrate:heroku-postgres:text-search-over-records","label":"Inspect the full recipe contract","operationId":"inspect_recipe","method":"GET","relativePath":"/v1/catalog/recipes/page%3Amigrate%3Aheroku-postgres%3Atext-search-over-records","origin":"api","parameters":{"recipeId":"page:migrate:heroku-postgres:text-search-over-records"},"requiresAuthentication":false,"requiresApproval":false}]}