[{"data":1,"prerenderedAt":955},["ShallowReactive",2],{"navigation_docs_en":3,"-en-reference-api-reference-schema-migration":297,"-en-reference-api-reference-schema-migration-surround":950},[4,30,68,103,187,287],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting Started",false,"\u002Fen\u002Fgetting-started","en\u002F1.getting-started",[10,15,20,25],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fen\u002Fgetting-started\u002Fintroduction","en\u002F1.getting-started\u002F2.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Quickstart","\u002Fen\u002Fgetting-started\u002Finstallation","en\u002F1.getting-started\u002F3.installation","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"Use Cases","\u002Fen\u002Fgetting-started\u002Fuse-cases","en\u002F1.getting-started\u002F4.use-cases","i-lucide-layers",{"title":26,"path":27,"stem":28,"icon":29},"Concepts","\u002Fen\u002Fgetting-started\u002Fconcepts","en\u002F1.getting-started\u002F5.concepts","i-lucide-book",{"title":26,"path":31,"stem":32,"children":33,"page":6},"\u002Fen\u002Fconcepts","en\u002F2.concepts",[34,38,43,48,53,58,63],{"title":35,"path":36,"stem":37,"icon":14},"Organization","\u002Fen\u002Fconcepts\u002Forganization","en\u002F2.concepts\u002F1.organization",{"title":39,"path":40,"stem":41,"icon":42},"Data Model","\u002Fen\u002Fconcepts\u002Fdata-model","en\u002F2.concepts\u002F2.data-model","i-lucide-database",{"title":44,"path":45,"stem":46,"icon":47},"Access Control","\u002Fen\u002Fconcepts\u002Faccess-permissions","en\u002F2.concepts\u002F3.access-permissions","i-lucide-user-key",{"title":49,"path":50,"stem":51,"icon":52},"Audit Logs","\u002Fen\u002Fconcepts\u002Faudit-logs","en\u002F2.concepts\u002F4.audit-logs","i-lucide-scroll-text",{"title":54,"path":55,"stem":56,"icon":57},"Introspection","\u002Fen\u002Fconcepts\u002Fintrospection","en\u002F2.concepts\u002F6.introspection","i-lucide-database-search",{"title":59,"path":60,"stem":61,"icon":62},"Query Engine","\u002Fen\u002Fconcepts\u002Fquery-engine","en\u002F2.concepts\u002F7.query-engine","i-lucide-workflow",{"title":64,"path":65,"stem":66,"icon":67},"AI","\u002Fen\u002Fconcepts\u002Fai","en\u002F2.concepts\u002F8.ai","i-lucide-sparkles",{"title":69,"path":70,"stem":71,"children":72,"page":6},"Guides","\u002Fen\u002Fguides","en\u002F4.guides",[73,78,83,88,93,98],{"title":74,"path":75,"stem":76,"icon":77},"Build an Application with AI Assistance","\u002Fen\u002Fguides\u002Fbuild-an-application","en\u002F4.guides\u002F1.build-an-application","i-lucide-route",{"title":79,"path":80,"stem":81,"icon":82},"REST API Quickstart","\u002Fen\u002Fguides\u002Frest-api","en\u002F4.guides\u002F1.rest-api","i-lucide-plug",{"title":84,"path":85,"stem":86,"icon":87},"SDK Quickstart","\u002Fen\u002Fguides\u002Fsdk","en\u002F4.guides\u002F2.sdk","i-lucide-terminal",{"title":89,"path":90,"stem":91,"icon":92},"Configure SSO","\u002Fen\u002Fguides\u002Fconfigure-sso","en\u002F4.guides\u002F3.configure-sso","i-lucide-key-round",{"title":94,"path":95,"stem":96,"icon":97},"Configure MCP","\u002Fen\u002Fguides\u002Fmcp","en\u002F4.guides\u002F4.mcp","i-lucide-brain-cog",{"title":99,"path":100,"stem":101,"icon":102},"Customize Content Space","\u002Fen\u002Fguides\u002Fcustomize-content-space","en\u002F4.guides\u002F5.customize-content-space","i-lucide-columns-3-cog",{"title":104,"path":105,"stem":106,"children":107,"page":6},"Developer","\u002Fen\u002Fdeveloper","en\u002F5.developer",[108,163],{"title":109,"path":110,"stem":111,"children":112,"page":6},"Data Access","\u002Fen\u002Fdeveloper\u002Fapi","en\u002F5.developer\u002F1.api",[113,118,123,128,133,138,143,148,153,158],{"title":114,"path":115,"stem":116,"icon":117},"Overview","\u002Fen\u002Fdeveloper\u002Fapi\u002Foverview","en\u002F5.developer\u002F1.api\u002F1.overview","i-lucide-globe",{"title":119,"path":120,"stem":121,"icon":122},"Errors","\u002Fen\u002Fdeveloper\u002Fapi\u002Ferrors","en\u002F5.developer\u002F1.api\u002F10.errors","i-lucide-alert-triangle",{"title":124,"path":125,"stem":126,"icon":127},"Authentication","\u002Fen\u002Fdeveloper\u002Fapi\u002Fauthentication","en\u002F5.developer\u002F1.api\u002F2.authentication","i-lucide-lock",{"title":129,"path":130,"stem":131,"icon":132},"Reading Data","\u002Fen\u002Fdeveloper\u002Fapi\u002Freading-data","en\u002F5.developer\u002F1.api\u002F3.reading-data","i-lucide-book-open",{"title":134,"path":135,"stem":136,"icon":137},"Writing Data","\u002Fen\u002Fdeveloper\u002Fapi\u002Fwriting-data","en\u002F5.developer\u002F1.api\u002F4.writing-data","i-lucide-pencil",{"title":139,"path":140,"stem":141,"icon":142},"Filtering","\u002Fen\u002Fdeveloper\u002Fapi\u002Ffiltering","en\u002F5.developer\u002F1.api\u002F5.filtering","i-lucide-filter",{"title":144,"path":145,"stem":146,"icon":147},"Field Selection","\u002Fen\u002Fdeveloper\u002Fapi\u002Ffield-selection","en\u002F5.developer\u002F1.api\u002F6.field-selection","i-lucide-list-checks",{"title":149,"path":150,"stem":151,"icon":152},"Sorting & Pagination","\u002Fen\u002Fdeveloper\u002Fapi\u002Fsorting-pagination","en\u002F5.developer\u002F1.api\u002F7.sorting-pagination","i-lucide-arrow-up-down",{"title":154,"path":155,"stem":156,"icon":157},"Relational Data","\u002Fen\u002Fdeveloper\u002Fapi\u002Frelational-data","en\u002F5.developer\u002F1.api\u002F8.relational-data","i-lucide-network",{"title":159,"path":160,"stem":161,"icon":162},"Files & Assets","\u002Fen\u002Fdeveloper\u002Fapi\u002Ffiles","en\u002F5.developer\u002F1.api\u002F9.files","i-lucide-file-up",{"title":164,"path":165,"stem":166,"children":167,"page":6},"Client SDK","\u002Fen\u002Fdeveloper\u002Fsdk","en\u002F5.developer\u002F2.sdk",[168,172,177,182],{"title":169,"path":170,"stem":171,"icon":19},"Installation","\u002Fen\u002Fdeveloper\u002Fsdk\u002Finstallation","en\u002F5.developer\u002F2.sdk\u002F1.installation",{"title":173,"path":174,"stem":175,"icon":176},"Client Setup","\u002Fen\u002Fdeveloper\u002Fsdk\u002Fclient-setup","en\u002F5.developer\u002F2.sdk\u002F2.client-setup","i-lucide-settings",{"title":178,"path":179,"stem":180,"icon":181},"Type System","\u002Fen\u002Fdeveloper\u002Fsdk\u002Ftype-system","en\u002F5.developer\u002F2.sdk\u002F3.type-system","i-lucide-braces",{"title":183,"path":184,"stem":185,"icon":186},"Advanced","\u002Fen\u002Fdeveloper\u002Fsdk\u002Fadvanced","en\u002F5.developer\u002F2.sdk\u002F5.advanced","i-lucide-puzzle",{"title":188,"path":189,"stem":190,"children":191,"page":6},"Reference","\u002Fen\u002Freference","en\u002F6.reference",[192,196,212,216,221,258],{"title":193,"path":194,"stem":195,"icon":176},"Configuration","\u002Fen\u002Freference\u002Fenvironment-variables","en\u002F6.reference\u002F1.environment-variables",{"title":197,"path":198,"stem":199,"children":200,"icon":82},"Connectors","\u002Fen\u002Freference\u002Fconnectors","en\u002F6.reference\u002F2.connectors\u002Findex",[201,202,207],{"title":197,"path":198,"stem":199,"icon":82},{"title":203,"path":204,"stem":205,"icon":206},"PostgreSQL and Supabase","\u002Fen\u002Freference\u002Fconnectors\u002Fpostgresql-supabase","en\u002F6.reference\u002F2.connectors\u002F1.postgresql-supabase","i-simple-icons-postgresql",{"title":208,"path":209,"stem":210,"icon":211},"MySQL and MariaDB","\u002Fen\u002Freference\u002Fconnectors\u002Fmysql-mariadb","en\u002F6.reference\u002F2.connectors\u002F2.mysql-mariadb","i-simple-icons-mysql",{"title":213,"path":214,"stem":215,"icon":181},"Data Types Representation","\u002Fen\u002Freference\u002Fdata-types","en\u002F6.reference\u002F3.data-types",{"title":217,"path":218,"stem":219,"icon":220},"Permissions Reference","\u002Fen\u002Freference\u002Fpermissions","en\u002F6.reference\u002F4.permissions","i-lucide-shield",{"title":222,"path":223,"stem":224,"children":225,"page":6},"API Reference","\u002Fen\u002Freference\u002Fapi-reference","en\u002F6.reference\u002F5.api-reference",[226,231,236],{"title":227,"path":228,"stem":229,"icon":230},"System Endpoints","\u002Fen\u002Freference\u002Fapi-reference\u002Fsystem-endpoints","en\u002F6.reference\u002F5.api-reference\u002F1.system-endpoints","i-lucide-server",{"title":232,"path":233,"stem":234,"icon":235},"OpenAPI Spec","\u002Fen\u002Freference\u002Fapi-reference\u002Fopenapi-spec","en\u002F6.reference\u002F5.api-reference\u002F2.openapi-spec","i-lucide-file-code",{"title":237,"path":238,"stem":239,"children":240,"icon":242},"Schema Migration","\u002Fen\u002Freference\u002Fapi-reference\u002Fschema-migration","en\u002F6.reference\u002F5.api-reference\u002F3.schema-migration\u002Findex",[241,243,248,253],{"title":237,"path":238,"stem":239,"icon":242},"i-lucide-database-zap",{"title":244,"path":245,"stem":246,"icon":247},"Apply Migrations","\u002Fen\u002Freference\u002Fapi-reference\u002Fschema-migration\u002Fapply-migrations","en\u002F6.reference\u002F5.api-reference\u002F3.schema-migration\u002F1.apply-migrations","i-lucide-upload",{"title":249,"path":250,"stem":251,"icon":252},"Import Changes","\u002Fen\u002Freference\u002Fapi-reference\u002Fschema-migration\u002Fimport-changes","en\u002F6.reference\u002F5.api-reference\u002F3.schema-migration\u002F2.import-changes","i-lucide-refresh-cw",{"title":254,"path":255,"stem":256,"icon":257},"Operation Reference","\u002Fen\u002Freference\u002Fapi-reference\u002Fschema-migration\u002Foperation-reference","en\u002F6.reference\u002F5.api-reference\u002F3.schema-migration\u002F3.operation-reference","i-lucide-list-tree",{"title":259,"path":260,"stem":261,"children":262,"page":6},"Pitfalls","\u002Fen\u002Freference\u002Fpitfalls","en\u002F6.reference\u002F6.pitfalls",[263,267,272,277,282],{"title":114,"path":264,"stem":265,"icon":266},"\u002Fen\u002Freference\u002Fpitfalls\u002Foverview","en\u002F6.reference\u002F6.pitfalls\u002F1.overview","i-lucide-triangle-alert",{"title":268,"path":269,"stem":270,"icon":271},"Concurrent Migrations","\u002Fen\u002Freference\u002Fpitfalls\u002Fconcurrent-migrations","en\u002F6.reference\u002F6.pitfalls\u002F2.concurrent-migrations","i-lucide-git-merge",{"title":273,"path":274,"stem":275,"icon":276},"Instance Configuration","\u002Fen\u002Freference\u002Fpitfalls\u002Finstance-configuration-related-problems","en\u002F6.reference\u002F6.pitfalls\u002F3.instance-configuration-related-problems","i-lucide-wrench",{"title":278,"path":279,"stem":280,"icon":281},"Overly Permissive Public Roles","\u002Fen\u002Freference\u002Fpitfalls\u002Foverly-permissive","en\u002F6.reference\u002F6.pitfalls\u002F4.overly-permissive","i-lucide-shield-off",{"title":283,"path":284,"stem":285,"icon":286},"No Aggregates","\u002Fen\u002Freference\u002Fpitfalls\u002Fno-aggregates","en\u002F6.reference\u002F6.pitfalls\u002F5.no-aggregates","i-lucide-sigma",{"title":288,"icon":289,"path":290,"stem":291,"children":292,"page":6},"Release Notes","i-lucide-rocket","\u002Fen\u002Frelease-notes","en\u002F7.release-notes",[293],{"title":294,"path":295,"stem":296,"icon":289},"Changelog","\u002Fen\u002Frelease-notes\u002Fchangelog","en\u002F7.release-notes\u002F1.changelog",{"id":298,"title":237,"body":299,"description":943,"extension":944,"links":945,"meta":946,"navigation":947,"path":238,"seo":948,"stem":239,"__hash__":949},"docs_en\u002Fen\u002F6.reference\u002F5.api-reference\u002F3.schema-migration\u002Findex.md",{"type":300,"value":301,"toc":933},"minimark",[302,306,315,318,346,350,404,407,454,457,472,498,502,513,568,594,601,605,609,612,631,658,665,739,750,754,757,760,767,770,773,863,869,892,896,929],[303,304,114],"h2",{"id":305},"overview",[307,308,309,310,314],"p",{},"The schema migration endpoints change a project's data model over the REST API. A ",[311,312,313],"strong",{},"migration"," is an ordered list of operations that create, rename, update, or delete the building blocks of the model: namespaces, collections, fields, indexes, and relations.",[307,316,317],{},"Two endpoints cover the full workflow. One applies a migration you author; the other imports changes made directly in a data source.",[319,320,321,328,334,340],"ul",{},[322,323,324,327],"li",{},[311,325,326],{},"namespace"," — a schema in the underlying data source, grouping related collections",[322,329,330,333],{},[311,331,332],{},"collection"," — a container for items of the same type",[322,335,336,339],{},[311,337,338],{},"field"," — a named value on an item",[322,341,342,345],{},[311,343,344],{},"data source"," — a database Monospace connects to, identified by its ID",[303,347,349],{"id":348},"the-two-endpoints","The Two Endpoints",[351,352,353,369],"table",{},[354,355,356],"thead",{},[357,358,359,363,366],"tr",{},[360,361,362],"th",{},"Method",[360,364,365],{},"Endpoint",[360,367,368],{},"Purpose",[370,371,372,390],"tbody",{},[357,373,374,381,387],{},[375,376,377],"td",{},[378,379],"http-method",{"method":380},"POST",[375,382,383],{},[384,385,386],"code",{},"\u002Fapi\u002F{project}\u002Fschema\u002Fmigrate",[375,388,389],{},"Apply a migration you author.",[357,391,392,396,401],{},[375,393,394],{},[378,395],{"method":380},[375,397,398],{},[384,399,400],{},"\u002Fapi\u002F{project}\u002Fschema\u002Fintrospect\u002F{source}",[375,402,403],{},"Import schema changes made directly in a data source.",[307,405,406],{},"Pick the endpoint by where the change originated.",[351,408,409,421],{},[354,410,411],{},[357,412,413,416,418],{},[360,414,415],{},"Where the change originated",[360,417,365],{},[360,419,420],{},"Guide",[370,422,423,439],{},[357,424,425,428,433],{},[375,426,427],{},"You designed it (add a collection, drop a field, create an index)",[375,429,430],{},[384,431,432],{},"\u002Fschema\u002Fmigrate",[375,434,435],{},[436,437,244],"a",{"href":438},"\u002Freference\u002Fapi-reference\u002Fschema-migration\u002Fapply-migrations",[357,440,441,444,449],{},[375,442,443],{},"The data source changed outside Monospace (a collection or field added in SQL)",[375,445,446],{},[384,447,448],{},"\u002Fschema\u002Fintrospect\u002F{source}",[375,450,451],{},[436,452,249],{"href":453},"\u002Freference\u002Fapi-reference\u002Fschema-migration\u002Fimport-changes",[303,455,124],{"id":456},"authentication",[307,458,459,460,463,464,467,468,471],{},"Both endpoints require the ",[384,461,462],{},"DataModel"," edit entitlement on the project. Send an access token that carries it in the ",[384,465,466],{},"Authorization"," header. Project admins hold this entitlement by default. See ",[436,469,44],{"href":470},"\u002Fconcepts\u002Faccess-permissions"," for how entitlements are granted.",[473,474,480],"pre",{"className":475,"code":476,"filename":477,"language":478,"meta":479,"style":479},"language-bash shiki shiki-themes monospace-light monospace-light monospace-dark","Authorization: Bearer YOUR_API_KEY\n","terminal","bash","",[384,481,482],{"__ignoreMap":479},[483,484,487,491,495],"span",{"class":485,"line":486},"line",1,[483,488,490],{"class":489},"ssBNi","Authorization:",[483,492,494],{"class":493},"suKVh"," Bearer",[483,496,497],{"class":493}," YOUR_API_KEY\n",[303,499,501],{"id":500},"migration-format","Migration Format",[307,503,504,505,508,509,512],{},"Every operation is adjacently tagged: a ",[384,506,507],{},"kind"," string names the operation and a ",[384,510,511],{},"data"," object carries its payload.",[473,514,519],{"className":515,"code":516,"filename":517,"language":518,"meta":479,"style":479},"language-json shiki shiki-themes monospace-light monospace-light monospace-dark","{\n  \"kind\": \"createCollection\",\n  \"data\": { \"...\": \"...\" }\n}\n","operation.json","json",[384,520,521,527,543,562],{"__ignoreMap":479},[483,522,523],{"class":485,"line":486},[483,524,526],{"class":525},"sTMul","{\n",[483,528,530,534,537,540],{"class":485,"line":529},2,[483,531,533],{"class":532},"snHjA","  \"kind\"",[483,535,536],{"class":525},": ",[483,538,539],{"class":493},"\"createCollection\"",[483,541,542],{"class":525},",\n",[483,544,546,549,552,555,557,559],{"class":485,"line":545},3,[483,547,548],{"class":532},"  \"data\"",[483,550,551],{"class":525},": { ",[483,553,554],{"class":532},"\"...\"",[483,556,536],{"class":525},[483,558,554],{"class":493},[483,560,561],{"class":525}," }\n",[483,563,565],{"class":485,"line":564},4,[483,566,567],{"class":525},"}\n",[307,569,570,571,574,575,578,579,582,583,586,587,590,591,593],{},"Operations nest. ",[384,572,573],{},"createCollection"," and ",[384,576,577],{},"updateCollection"," hold field and index operations in their own ",[384,580,581],{},"data.operations"," array, and ",[384,584,585],{},"updatePrimitiveField"," holds field-change operations. The ",[436,588,254],{"href":589},"\u002Freference\u002Fapi-reference\u002Fschema-migration\u002Foperation-reference"," documents every ",[384,592,507],{},".",[307,595,596,597,600],{},"New entities carry a client-generated ",[384,598,599],{},"id"," — a UUID you mint and reuse to reference the entity in later operations. Existing entities use the IDs already in the schema.",[602,603,604],"note",{},"Within a collection, the nested field and index operations are sorted into a safe order. Top-level operations run in the order you send them — sequence dependent operations yourself.",[303,606,608],{"id":607},"finding-ids","Finding IDs",[307,610,611],{},"Operations reference the data source and existing entities by ID. Mint a fresh UUID for anything you create; look up the rest.",[307,613,614,615,618,619,622,623,626,627,630],{},"The data source ID — used as ",[384,616,617],{},"sourceId"," and as the ",[384,620,621],{},"{source}"," path parameter — is returned when you create a source through ",[384,624,625],{},"POST \u002Fapi\u002F{project}\u002Fsources\u002Fdata",". The response carries it at ",[384,628,629],{},"data.id",":",[473,632,635],{"className":515,"code":633,"filename":634,"language":518,"meta":479,"style":479},"{ \"data\": { \"id\": \"d7c8f0e2-9b3a-4c1e-8f2a-1a2b3c4d5e6f\" } }\n","response.json",[384,636,637],{"__ignoreMap":479},[483,638,639,642,645,647,650,652,655],{"class":485,"line":486},[483,640,641],{"class":525},"{ ",[483,643,644],{"class":532},"\"data\"",[483,646,551],{"class":525},[483,648,649],{"class":532},"\"id\"",[483,651,536],{"class":525},[483,653,654],{"class":493},"\"d7c8f0e2-9b3a-4c1e-8f2a-1a2b3c4d5e6f\"",[483,656,657],{"class":525}," } }\n",[307,659,660,661,630],{},"IDs of existing collections, fields, namespaces, indexes, and relations are readable through the system collections that hold the data model, using the standard ",[436,662,664],{"href":663},"\u002Fdeveloper\u002Fapi\u002Freading-data","item API",[351,666,667,677],{},[354,668,669],{},[357,670,671,674],{},[360,672,673],{},"Read",[360,675,676],{},"Item API path",[370,678,679,689,699,709,719,729],{},[357,680,681,684],{},[375,682,683],{},"Data sources",[375,685,686],{},[384,687,688],{},"GET \u002Fapi\u002Fblog\u002Fitems\u002FMonospaceDataSource",[357,690,691,694],{},[375,692,693],{},"Namespaces",[375,695,696],{},[384,697,698],{},"GET \u002Fapi\u002Fblog\u002Fitems\u002FMonospaceNamespace",[357,700,701,704],{},[375,702,703],{},"Collections",[375,705,706],{},[384,707,708],{},"GET \u002Fapi\u002Fblog\u002Fitems\u002FMonospaceCollection",[357,710,711,714],{},[375,712,713],{},"Fields",[375,715,716],{},[384,717,718],{},"GET \u002Fapi\u002Fblog\u002Fitems\u002FMonospacePrimitiveField",[357,720,721,724],{},[375,722,723],{},"Relation fields",[375,725,726],{},[384,727,728],{},"GET \u002Fapi\u002Fblog\u002Fitems\u002FMonospaceSingleRelationField",[357,730,731,734],{},[375,732,733],{},"Indexes",[375,735,736],{},[384,737,738],{},"GET \u002Fapi\u002Fblog\u002Fitems\u002FMonospaceIndex",[307,740,741,742,745,746,749],{},"There is no list endpoint under ",[384,743,744],{},"\u002Fsources\u002Fdata"," — read ",[384,747,748],{},"MonospaceDataSource"," to enumerate existing sources.",[303,751,753],{"id":752},"how-migrations-apply","How Migrations Apply",[307,755,756],{},"Applying a migration is a two-phase operation guarded by a per-project write lock. Monospace first persists the updated model to its system database inside a transaction, then applies the changes to the data source. If the data source step fails, Monospace rolls back the system transaction.",[307,758,759],{},"Monospace does not provide a rollback guarantee for data source changes. A failed migration can leave a data source partially changed, including a migration that targets one source. Re-introspect the source before sending another migration. A migration that spans multiple data sources can also leave sources in different states.",[307,761,762,763,766],{},"The write lock serializes schema changes within a project. Migrations on different projects run in parallel; migrations on the same project queue. See ",[436,764,268],{"href":765},"\u002Freference\u002Fpitfalls\u002Fconcurrent-migrations"," for the single-instance requirement.",[303,768,119],{"id":769},"errors",[307,771,772],{},"The endpoints can return these status codes.",[351,774,775,785],{},[354,776,777],{},[357,778,779,782],{},[360,780,781],{},"Status",[360,783,784],{},"Meaning",[370,786,787,797,810,826,839,851],{},[357,788,789,794],{},[375,790,791],{},[384,792,793],{},"401",[375,795,796],{},"The access token is invalid or expired.",[357,798,799,804],{},[375,800,801],{},[384,802,803],{},"403",[375,805,806,807,809],{},"The caller lacks the ",[384,808,462],{}," edit entitlement.",[357,811,812,817],{},[375,813,814],{},[384,815,816],{},"404",[375,818,819,820,822,823,825],{},"The project does not exist. ",[384,821,448],{}," also returns ",[384,824,816],{}," when the source does not exist.",[357,827,828,833],{},[375,829,830],{},[384,831,832],{},"422",[375,834,835,836,838],{},"The ",[384,837,432],{}," request JSON is malformed, has unknown or empty fields, or contains an invalid API name. The response body names the offending path for JSON errors.",[357,840,841,846],{},[375,842,843],{},[384,844,845],{},"413",[375,847,835,848,850],{},[384,849,432],{}," request body exceeds the configured size limit.",[357,852,853,858],{},[375,854,855],{},[384,856,857],{},"500",[375,859,860,861,593],{},"The migration or introspection failed to execute. Semantic checks applied while the migration runs — such as an invalid default value — also return ",[384,862,857],{},[307,864,865,866,868],{},"A ",[384,867,832],{}," response points at the exact field that failed:",[473,870,872],{"className":515,"code":871,"filename":634,"language":518,"meta":479,"style":479},"{\n  \"message\": \"Failed to deserialize the JSON body into the target type: operations[0]: data.dbName: Value must not be empty at line 1 column 174\"\n}\n",[384,873,874,878,888],{"__ignoreMap":479},[483,875,876],{"class":485,"line":486},[483,877,526],{"class":525},[483,879,880,883,885],{"class":485,"line":529},[483,881,882],{"class":532},"  \"message\"",[483,884,536],{"class":525},[483,886,887],{"class":493},"\"Failed to deserialize the JSON body into the target type: operations[0]: data.dbName: Value must not be empty at line 1 column 174\"\n",[483,889,890],{"class":485,"line":545},[483,891,567],{"class":525},[303,893,895],{"id":894},"see-also","See Also",[319,897,898,905,912,917,922],{},[322,899,900,902,903],{},[436,901,244],{"href":438}," — author and send a migration with ",[384,904,432],{},[322,906,907,909,910],{},[436,908,249],{"href":453}," — reconcile a data source with ",[384,911,448],{},[322,913,914,916],{},[436,915,254],{"href":589}," — every operation kind, grouped by domain",[322,918,919,921],{},[436,920,268],{"href":765}," — why only one instance may run migrations",[322,923,924,928],{},[436,925,927],{"href":926},"\u002Freference\u002Fapi-reference\u002Fopenapi-spec","OpenAPI Specification"," — the generated spec that reflects your latest migrations",[930,931,932],"style",{},"html pre.shiki code .ssBNi, html code.shiki .ssBNi{--shiki-light:#1659E9;--shiki-default:#1659E9;--shiki-dark:#94B3F5}html pre.shiki code .suKVh, html code.shiki .suKVh{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#F8FAFC}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sTMul, html code.shiki .sTMul{--shiki-light:#1F2937;--shiki-default:#1F2937;--shiki-dark:#94A3B8}html pre.shiki code .snHjA, html code.shiki .snHjA{--shiki-light:#124BC4;--shiki-default:#124BC4;--shiki-dark:#5B8EF4}",{"title":479,"searchDepth":529,"depth":529,"links":934},[935,936,937,938,939,940,941,942],{"id":305,"depth":529,"text":114},{"id":348,"depth":529,"text":349},{"id":456,"depth":529,"text":124},{"id":500,"depth":529,"text":501},{"id":607,"depth":529,"text":608},{"id":752,"depth":529,"text":753},{"id":769,"depth":529,"text":119},{"id":894,"depth":529,"text":895},"Apply data model changes to a project and import changes made directly in a data source through the schema migration endpoints.","md",null,{},{"icon":242},{"title":237,"description":943},"XPNG7uQiSGNDhJM-q1gns1X3mUlCRb6vgo7svo3W9Fs",[951,953],{"title":232,"path":233,"stem":234,"description":952,"icon":235,"children":-1},"Generate and download the OpenAPI Specification dynamically for system and workspace schemas.",{"title":244,"path":245,"stem":246,"description":954,"icon":247,"children":-1},"Author and send a schema migration to a project with the migrate endpoint.",1789461503161]