Whether the working copy fits one environment’s database: whether what is ticked could run there, and which of the draft’s tables and columns, ticked or not, that database lacks. Read from the stored catalog, so it queries no database.
GET
/
v2
/
api
/
projects
/
{projectId}
/
workspaces
/
{workspaceId}
/
draft
/
compatibility
Whether the working copy fits one environment's d…
curl --request GET \ --url 'https://api.upsolve.ai/v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/compatibility?apiKey='
Upsolve API key, generated under Account → Developer settings in the Upsolve Hub. Keys are user-scoped: pass organizationId alongside the key to select which org to act on.
Your Upsolve organization's UUID — the org that owns the API key and project. This is NOT a project organization: do not pass a value registered via /projects/register-organization, and do not pass an externalId (only projectOrganizationId accepts those). Omit it when using an org-bound API key — the org is read from the key and any value sent here is ignored. Required only for user-scoped API keys (created under Account → Developer settings) and for the Supabase JWT path, where the org is ambiguous and membership is verified against it.
Whether the working copy, as it would publish, could run in one environment (status, missingTables, missingColumns cover only what is ticked), and which of its tables and columns that environment's database lacks at all. Read from the stored catalog: no query reaches the database.
Show child attributes
Was this page helpful?
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"Upsolve AI","colors":{"primary":"#F13470","light":"#F13470","dark":"#E05883"},"favicon":"https://mintcdn.com/upsolve/yo8HqJNiSHXxC-XO/favicon.svg?fit=max\u0026auto=format\u0026n=yo8HqJNiSHXxC-XO\u0026q=85\u0026s=9b9e554a8bc33ff2f4191464242d130d","logo":{"light":"https://mintcdn.com/upsolve/2iK7L-lfLcwqCcz_/logo/light_logo.svg?fit=max\u0026auto=format\u0026n=2iK7L-lfLcwqCcz_\u0026q=85\u0026s=e2c715b3dad371be16e683c74655b2a8","dark":"https://mintcdn.com/upsolve/2iK7L-lfLcwqCcz_/logo/dark_logo.svg?fit=max\u0026auto=format\u0026n=2iK7L-lfLcwqCcz_\u0026q=85\u0026s=e5b53eb0a41de94b806015890a6b4bdc","href":"https://upsolve.ai"},"api":{"openapi":["api-reference/upsolve.documentation.yaml"],"mdx":{"server":"https://api.upsolve.ai","auth":{"method":"bearer","name":null}}},"navbar":{"links":[{"label":"Support","href":"mailto:support@upsolve.ai"}],"primary":{"type":"button","label":"Request Access","href":"https://upsolve.ai/"}},"seo":{"metatags":{"slack-app-id":"A0C9DAKJQ49"},"indexing":"navigable"},"footer":{"socials":{"website":"https://upsolve.ai/","linkedin":"https://www.linkedin.com/company/upsolveai","hacker-news":"https://www.ycombinator.com/companies/upsolve-ai"}},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Impact Studies","href":"https://upsolve.ai/impact-study","icon":"newspaper"},{"anchor":"Security Trust Center","href":"https://trust.upsolve.ai","icon":"shield-halved"},{"anchor":"Community","href":"https://upsolve-ai-community.slack.com/join/shared_invite/zt-2x9oospxx-vv2uDP_20IafkekwCOMi4A#/shared-invite/email","icon":"slack"},{"anchor":"Blog","href":"https://www.upsolve.com/blog","icon":"newspaper"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"upsolve","hasAudioNarration":false,"actualSubdomain":"upsolve","customDomains":["docs.upsolve.ai"],"gitSource":{"type":"github","owner":"upsolve-labs","repo":"upsolve-core","deployBranch":"main","contentDirectory":"apps/docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae5961f3badfbce406bc106","collectionId":"b9bdc751-1d37-437d-874e-7df730951060","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae5961f3badfbce406bc106"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae5a12a3db8daa46796990a","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"default","tag":"API Reference","count":144},{"language":"default","tag":"API Documentation","count":143},{"language":"default","tag":"Integrations","count":116},{"language":"default","tag":"Documentation","count":48},{"language":"default","tag":"SQL Reference","count":48},{"language":"default","tag":"Canvases","count":29},{"language":"default","tag":"Workspace draft","count":29},{"language":"default","tag":"Functions","count":23},{"language":"default","tag":"Analytics Layer","count":22},{"language":"default","tag":"Connections \u0026 environments","count":19}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/endpoint/check-draft-compatibility","slug":"/api-reference/endpoint/check-draft-compatibility","pageMetadata":{"title":"Check Draft Compatibility","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/compatibility","description":"Whether the working copy fits one environment's database: whether what is ticked could run there, and which of the draft's tables and columns, ticked or not, that database lacks. Read from the stored catalog, so it queries no database.","href":"/api-reference/endpoint/check-draft-compatibility"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Whether the working copy fits one environment’s database: whether what is ticked could run there, and which of the draft’s tables and columns, ticked or not, that database lacks. Read from the stored catalog, so it queries no database.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Check Draft Compatibility","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/compatibility","description":"Whether the working copy fits one environment's database: whether what is ticked could run there, and which of the draft's tables and columns, ticked or not, that database lacks. Read from the stored catalog, so it queries no database.","href":"/api-reference/endpoint/check-draft-compatibility"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"GetV2ApiProjectsProjectIdWorkspacesWorkspaceIdDraftCompatibility","summary":"Whether the working copy fits one environment's d…","description":"Whether the working copy fits one environment's database: whether what is ticked could run there, and which of the draft's tables and columns, ticked or not, that database lacks. Read from the stored catalog, so it queries no database.","parameters":["9a4fa14d-6c15-44b0-9865-d9d6b9c24b31","84940ba5-1345-4dd8-8474-a077a10bfd0b","dafcf9e1-2666-4ef3-ae57-326bef0e1f23","89b4ed0f-f996-4310-b7ba-314f2fbd24e0","4882ccfc-db17-4600-a8be-d744b2f7facd"],"security":["4a155f28-7c62-449d-b386-54f77b6676cf"],"responses":{"200":"83fb4f48-95f6-4842-a46d-a152aeb82ed2","400":"4a47cce8-d8b0-478d-bd06-afeadd6450f9"},"method":"get","type":"path","servers":["19da32c0-ae77-4cb9-938a-e7fa5193f9d7"],"path":"/v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/compatibility","baseUrlOptions":["https://api.upsolve.ai"],"title":"Whether the working copy fits one environment's d…","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"9a4fa14d-6c15-44b0-9865-d9d6b9c24b31":{"name":"apiKey","in":"query","required":false,"description":"Upsolve API key, generated under Account → Developer settings in the Upsolve Hub. Keys are user-scoped: pass organizationId alongside the key to select which org to act on.","schema":{"type":"string","minLength":1,"description":"Upsolve API key, generated under Account → Developer settings in the Upsolve Hub. Keys are user-scoped: pass organizationId alongside the key to select which org to act on.","examples":["up_embed_************"],"isRequired":false,"uniqueKey":"","typeLabel":"string"},"examples":{"example1":{"value":"up_embed_************"}}},"84940ba5-1345-4dd8-8474-a077a10bfd0b":{"name":"organizationId","in":"query","required":false,"description":"Your Upsolve organization's UUID — the org that owns the API key and project. This is NOT a project organization: do not pass a value registered via /projects/register-organization, and do not pass an `externalId` (only `projectOrganizationId` accepts those). Omit it when using an org-bound API key — the org is read from the key and any value sent here is ignored. Required only for user-scoped API keys (created under Account → Developer settings) and for the Supabase JWT path, where the org is ambiguous and membership is verified against it.","schema":{"description":"Your Upsolve organization's UUID — the org that owns the API key and project. This is NOT a project organization: do not pass a value registered via /projects/register-organization, and do not pass an `externalId` (only `projectOrganizationId` accepts those). Omit it when using an org-bound API key — the org is read from the key and any value sent here is ignored. Required only for user-scoped API keys (created under Account → Developer settings) and for the Supabase JWT path, where the org is ambiguous and membership is verified against it.","examples":["123e4567-e89b-12d3-a456-426614174000"],"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$","isRequired":false,"uniqueKey":"","typeLabel":"string\u003cuuid>"},"examples":{"example1":{"value":"123e4567-e89b-12d3-a456-426614174000"}}},"dafcf9e1-2666-4ef3-ae57-326bef0e1f23":{"name":"projectId","in":"path","required":true,"description":"The project the workspace belongs to.","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$","description":"The project the workspace belongs to.","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"}},"89b4ed0f-f996-4310-b7ba-314f2fbd24e0":{"name":"workspaceId","in":"path","required":true,"description":"The workspace.","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$","description":"The workspace.","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"}},"4882ccfc-db17-4600-a8be-d744b2f7facd":{"name":"environment","in":"query","required":false,"description":"The environment to compare the working copy with: `production` (the default) or one the project created, such as `staging`.","schema":{"description":"The environment to compare the working copy with: `production` (the default) or one the project created, such as `staging`.","type":"string","isRequired":false,"uniqueKey":"","typeLabel":"string"}}},"responses":{"83fb4f48-95f6-4842-a46d-a152aeb82ed2":{"description":"GET /v2/api/projects/:projectId/workspaces/:workspaceId/draft/compatibility Positive response","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","const":"success","isRequired":true,"uniqueKey":"status","typeLabel":"string"},"data":{"type":"object","properties":{"environment":{"type":"string","description":"The environment's slug.","isRequired":true,"uniqueKey":"data.environment","typeLabel":"string"},"name":{"type":"string","description":"The environment's display name.","isRequired":true,"uniqueKey":"data.name","typeLabel":"string"},"connectionId":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.connectionId.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.connectionId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.connectionId","typeLabel":"string | null"},"status":{"type":"string","enum":["compatible","incompatible","unknown","unmapped"],"description":"compatible: every table and column the version uses exists in that environment's database. incompatible: some do not. unknown: the database's catalog has never been read. unmapped: the environment has no connection for this workspace.","isRequired":true,"uniqueKey":"data.status","typeLabel":"enum\u003cstring>"},"missingTables":{"type":"array","items":{"type":"string","uniqueKey":"data.missingTables.items.[INDEX]","typeLabel":"string"},"description":"Tables the version uses that the environment's database lacks.","isRequired":true,"uniqueKey":"data.missingTables","typeLabel":"string[]"},"missingColumns":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"array","items":{"type":"string","uniqueKey":"data.missingColumns.additionalProperties.items.[INDEX]","typeLabel":"string"},"uniqueKey":"data.missingColumns.additionalProperties","typeLabel":"string[]"},"description":"Per table the database has: the columns the version uses that it lacks.","isRequired":true,"uniqueKey":"data.missingColumns","typeLabel":"object"},"checkedAt":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.checkedAt.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.checkedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.checkedAt","typeLabel":"string | null"},"absentTables":{"type":"array","items":{"type":"string","uniqueKey":"data.absentTables.items.[INDEX]","typeLabel":"string"},"description":"Every table of the working copy, ticked or not, that this environment's database lacks (`schema.table`). What the schema editor marks \"not in \u003cenvironment>\".","isRequired":true,"uniqueKey":"data.absentTables","typeLabel":"string[]"},"absentColumns":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"array","items":{"type":"string","uniqueKey":"data.absentColumns.additionalProperties.items.[INDEX]","typeLabel":"string"},"uniqueKey":"data.absentColumns.additionalProperties","typeLabel":"string[]"},"description":"Per working-copy table the database has: its columns, ticked or not, that the database lacks.","isRequired":true,"uniqueKey":"data.absentColumns","typeLabel":"object"}},"required":["environment","name","connectionId","status","missingTables","missingColumns","checkedAt","absentTables","absentColumns"],"additionalProperties":false,"description":"Whether the working copy, as it would publish, could run in one environment (`status`, `missingTables`, `missingColumns` cover only what is ticked), and which of its tables and columns that environment's database lacks at all. Read from the stored catalog: no query reaches the database.","isRequired":true,"uniqueKey":"data","typeLabel":"object"}},"required":["status","data"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":"success","data":{"environment":"\u003cstring>","name":"\u003cstring>","connectionId":"\u003cstring>","status":"compatible","missingTables":["\u003cstring>"],"missingColumns":{},"checkedAt":"\u003cstring>","absentTables":["\u003cstring>"],"absentColumns":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"4a47cce8-d8b0-478d-bd06-afeadd6450f9":{"description":"GET /v2/api/projects/:projectId/workspaces/:workspaceId/draft/compatibility Negative response","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","const":"error","isRequired":true,"uniqueKey":"status","typeLabel":"string"},"error":{"type":"object","properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"code":{"type":"string","uniqueKey":"error.code","typeLabel":"string"},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"oneOf":[{}],"uniqueKey":"error.details.additionalProperties","typeLabel":"any"},"uniqueKey":"error.details","typeLabel":"object"}},"required":["message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["status","error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":"error","error":{"message":"\u003cstring>","code":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"4a155f28-7c62-449d-b386-54f77b6676cf":{"APIKEY_2":{"type":"apiKey","in":"query","name":"apiKey","scopes":[],"schemeName":"APIKEY_2"}}},"servers":{"19da32c0-ae77-4cb9-938a-e7fa5193f9d7":{"url":"https://api.upsolve.ai"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"query","name":"apiKey","scopes":[],"schemeName":"APIKEY_2"},"schema":{"title":"apiKey","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"APIKEY_2","name":"apiKey"}],"title":"APIKEY_2"}]},"originalFileLocation":"api-reference/upsolve.documentation.yaml"},"subdomain":"upsolve","siteName":"Upsolve AI","title":"Check Draft Compatibility - Upsolve AI","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-31T08:05:26.645Z","originalFileLocation":"api-reference/endpoint/check-draft-compatibility.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Whether the working copy fits one environment\u0026#x27;s database: whether what is ticked could run there, and which of the draft\u0026#x27;s tables and columns, ticked or not, that database lacks. Read from the stored catalog, so it queries no database.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Upsolve AI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/upsolve/294UabaKv711UkJe/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/upsolve/294UabaKv711UkJe/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/upsolve/294UabaKv711UkJe/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/upsolve/294UabaKv711UkJe/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/upsolve/294UabaKv711UkJe/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/upsolve/294UabaKv711UkJe/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/upsolve/294UabaKv711UkJe/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/upsolve/294UabaKv711UkJe/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/upsolve/294UabaKv711UkJe/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Check Draft Compatibility - Upsolve AI\">\u003cmeta data-mint-head property=\"og:description\" content=\"Whether the working copy fits one environment\u0026#x27;s database: whether what is ticked could run there, and which of the draft\u0026#x27;s tables and columns, ticked or not, that database lacks. Read from the stored catalog, so it queries no database.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Upsolve AI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.upsolve.ai/api-reference/endpoint/check-draft-compatibility\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://upsolve.mintlify.app/_mintlify/api/og/v2?division=Workspace+draft\u0026amp;title=Check+Draft+Compatibility\u0026amp;description=Whether+the+working+copy+fits+one+environment%27s+database%3A+whether+what+is+ticked+could+run+there%2C+and+which+of+the+draft%27s+tables+and+columns%2C+ticked+or+not%2C+th\u0026amp;theme=ee308efe25f936e82bf32ff5\u0026amp;signature=a5962da9494b40979fe8ee0acb9cb929c70969a42327339611e9691ffa57d1a1\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Check Draft Compatibility - Upsolve AI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Whether the working copy fits one environment\u0026#x27;s database: whether what is ticked could run there, and which of the draft\u0026#x27;s tables and columns, ticked or not, that database lacks. Read from the stored catalog, so it queries no database.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://upsolve.mintlify.app/_mintlify/api/og/v2?division=Workspace+draft\u0026amp;title=Check+Draft+Compatibility\u0026amp;description=Whether+the+working+copy+fits+one+environment%27s+database%3A+whether+what+is+ticked+could+run+there%2C+and+which+of+the+draft%27s+tables+and+columns%2C+ticked+or+not%2C+th\u0026amp;theme=ee308efe25f936e82bf32ff5\u0026amp;signature=a5962da9494b40979fe8ee0acb9cb929c70969a42327339611e9691ffa57d1a1\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/upsolve/294UabaKv711UkJe/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Upsolve AI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#F13470\">\u003cmeta data-mint-head name=\"slack-app-id\" content=\"A0C9DAKJQ49\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.upsolve.ai/api-reference/endpoint/check-draft-compatibility\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/endpoint/check-draft-compatibility.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.upsolve.ai/#organization\",\"name\":\"Upsolve AI\",\"url\":\"https://docs.upsolve.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/upsolve/2iK7L-lfLcwqCcz_/logo/light_logo.svg?fit=max\u0026auto=format\u0026n=2iK7L-lfLcwqCcz_\u0026q=85\u0026s=e2c715b3dad371be16e683c74655b2a8\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.upsolve.ai#website\",\"name\":\"Upsolve AI\",\"url\":\"https://docs.upsolve.ai\",\"publisher\":{\"@id\":\"https://docs.upsolve.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.upsolve.ai/api-reference/endpoint/check-draft-compatibility#webpage\",\"url\":\"https://docs.upsolve.ai/api-reference/endpoint/check-draft-compatibility\",\"name\":\"Check Draft Compatibility\",\"description\":\"Whether the working copy fits one environment's database: whether what is ticked could run there, and which of the draft's tables and columns, ticked or not, that database lacks. Read from the stored catalog, so it queries no database.\",\"dateModified\":\"2026-10-31T08:05:26.645Z\",\"isPartOf\":{\"@id\":\"https://docs.upsolve.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.upsolve.ai/api-reference/endpoint/check-draft-compatibility#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.upsolve.ai/api-reference/endpoint/check-draft-compatibility#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Documentation\",\"item\":\"https://docs.upsolve.ai/api-reference/endpoint/create-embed-token\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Workspace draft\",\"item\":\"https://docs.upsolve.ai/api-reference/endpoint/get-draft\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Check Draft Compatibility\",\"item\":\"https://docs.upsolve.ai/api-reference/endpoint/check-draft-compatibility\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.upsolve.ai/api-reference/endpoint/check-draft-compatibility#apireference\",\"headline\":\"Check Draft Compatibility\",\"name\":\"Check Draft Compatibility\",\"description\":\"Whether the working copy fits one environment's database: whether what is ticked could run there, and which of the draft's tables and columns, ticked or not, that database lacks. Read from the stored catalog, so it queries no database.\",\"url\":\"https://docs.upsolve.ai/api-reference/endpoint/check-draft-compatibility\",\"mainEntityOfPage\":{\"@id\":\"https://docs.upsolve.ai/api-reference/endpoint/check-draft-compatibility#webpage\"},\"dateModified\":\"2026-10-31T08:05:26.645Z\",\"publisher\":{\"@id\":\"https://docs.upsolve.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.upsolve.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Upsolve AI\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Upsolve AI","nav":{"global":{"anchors":[{"anchor":"Impact Studies","href":"https://upsolve.ai/impact-study","icon":"newspaper"},{"anchor":"Security Trust Center","href":"https://trust.upsolve.ai","icon":"shield-halved"},{"anchor":"Community","href":"https://upsolve-ai-community.slack.com/join/shared_invite/zt-2x9oospxx-vv2uDP_20IafkekwCOMi4A#/shared-invite/email","icon":"slack"},{"anchor":"Blog","href":"https://www.upsolve.com/blog","icon":"newspaper"}]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"Analytics Layer","pages":[{"title":"Analytics Layer","href":"/embedded-bi/introduction"}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/integrations/introduction"}]},{"tab":"Chart Configurations","pages":[{"title":"Chart Configurations","href":"/content/charts/area-line-chart"}]},{"tab":"API Reference","groups":[{"group":"Applications (legacy)","pages":[{"title":"Migrate from v1 to v2","icon":"arrow-right-arrow-left","href":"/api-reference/v2/migrate-from-v1"}]},{"group":"API Documentation","pages":[{"group":"Embedding","pages":[{"title":"Get Embed Token","openapi":"post /v1/api/projects/embed-token","href":"/api-reference/endpoint/create-embed-token"},{"title":"List Project User Roles","openapi":"get /v1/api/projects/{projectId}/user-roles","href":"/api-reference/endpoint/list-project-user-roles"},{"title":"Create Project User Role","openapi":"post /v1/api/projects/{projectId}/user-roles","href":"/api-reference/endpoint/create-project-user-role"},{"title":"Get Project User Role","openapi":"get /v1/api/projects/{projectId}/user-roles/{projectUserRoleId}","href":"/api-reference/endpoint/get-project-user-role"},{"title":"Update Project User Role","openapi":"put /v1/api/projects/{projectId}/user-roles/{projectUserRoleId}","href":"/api-reference/endpoint/update-project-user-role"},{"title":"Delete Project User Role","openapi":"delete /v1/api/projects/{projectId}/user-roles/{projectUserRoleId}","href":"/api-reference/endpoint/delete-project-user-role"},{"title":"Update Project User","openapi":"put /v1/api/projects/{projectId}/users/{projectUserId}","href":"/api-reference/endpoint/update-project-user"},{"title":"Register Project Organization","openapi":"post /v1/api/projects/register-organization","href":"/api-reference/endpoint/register-project-organization"},{"title":"Register Project User","openapi":"post /v1/api/projects/register-user","href":"/api-reference/endpoint/register-project-user"},{"title":"Get Project User Token","openapi":"post /v1/api/projects/user-token","href":"/api-reference/endpoint/get-project-user-token"}]},{"group":"Workspaces","pages":[{"title":"List Workspaces","openapi":"get /v2/api/projects/{projectId}/workspaces","href":"/api-reference/endpoint/list-workspaces"},{"title":"Create Workspace","openapi":"post /v2/api/projects/{projectId}/workspaces","href":"/api-reference/endpoint/create-workspace"},{"title":"Get Workspace","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}","href":"/api-reference/endpoint/get-workspace"},{"title":"Update Workspace","openapi":"patch /v2/api/projects/{projectId}/workspaces/{workspaceId}","href":"/api-reference/endpoint/update-workspace"},{"title":"Delete Workspace","openapi":"delete /v2/api/projects/{projectId}/workspaces/{workspaceId}","href":"/api-reference/endpoint/delete-workspace"},{"title":"Duplicate Workspace","openapi":"post /v2/api/projects/{projectId}/workspaces/{workspaceId}/duplicate","href":"/api-reference/endpoint/duplicate-workspace"},{"title":"Validate Workspace","openapi":"post /v2/api/projects/{projectId}/workspaces/{workspaceId}/validate","href":"/api-reference/endpoint/validate-workspace"},{"title":"Change Workspace Connection","openapi":"post /v2/api/projects/{projectId}/workspaces/{workspaceId}/change-connection","href":"/api-reference/endpoint/change-workspace-connection"},{"title":"Get Workspace Affected Entities","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/affected-entities","href":"/api-reference/endpoint/get-workspace-affected-entities"},{"title":"Chat with a Workspace","href":"/api-reference/endpoint/chat-with-agent"}]},{"group":"Workspace draft","pages":[{"title":"Get Draft","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft","href":"/api-reference/endpoint/get-draft"},{"title":"Update Draft","openapi":"patch /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft","href":"/api-reference/endpoint/update-draft"},{"title":"Discard Draft","openapi":"delete /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft","href":"/api-reference/endpoint/discard-draft"},{"title":"Get Draft Diff","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/diff","description":"Diff the draft against its base version","href":"/api-reference/endpoint/get-draft-diff"},{"title":"Check Draft Compatibility","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/compatibility","href":"/api-reference/endpoint/check-draft-compatibility"},{"title":"Get Draft Default View","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/default-view","description":"Get the workspace draft's default view. It is what everyone lands on when they open the workspace: the AI chat (canvasId null, the default) or a canvas shared with the whole workspace. End users get the default view of the version in production, so a change here reaches them once the draft is published and promoted; the Playground opens on the default view of the version it has selected.","href":"/api-reference/endpoint/get-draft-default-view"},{"title":"Set Draft Default View","openapi":"put /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/default-view","href":"/api-reference/endpoint/set-draft-default-view"},{"title":"Get Draft Prompts","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/prompts","href":"/api-reference/endpoint/get-draft-prompts"},{"title":"Update Draft Prompts","openapi":"patch /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/prompts","href":"/api-reference/endpoint/update-draft-prompts"},{"title":"List Draft Skills","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/skills","href":"/api-reference/endpoint/list-draft-skills"},{"title":"Create Draft Skill","openapi":"post /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/skills","href":"/api-reference/endpoint/create-draft-skill"},{"title":"Update Draft Skill","openapi":"patch /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/skills/{skillId}","href":"/api-reference/endpoint/update-draft-skill"},{"title":"Delete Draft Skill","openapi":"delete /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/skills/{skillId}","href":"/api-reference/endpoint/delete-draft-skill"},{"title":"List Draft Knowledge Base","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/knowledge-base","href":"/api-reference/endpoint/list-draft-knowledge-base"},{"title":"Create Draft Knowledge Base File","openapi":"post /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/knowledge-base","href":"/api-reference/endpoint/create-draft-knowledge-base-file"},{"title":"Get Draft Knowledge Base File","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/knowledge-base/{slug}","href":"/api-reference/endpoint/get-draft-knowledge-base-file"},{"title":"Update Draft Knowledge Base File","openapi":"patch /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/knowledge-base/{slug}","href":"/api-reference/endpoint/update-draft-knowledge-base-file"},{"title":"Delete Draft Knowledge Base File","openapi":"delete /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/knowledge-base/{slug}","href":"/api-reference/endpoint/delete-draft-knowledge-base-file"},{"title":"List Draft Knowledge Base Tags","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/knowledge-base/tags","href":"/api-reference/endpoint/list-draft-knowledge-base-tags"},{"title":"Create Draft Knowledge Base Tag","openapi":"post /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/knowledge-base/tags","href":"/api-reference/endpoint/create-draft-knowledge-base-tag"},{"title":"Delete Draft Knowledge Base Tag","openapi":"delete /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/knowledge-base/tags/{tagId}","href":"/api-reference/endpoint/delete-draft-knowledge-base-tag"},{"title":"List Draft Metrics","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/metrics","href":"/api-reference/endpoint/list-draft-metrics"},{"title":"Create Draft Metric","openapi":"post /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/metrics","href":"/api-reference/endpoint/create-draft-metric"},{"title":"Get Draft Metric","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/metrics/{slug}","href":"/api-reference/endpoint/get-draft-metric"},{"title":"Update Draft Metric","openapi":"patch /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/metrics/{slug}","href":"/api-reference/endpoint/update-draft-metric"},{"title":"Delete Draft Metric","openapi":"delete /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/metrics/{slug}","href":"/api-reference/endpoint/delete-draft-metric"},{"title":"Create Draft RLS Rule","openapi":"post /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/rls","href":"/api-reference/endpoint/create-draft-rls-rule"},{"title":"Update Draft RLS Rule","openapi":"patch /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/rls/{ruleId}","href":"/api-reference/endpoint/update-draft-rls-rule"},{"title":"Delete Draft RLS Rule","openapi":"delete /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/rls/{ruleId}","href":"/api-reference/endpoint/delete-draft-rls-rule"}]},{"group":"Versions \u0026 deployments","pages":[{"title":"Publish Workspace","openapi":"post /v2/api/projects/{projectId}/workspaces/{workspaceId}/publish","href":"/api-reference/endpoint/publish-workspace"},{"title":"List Versions","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/versions","href":"/api-reference/endpoint/list-versions"},{"title":"Get Version","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/versions/{version}","href":"/api-reference/endpoint/get-version"},{"title":"Get Version Publish Status","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/versions/{version}/publish-status","href":"/api-reference/endpoint/get-version-publish-status"},{"title":"Retry Version Publish","openapi":"post /v2/api/projects/{projectId}/workspaces/{workspaceId}/versions/{version}/publish/retry","href":"/api-reference/endpoint/retry-version-publish"},{"title":"Promote Version","openapi":"post /v2/api/projects/{projectId}/workspaces/{workspaceId}/versions/{version}/promote","href":"/api-reference/endpoint/promote-version"},{"title":"Restore Version","openapi":"post /v2/api/projects/{projectId}/workspaces/{workspaceId}/versions/{version}/restore","href":"/api-reference/endpoint/restore-version"},{"title":"Preview Version Restore","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/versions/{version}/restore-preview","href":"/api-reference/endpoint/preview-version-restore"},{"title":"List Version Knowledge Base","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/versions/{version}/knowledge-base","href":"/api-reference/endpoint/list-version-knowledge-base"},{"title":"Get Version Knowledge Base File","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/versions/{version}/knowledge-base/{slug}","href":"/api-reference/endpoint/get-version-knowledge-base-file"},{"title":"List Version Metrics","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/versions/{version}/metrics","href":"/api-reference/endpoint/list-version-metrics"},{"title":"Get Version Metric","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/versions/{version}/metrics/{slug}","href":"/api-reference/endpoint/get-version-metric"},{"title":"List Deployments","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/deployments","href":"/api-reference/endpoint/list-deployments"},{"title":"Get Deployment","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/deployments/{deploymentId}","href":"/api-reference/endpoint/get-deployment"},{"title":"Deploy To Environment","openapi":"post /v2/api/projects/{projectId}/workspaces/{workspaceId}/environments/{environment}/deployments","href":"/api-reference/endpoint/deploy-to-environment"}]},{"group":"Test cases \u0026 runs","pages":[{"title":"List Test Cases","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/test-cases","href":"/api-reference/endpoint/list-test-cases"},{"title":"Get Test Case","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/test-cases/{caseId}","href":"/api-reference/endpoint/get-test-case"},{"title":"Create Test Case","openapi":"post /v2/api/projects/{projectId}/workspaces/{workspaceId}/test-cases","href":"/api-reference/endpoint/create-test-case"},{"title":"Replace Test Case","openapi":"put /v2/api/projects/{projectId}/workspaces/{workspaceId}/test-cases","href":"/api-reference/endpoint/replace-test-case"},{"title":"Delete Test Case","openapi":"delete /v2/api/projects/{projectId}/workspaces/{workspaceId}/test-cases","href":"/api-reference/endpoint/delete-test-case"},{"title":"List Draft Test Cases","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/test-cases","href":"/api-reference/endpoint/list-draft-test-cases"},{"title":"Attach Draft Test Case","openapi":"post /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/test-cases","href":"/api-reference/endpoint/attach-draft-test-case"},{"title":"Detach Draft Test Case","openapi":"delete /v2/api/projects/{projectId}/workspaces/{workspaceId}/draft/test-cases/{assetId}","href":"/api-reference/endpoint/detach-draft-test-case"},{"title":"List Test Runs","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/test-runs","href":"/api-reference/endpoint/list-test-runs"},{"title":"Get Test Run","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/test-runs/{jobId}","href":"/api-reference/endpoint/get-test-run"},{"title":"Start Test Run","openapi":"post /v2/api/projects/{projectId}/workspaces/{workspaceId}/test-runs","href":"/api-reference/endpoint/start-test-run"},{"title":"Cancel Test Run","openapi":"post /v2/api/projects/{projectId}/workspaces/{workspaceId}/test-runs/{jobId}/cancel","href":"/api-reference/endpoint/cancel-test-run"}]},{"group":"Canvases","pages":[{"title":"List Canvases","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/canvases","href":"/api-reference/endpoint/list-canvases"},{"title":"Create Canvas","openapi":"post /v2/api/projects/{projectId}/workspaces/{workspaceId}/canvases","href":"/api-reference/endpoint/create-canvas"},{"title":"Rename Canvas","openapi":"patch /v2/api/projects/{projectId}/workspaces/{workspaceId}/canvases/{canvasId}","href":"/api-reference/endpoint/rename-canvas"},{"title":"Delete Canvas","openapi":"delete /v2/api/projects/{projectId}/workspaces/{workspaceId}/canvases/{canvasId}","href":"/api-reference/endpoint/delete-canvas"},{"title":"Fork Canvas","openapi":"post /v2/api/projects/{projectId}/workspaces/{workspaceId}/canvases/{canvasId}/fork","href":"/api-reference/endpoint/fork-canvas"},{"title":"Get Canvas Design","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/canvases/{canvasId}/design","href":"/api-reference/endpoint/get-canvas-design"},{"title":"Edit Canvas Design","openapi":"patch /v2/api/projects/{projectId}/workspaces/{workspaceId}/canvases/{canvasId}/design","href":"/api-reference/endpoint/edit-canvas-design"},{"title":"List Canvas Filterable Fields","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/canvases/{canvasId}/filterable-fields","href":"/api-reference/endpoint/list-canvas-filterable-fields"},{"title":"List Canvas Filters","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/canvases/{canvasId}/filters","href":"/api-reference/endpoint/list-canvas-filters"},{"title":"Add Canvas Filter","openapi":"post /v2/api/projects/{projectId}/workspaces/{workspaceId}/canvases/{canvasId}/filters","href":"/api-reference/endpoint/add-canvas-filter"},{"title":"Update Canvas Filter","openapi":"patch /v2/api/projects/{projectId}/workspaces/{workspaceId}/canvases/{canvasId}/filters/{filterId}","href":"/api-reference/endpoint/update-canvas-filter"},{"title":"Remove Canvas Filter","openapi":"delete /v2/api/projects/{projectId}/workspaces/{workspaceId}/canvases/{canvasId}/filters/{filterId}","href":"/api-reference/endpoint/remove-canvas-filter"},{"title":"List Canvas Filter Values","openapi":"post /v2/api/projects/{projectId}/workspaces/{workspaceId}/canvases/{canvasId}/filters/values","href":"/api-reference/endpoint/list-canvas-filter-values"},{"title":"Get Canvas Items","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/canvases/{canvasId}/items","href":"/api-reference/endpoint/get-canvas-items"},{"title":"Add Canvas Item","openapi":"post /v2/api/projects/{projectId}/workspaces/{workspaceId}/canvases/{canvasId}/items","href":"/api-reference/endpoint/add-canvas-item"},{"title":"Replace Canvas Items","openapi":"put /v2/api/projects/{projectId}/workspaces/{workspaceId}/canvases/{canvasId}/items","href":"/api-reference/endpoint/replace-canvas-items"},{"title":"Move Canvas Item","openapi":"patch /v2/api/projects/{projectId}/workspaces/{workspaceId}/canvases/{canvasId}/items/{itemId}","href":"/api-reference/endpoint/move-canvas-item"},{"title":"Remove Canvas Item","openapi":"delete /v2/api/projects/{projectId}/workspaces/{workspaceId}/canvases/{canvasId}/items/{itemId}","href":"/api-reference/endpoint/remove-canvas-item"},{"title":"Set Canvas Item Chart","openapi":"put /v2/api/projects/{projectId}/workspaces/{workspaceId}/canvases/{canvasId}/items/{itemId}/chart","href":"/api-reference/endpoint/set-canvas-item-chart"},{"title":"Run Canvas Item","openapi":"post /v2/api/projects/{projectId}/workspaces/{workspaceId}/canvases/{canvasId}/items/{itemId}/run","href":"/api-reference/endpoint/run-canvas-item"},{"title":"Get Canvas Link","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/canvases/{canvasId}/link","href":"/api-reference/endpoint/get-canvas-link"},{"title":"Create Canvas Link","openapi":"put /v2/api/projects/{projectId}/workspaces/{workspaceId}/canvases/{canvasId}/link","href":"/api-reference/endpoint/create-canvas-link"},{"title":"Delete Canvas Link","openapi":"delete /v2/api/projects/{projectId}/workspaces/{workspaceId}/canvases/{canvasId}/link","href":"/api-reference/endpoint/delete-canvas-link"},{"title":"Get Canvas Share","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/canvases/{canvasId}/share","href":"/api-reference/endpoint/get-canvas-share"},{"title":"Update Canvas Share","openapi":"put /v2/api/projects/{projectId}/workspaces/{workspaceId}/canvases/{canvasId}/share","href":"/api-reference/endpoint/update-canvas-share"},{"title":"List Canvas Share People","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/canvases/{canvasId}/share/people","href":"/api-reference/endpoint/list-canvas-share-people"},{"title":"List Canvas Versions","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/canvases/{canvasId}/versions","href":"/api-reference/endpoint/list-canvas-versions"},{"title":"Save Canvas Version","openapi":"post /v2/api/projects/{projectId}/workspaces/{workspaceId}/canvases/{canvasId}/versions","href":"/api-reference/endpoint/save-canvas-version"},{"title":"Restore Canvas Version","openapi":"post /v2/api/projects/{projectId}/workspaces/{workspaceId}/canvases/{canvasId}/versions/{version}/restore","href":"/api-reference/endpoint/restore-canvas-version"}]},{"group":"Rules","pages":[{"title":"List Rules","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/rules","href":"/api-reference/endpoint/list-rules"},{"title":"List Rule Runs","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/rule-runs","href":"/api-reference/endpoint/list-rule-runs"}]},{"group":"Projects \u0026 users","pages":[{"title":"List Projects","openapi":"get /v1/api/projects","href":"/api-reference/endpoint/list-projects"},{"title":"Get Project","openapi":"get /v1/api/projects/{projectId}","href":"/api-reference/endpoint/get-project"},{"title":"Create Project","openapi":"post /v1/api/projects","href":"/api-reference/endpoint/create-project"},{"title":"Update Project","openapi":"put /v1/api/projects/{projectId}","href":"/api-reference/endpoint/update-project"},{"title":"Delete Project","openapi":"delete /v1/api/projects/{projectId}","href":"/api-reference/endpoint/delete-project"},{"title":"List Project Organizations","openapi":"get /v1/api/projects/{projectId}/organizations","href":"/api-reference/endpoint/list-project-organizations"},{"title":"Get Project Organization","openapi":"get /v1/api/projects/{projectId}/organizations/{projectOrganizationId}","href":"/api-reference/endpoint/get-project-organization"},{"title":"Create Project Organization","openapi":"post /v1/api/projects/{projectId}/organizations","href":"/api-reference/endpoint/create-project-organization"},{"title":"Update Project Organization","openapi":"put /v1/api/projects/{projectId}/organizations/{projectOrganizationId}","href":"/api-reference/endpoint/update-project-organization"},{"title":"Delete Project Organization","openapi":"delete /v1/api/projects/{projectId}/organizations/{projectOrganizationId}","href":"/api-reference/endpoint/delete-project-organization"},{"title":"Move Project Organization Environment","openapi":"post /v1/api/projects/{projectId}/organizations/{projectOrganizationId}/environment","href":"/api-reference/endpoint/move-project-organization-environment"},{"title":"List Project Users","openapi":"get /v1/api/projects/{projectId}/users","href":"/api-reference/endpoint/list-project-users"},{"title":"Get Project User","openapi":"get /v1/api/projects/{projectId}/users/{projectUserId}","href":"/api-reference/endpoint/get-project-user"},{"title":"Delete Project User","openapi":"delete /v1/api/projects/{projectId}/users/{projectUserId}","href":"/api-reference/endpoint/delete-project-user"},{"title":"Move Project User Environment","openapi":"post /v1/api/projects/{projectId}/users/{projectUserId}/environment","href":"/api-reference/endpoint/move-project-user-environment"}]},{"group":"Connections \u0026 environments","pages":[{"title":"Create Connection","openapi":"post /v1/api/connection/create-connection","href":"/api-reference/endpoint/create-connection"},{"title":"Get Connections","openapi":"get /v1/api/connection","href":"/api-reference/endpoint/get-connections"},{"title":"Get Connection","openapi":"get /v1/api/connection/{connectionId}","href":"/api-reference/endpoint/get-connection"},{"title":"Update Connection","openapi":"patch /v1/api/connection","href":"/api-reference/endpoint/update-connection"},{"title":"Delete Connection","openapi":"delete /v1/api/connection","href":"/api-reference/endpoint/delete-connection"},{"title":"Get Connection Affected Data Models","openapi":"get /v1/api/connection/get-affected-data-models","href":"/api-reference/endpoint/get-connection-affected-data-models"},{"title":"Get Enriched Connections","openapi":"get /v1/api/connection/get-enriched-connections","href":"/api-reference/endpoint/get-enriched-connections"},{"title":"Start Connection Metadata Job","openapi":"post /v1/api/connection/compute-metadata-job","href":"/api-reference/endpoint/start-connection-metadata-job"},{"title":"Get Connection Metadata Job","openapi":"get /v1/api/connection/metadata-job/{jobId}","href":"/api-reference/endpoint/get-connection-metadata-job"},{"title":"List Environments","openapi":"get /v2/api/projects/{projectId}/environments","href":"/api-reference/endpoint/list-environments"},{"title":"Create Environment","openapi":"post /v2/api/projects/{projectId}/environments","href":"/api-reference/endpoint/create-environment"},{"title":"Rename Environment","openapi":"patch /v2/api/projects/{projectId}/environments/{environment}","href":"/api-reference/endpoint/rename-environment"},{"title":"Delete Environment","openapi":"delete /v2/api/projects/{projectId}/environments/{environment}","href":"/api-reference/endpoint/delete-environment"},{"title":"Map Environment Connection","openapi":"put /v2/api/projects/{projectId}/environments/{environment}/connections/{sourceConnectionId}","href":"/api-reference/endpoint/map-environment-connection"},{"title":"Remove Environment Connection","openapi":"delete /v2/api/projects/{projectId}/environments/{environment}/connections/{sourceConnectionId}","href":"/api-reference/endpoint/remove-environment-connection"},{"title":"Create Environment Connection Database","openapi":"post /v2/api/projects/{projectId}/environments/{environment}/connections/{sourceConnectionId}/database","href":"/api-reference/endpoint/create-environment-connection-database"},{"title":"Check Environment Connection Compatibility","openapi":"get /v2/api/projects/{projectId}/environments/{environment}/connections/{sourceConnectionId}/compatibility","href":"/api-reference/endpoint/check-environment-connection-compatibility"},{"title":"List Workspace Environments","openapi":"get /v2/api/projects/{projectId}/workspaces/{workspaceId}/environments","href":"/api-reference/endpoint/list-workspace-environments"},{"title":"Set Workspace Environment","openapi":"patch /v2/api/projects/{projectId}/workspaces/{workspaceId}/environments/{environment}","href":"/api-reference/endpoint/set-workspace-environment"}]},{"group":"Dashboard Sync (.ucf)","pages":[{"title":"Overview","href":"/api-reference/endpoint/dashboard-sync-overview"},{"title":"Import Dashboards (.ucf)","openapi":"post /v1/api/ucf/dashboards/import","href":"/api-reference/endpoint/import-dashboards-ucf"}]}]}]},{"tab":"SQL Reference","pages":[{"title":"SQL Reference","href":"/sql/introduction"}]},{"tab":"Demo","pages":[{"title":"Demo","href":"/demo/product-walkthrough"}]}]},"basePath":"","title":"Check Draft Compatibility - Upsolve AI","buildId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","deploymentId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-B7XKH4J3.js","utils-lOYzL7z-.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DF6jUUIM.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dpsj5f7C.js","snippetPresets-CYeiDe8v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CUFz1YZ_.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-D8H_iLS4.js","shallow-DdluZBHX.js","getApiPlaygroundDisplay-B9922vev.js","CodeSnippet-CMoRNGYs.js","CodeSnippets-DwyrPHuw.js","Page-DSVu9Ucl.js","getPastedJson-G-zIvlHh.js","icon-B03fnEy0.js","MethodPill-CW7teklc.js","DuplicateIcon-CtO8eekd.js","createIcon-DZTKdM_A.js","DynamicMarkdown-D5M2At0B.js","SectionHeading-C_2NaA2U.js","axios-vUo_bRtp.js","Markdown-D7QRHV3m.js","clsx-D1Z-ELXV.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-lvhuD9Du.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CKfC4ywL.js"]}