{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Databar Docs","colors":{"primary":"#6C5CE7","light":"#A29BFE","dark":"#5A4BD1"},"logo":{"light":"https://mintcdn.com/databar/kfr17W_tEfbrs1P4/logo/light.svg?fit=max\u0026auto=format\u0026n=kfr17W_tEfbrs1P4\u0026q=85\u0026s=38c5d5f2f9c35e46668722b2401d0cc8","dark":"https://mintcdn.com/databar/kfr17W_tEfbrs1P4/logo/dark.svg?fit=max\u0026auto=format\u0026n=kfr17W_tEfbrs1P4\u0026q=85\u0026s=b7015cfb3c09945ab840af1700aa7a49"},"favicon":{"light":"https://mintcdn.com/databar/QEpagu1P8NAlDFi0/favicon.svg?fit=max\u0026auto=format\u0026n=QEpagu1P8NAlDFi0\u0026q=85\u0026s=3ae622ccad8727568a8220e4ffd52805","dark":"https://mintcdn.com/databar/QEpagu1P8NAlDFi0/favicon-dark.svg?fit=max\u0026auto=format\u0026n=QEpagu1P8NAlDFi0\u0026q=85\u0026s=f524b7b27a8f663d25009c2d9fdcc6f6"},"appearance":{"default":"system"},"background":{"decoration":"windows"},"navbar":{"links":[{"href":"mailto:info@databar.ai","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://databar.ai/tables"}},"footer":{"socials":{"x":"https://x.com/databar_ai","linkedin":"https://linkedin.com/company/databar-ai","youtube":"https://www.youtube.com/@databar_ai"}},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Databar.ai","icon":"globe","href":"https://databar.ai"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"databar","hasAudioNarration":false,"actualSubdomain":"databar","customDomains":["docs.databar.ai"],"gitSource":{"type":"github","owner":"databar-ai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae4bf20f29cac1d3d63acbd","collectionId":"f3a7cae7-c534-4957-a3df-fe84bc942edf","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae4bf20f29cac1d3d63acbd"},"entitlements":{},"buildId":"6ae4bf20f29cac1d3d63acbd","clientVersion":"0.0.4071","searchFilterCounts":[{"language":"default","tag":"API Reference","count":85},{"language":"default","tag":"Tables","count":42},{"language":"default","tag":"Product Guide","count":34},{"language":"default","tag":"Headless","count":27},{"language":"default","tag":"Core concepts","count":23},{"language":"default","tag":"Flows","count":14},{"language":"default","tag":"Workspace","count":13},{"language":"default","tag":"Enrichments","count":13},{"language":"default","tag":"Workbooks","count":11},{"language":"default","tag":"MCP Server","count":8}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"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":"rbac-expansion","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":"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":"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},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"custom.css","content":"[class*=\"CardGroup\"] img,[class*=\"card-group\"] img{aspect-ratio:16 / 10;object-fit:contain;width:100%;border-radius:12px 12px 0 0;padding:24px;background-color:#fafafa;background-image:linear-gradient(rgba(108, 92, 231, 0.06) 1px, transparent 1px),\n linear-gradient(90deg, rgba(108, 92, 231, 0.06) 1px, transparent 1px);background-size:20px 20px;border:1px solid rgba(108, 92, 231, 0.08)}.dark img[src*=\"mcp.svg\"],.dark img[src*=\"icon-chrome.svg\"],.dark img[src*=\"icon-n8n.svg\"]{filter:brightness(0) invert(1)}[class*=\"Card\"] a,.card a{transition:transform 300ms cubic-bezier(0, 0, 0.2, 1),\n box-shadow 300ms ease}[class*=\"Card\"] a:hover,.card a:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0, 0, 0, 0.08)}"}],"page":{"pagePath":"api-reference/endpoint/rows-upsert","slug":"/api-reference/endpoint/rows-upsert","pageMetadata":{"title":"Upsert rows by key values","openapi":"api-reference/openapi.json POST /v1/table/{table_uuid}/rows/upsert","description":"For each row, match on a single **key** column:\n\n- **0 matches** → a new row is created (`action: created`).\n- **1 match** → the existing row is updated (`action: updated`).\n- **>1 matches** → returns an `AMBIGUOUS_MATCH` error for that row.\n\nThe `key` dict must contain exactly one entry `{column_name: value}`.","href":"/api-reference/endpoint/rows-upsert"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n li: \"li\",\n p: \"p\",\n strong: \"strong\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"For each row, match on a single \", _jsx(_components.strong, {\n children: \"key\"\n }), \" column:\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"0 matches\"\n }), \" → a new row is created (\", _jsx(_components.code, {\n children: \"action: created\"\n }), \").\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"1 match\"\n }), \" → the existing row is updated (\", _jsx(_components.code, {\n children: \"action: updated\"\n }), \").\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \">1 matches\"\n }), \" → returns an \", _jsx(_components.code, {\n children: \"AMBIGUOUS_MATCH\"\n }), \" error for that row.\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"The \", _jsx(_components.code, {\n children: \"key\"\n }), \" dict must contain exactly one entry \", _jsx(_components.code, {\n children: \"{column_name: value}\"\n }), \".\"]\n })]\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{jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Info}=_components;if(!Info)_missingMdxReference(`Info`,true);return _jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Upsert = update or create.`}),` Rows are matched by the key columns you specify. If a matching row exists, it is updated; otherwise a new row is inserted.`]})})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Upsert rows by key values","openapi":"api-reference/openapi.json POST /v1/table/{table_uuid}/rows/upsert","description":"For each row, match on a single **key** column:\n\n- **0 matches** → a new row is created (`action: created`).\n- **1 match** → the existing row is updated (`action: updated`).\n- **>1 matches** → returns an `AMBIGUOUS_MATCH` error for that row.\n\nThe `key` dict must contain exactly one entry `{column_name: value}`.","href":"/api-reference/endpoint/rows-upsert"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Table"],"summary":"Update or create rows by key","description":"For each row, match on a single **key** column:\n\n- **0 matches** → a new row is created (`action: created`).\n- **1 match** → the existing row is updated (`action: updated`).\n- **>1 matches** → returns an `AMBIGUOUS_MATCH` error for that row.\n\nThe `key` dict must contain exactly one entry `{column_name: value}`.","operationId":"Upsert_rows_v1_table__table_uuid__rows_upsert_post","parameters":["cee685da-7d33-4e31-8cbc-830082e208c0","5e2b6972-327c-4490-9f5f-18918fab9f92"],"requestBody":"5f17ec48-238a-4daf-ac46-a24b13eb6fc9","responses":{"200":"7e84793d-1d16-4ddb-b25d-e2a8a0b5243d","400":"0871130e-f590-4fcc-8ed1-60cafbd23c70","422":"227f504a-d040-4e83-a679-f02039596a81"},"method":"post","type":"path","servers":["86469929-6288-4c31-b970-e55a9b519145"],"security":[],"path":"/v1/table/{table_uuid}/rows/upsert","baseUrlOptions":["https://api.databar.ai"],"title":"Update or create rows by key","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"cee685da-7d33-4e31-8cbc-830082e208c0":{"name":"table_uuid","in":"path","required":true,"schema":{"type":"string","format":"uuid","description":"The UUID of the table","title":"Table Uuid","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"},"description":"The UUID of the table"},"5e2b6972-327c-4490-9f5f-18918fab9f92":{"name":"x-apikey","in":"header","required":true,"schema":{"type":"string","title":"API Key","description":"API Key for authentication","isRequired":true,"uniqueKey":"","typeLabel":"string"},"description":"API Key for authentication"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"rows":{"items":{"properties":{"key":{"type":"object","maxProperties":1,"minProperties":1,"title":"Key","description":"Exactly one column to match on: {column_name: value}. If no match — create, if one match — update, if multiple — AMBIGUOUS_MATCH error.","example":{"email":"ivan@example.com"},"isRequired":true,"uniqueKey":"rows.items.[INDEX].key","typeLabel":"Key · object"},"fields":{"type":"object","title":"Fields","description":"Column values to set/update, keyed by human-readable column name.","example":{"company_name":"Acme","first_name":"Ivan"},"isRequired":true,"uniqueKey":"rows.items.[INDEX].fields","typeLabel":"Fields · object"}},"type":"object","required":["key","fields"],"title":"UpsertRow","uniqueKey":"rows.items.[INDEX]","typeLabel":"UpsertRow · object"},"type":"array","maxItems":50,"minItems":1,"title":"Rows","description":"List of rows to upsert (max 50).","isRequired":true,"uniqueKey":"rows","typeLabel":"UpsertRow · object[]"},"return_rows":{"type":"boolean","title":"Return Rows","description":"If true, each result includes full row_data.","default":false,"uniqueKey":"return_rows","typeLabel":"boolean"}},"type":"object","required":["rows"],"title":"UpsertRequest","example":{"return_rows":false,"rows":[{"fields":{"company_name":"Acme","first_name":"Ivan"},"key":{"email":"ivan@example.com"}},{"fields":{"first_name":"New Person","title":"Engineer"},"key":{"email":"new@example.com"}}]},"uniqueKey":"","typeLabel":"UpsertRequest · object"},"examples":{"Example":{"title":"Example","value":{"return_rows":false,"rows":[{"fields":{"company_name":"Acme","first_name":"Ivan"},"key":{"email":"ivan@example.com"}},{"fields":{"first_name":"New Person","title":"Engineer"},"key":{"email":"new@example.com"}}]}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"7e84793d-1d16-4ddb-b25d-e2a8a0b5243d":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"results":{"items":{"properties":{"index":{"oneOf":[{"type":"integer","title":"Index","description":"Original index in the request array (present for created rows).","uniqueKey":"results.items.[INDEX].index.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Index","description":"Original index in the request array (present for created rows).","uniqueKey":"results.items.[INDEX].index.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].index","typeLabel":"integer | null"},"id":{"oneOf":[{"type":"string","title":"Id","description":"UUID of the updated or newly created row.","uniqueKey":"results.items.[INDEX].id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Id","description":"UUID of the updated or newly created row.","uniqueKey":"results.items.[INDEX].id.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].id","typeLabel":"string | null"},"action":{"oneOf":[{"type":"string","title":"Action","description":"'updated' or 'created'.","enum":["updated","created"],"uniqueKey":"results.items.[INDEX].action.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","title":"Action","description":"'updated' or 'created'.","uniqueKey":"results.items.[INDEX].action.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].action","typeLabel":"enum\u003cstring> | null"},"error":{"oneOf":[{"type":"object","title":"Error","description":"Error object, e.g. {\"code\": \"AMBIGUOUS_MATCH\", \"matches\": 3}.","uniqueKey":"results.items.[INDEX].error.oneOf.0","typeLabel":"Error · object"},{"type":"null","title":"Error","description":"Error object, e.g. {\"code\": \"AMBIGUOUS_MATCH\", \"matches\": 3}.","uniqueKey":"results.items.[INDEX].error.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].error","typeLabel":"Error · object | null"},"row_data":{"oneOf":[{"type":"object","title":"Row Data","description":"Full row data (only when return_rows=true).","uniqueKey":"results.items.[INDEX].row_data.oneOf.0","typeLabel":"Row Data · object"},{"type":"null","title":"Row Data","description":"Full row data (only when return_rows=true).","uniqueKey":"results.items.[INDEX].row_data.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].row_data","typeLabel":"Row Data · object | null"}},"type":"object","title":"UpsertResultItem","uniqueKey":"results.items.[INDEX]","typeLabel":"UpsertResultItem · object"},"type":"array","title":"Results","isRequired":true,"uniqueKey":"results","typeLabel":"UpsertResultItem · object[]"}},"type":"object","required":["results"],"title":"UpsertResponse","example":{"results":[{"action":"updated","id":"91f0e833-5dfc-4f63-be96-e3a28925190f"},{"action":"created","id":"a1b2c3d4-0000-0000-0000-000000000000","index":1}]},"uniqueKey":"","typeLabel":"UpsertResponse · object"},"examples":{"Example":{"title":"Example","value":{"results":[{"action":"updated","id":"91f0e833-5dfc-4f63-be96-e3a28925190f"},{"action":"created","id":"a1b2c3d4-0000-0000-0000-000000000000","index":1}]}}},"exampleType":"generated"}},"exampleType":"generated"},"0871130e-f590-4fcc-8ed1-60cafbd23c70":{"description":"Validation error (BATCH_TOO_LARGE, UNKNOWN_COLUMNS, INVALID_DATA).","content":{"application/json":{"schema":{"properties":{"error":{"type":"string","title":"Error","description":"Error code: BATCH_TOO_LARGE, UNKNOWN_COLUMNS, INVALID_DATA.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"max_size":{"oneOf":[{"type":"integer","title":"Max Size","description":"Maximum batch size (only for BATCH_TOO_LARGE).","uniqueKey":"max_size.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Max Size","description":"Maximum batch size (only for BATCH_TOO_LARGE).","uniqueKey":"max_size.oneOf.1","typeLabel":"null"}],"uniqueKey":"max_size","typeLabel":"integer | null"},"columns":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"columns.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Columns","description":"Unknown column names (only for UNKNOWN_COLUMNS).","uniqueKey":"columns.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Columns","description":"Unknown column names (only for UNKNOWN_COLUMNS).","uniqueKey":"columns.oneOf.1","typeLabel":"null"}],"uniqueKey":"columns","typeLabel":"string[] | null"},"detail":{"oneOf":[{"type":"string","title":"Detail","description":"Human-readable error message (only for INVALID_DATA).","uniqueKey":"detail.oneOf.0","typeLabel":"string"},{"type":"null","title":"Detail","description":"Human-readable error message (only for INVALID_DATA).","uniqueKey":"detail.oneOf.1","typeLabel":"null"}],"uniqueKey":"detail","typeLabel":"string | null"}},"type":"object","required":["error"],"title":"SDKErrorResponse","uniqueKey":"","typeLabel":"SDKErrorResponse · object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","max_size":123,"columns":["\u003cstring>"],"detail":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"227f504a-d040-4e83-a679-f02039596a81":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"error":{"type":"string","title":"Error","description":"VALIDATION_ERROR","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"detail":{"type":"string","title":"Detail","description":"Human-readable summary, one problem per field joined by '; '.","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"fields":{"type":"array","title":"Fields","items":{"type":"object","properties":{"loc":{"items":{"type":"string","uniqueKey":"fields.items.[INDEX].loc.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"fields.items.[INDEX].loc","typeLabel":"string[]"},"msg":{"type":"string","isRequired":true,"uniqueKey":"fields.items.[INDEX].msg","typeLabel":"string"}},"required":["loc","msg"],"uniqueKey":"fields.items.[INDEX]","typeLabel":"object"},"uniqueKey":"fields","typeLabel":"Fields · object[]"}},"type":"object","required":["error","detail"],"title":"HTTPValidationError","uniqueKey":"","typeLabel":"HTTPValidationError · object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","detail":"\u003cstring>","fields":[{"loc":["\u003cstring>"],"msg":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{},"servers":{"86469929-6288-4c31-b970-e55a9b519145":{"url":"https://api.databar.ai","description":"Production"}}},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"databar","siteName":"Databar Docs","title":"Upsert rows by key values - Databar Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-04-07T14:46:16.466Z","originalFileLocation":"api-reference/endpoint/rows-upsert.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=\"For each row, match on a single key column: - 0 matches → a new row is created (action: created). - 1 match → the existing row is updated (action: updated). - \u0026gt;1 matches → returns an AMBIGUOUS_MATCH error for that row. The key dict must contain exactly one entry {column_name: value}.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Databar Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/databar/UayxQWR1b87G5-jl/_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/databar/UayxQWR1b87G5-jl/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/databar/UayxQWR1b87G5-jl/_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/databar/UayxQWR1b87G5-jl/_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/databar/UayxQWR1b87G5-jl/_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/databar/UayxQWR1b87G5-jl/_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/databar/UayxQWR1b87G5-jl/_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/databar/UayxQWR1b87G5-jl/_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/databar/UayxQWR1b87G5-jl/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Upsert rows by key values - Databar Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"For each row, match on a single key column: - 0 matches → a new row is created (action: created). - 1 match → the existing row is updated (action: updated). - \u0026gt;1 matches → returns an AMBIGUOUS_MATCH error for that row. The key dict must contain exactly one entry {column_name: value}.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Databar Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.databar.ai/api-reference/endpoint/rows-upsert\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://databar.mintlify.app/_mintlify/api/og/v2?division=Rows\u0026amp;title=Upsert+rows+by+key+values\u0026amp;description=For+each+row%2C+match+on+a+single+**key**+column%3A%0A%0A-+**0+matches**+%E2%86%92+a+new+row+is+created+%28%60action%3A+created%60%29.%0A-+**1+match**+%E2%86%92+the+existing+row+is+updated+%28%60actio\u0026amp;theme=2468acd354f0bec92c22e75f\u0026amp;signature=3c7a551566ceda8b894330b9c63510a8d52ee30976584345c0fbb61da76c0cf2\">\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=\"Upsert rows by key values - Databar Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"For each row, match on a single key column: - 0 matches → a new row is created (action: created). - 1 match → the existing row is updated (action: updated). - \u0026gt;1 matches → returns an AMBIGUOUS_MATCH error for that row. The key dict must contain exactly one entry {column_name: value}.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://databar.mintlify.app/_mintlify/api/og/v2?division=Rows\u0026amp;title=Upsert+rows+by+key+values\u0026amp;description=For+each+row%2C+match+on+a+single+**key**+column%3A%0A%0A-+**0+matches**+%E2%86%92+a+new+row+is+created+%28%60action%3A+created%60%29.%0A-+**1+match**+%E2%86%92+the+existing+row+is+updated+%28%60actio\u0026amp;theme=2468acd354f0bec92c22e75f\u0026amp;signature=3c7a551566ceda8b894330b9c63510a8d52ee30976584345c0fbb61da76c0cf2\">\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/databar/UayxQWR1b87G5-jl/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Databar Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6C5CE7\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.databar.ai/api-reference/endpoint/rows-upsert\">\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/rows-upsert.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.databar.ai/#organization\",\"name\":\"Databar Docs\",\"url\":\"https://docs.databar.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/databar/kfr17W_tEfbrs1P4/logo/light.svg?fit=max\u0026auto=format\u0026n=kfr17W_tEfbrs1P4\u0026q=85\u0026s=38c5d5f2f9c35e46668722b2401d0cc8\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.databar.ai#website\",\"name\":\"Databar Docs\",\"url\":\"https://docs.databar.ai\",\"publisher\":{\"@id\":\"https://docs.databar.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.databar.ai/api-reference/endpoint/rows-upsert#webpage\",\"url\":\"https://docs.databar.ai/api-reference/endpoint/rows-upsert\",\"name\":\"Upsert rows by key values\",\"description\":\"For each row, match on a single key column: - 0 matches → a new row is created (action: created). - 1 match → the existing row is updated (action: updated). - >1 matches → returns an AMBIGUOUS_MATCH error for that row. The key dict must contain exactly one entry {column_name: value}.\",\"dateModified\":\"2026-04-07T14:46:16.466Z\",\"isPartOf\":{\"@id\":\"https://docs.databar.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.databar.ai/api-reference/endpoint/rows-upsert#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.databar.ai/api-reference/endpoint/rows-upsert#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Tables\",\"item\":\"https://docs.databar.ai/api-reference/endpoint/tables-create\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Rows\",\"item\":\"https://docs.databar.ai/api-reference/endpoint/rows-get\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Upsert rows by key values\",\"item\":\"https://docs.databar.ai/api-reference/endpoint/rows-upsert\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.databar.ai/api-reference/endpoint/rows-upsert#apireference\",\"headline\":\"Upsert rows by key values\",\"name\":\"Upsert rows by key values\",\"description\":\"For each row, match on a single key column: - 0 matches → a new row is created (action: created). - 1 match → the existing row is updated (action: updated). - >1 matches → returns an AMBIGUOUS_MATCH error for that row. The key dict must contain exactly one entry {column_name: value}.\",\"url\":\"https://docs.databar.ai/api-reference/endpoint/rows-upsert\",\"mainEntityOfPage\":{\"@id\":\"https://docs.databar.ai/api-reference/endpoint/rows-upsert#webpage\"},\"dateModified\":\"2026-04-07T14:46:16.466Z\",\"publisher\":{\"@id\":\"https://docs.databar.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.databar.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Databar Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Databar Docs","nav":{"global":{"anchors":[{"anchor":"Databar.ai","icon":"globe","href":"https://databar.ai"}]},"tabs":[{"tab":"Product Guide","icon":"book-open","pages":[{"title":"Product Guide","href":"/product-guide/what-is-databar"}]},{"tab":"API Reference","icon":"square-terminal","groups":[{"group":"Getting Started","icon":"rocket","pages":[{"title":"Build with Databar","href":"/developer-guides"},{"title":"REST API Quickstart","href":"/quickstart-rest"},{"group":"Use Cases","icon":"lightbulb","pages":[{"title":"Enrich a list of leads","href":"/guides/enrich-leads"},{"title":"Waterfall email finder","href":"/guides/waterfall-email-finder"},{"title":"Table enrichment pipeline","href":"/guides/table-enrichment-pipeline"}]}]},{"group":"Overview","pages":[{"title":"Introduction","href":"/api-reference/introduction"}]},{"group":"SDKs","icon":"terminal","pages":[{"title":"Python SDK","href":"/python-sdk"},{"title":"CLI Reference","href":"/cli"}]},{"group":"Workspace","icon":"folder","pages":[{"group":"Folders","pages":[{"title":"List all folders","openapi":"GET /v1/folders","href":"/api-reference/endpoint/folders-list"},{"title":"Create a folder","openapi":"POST /v1/folders","href":"/api-reference/endpoint/folders-create"},{"title":"Rename a folder","openapi":"PATCH /v1/folders/{folder_id}","href":"/api-reference/endpoint/folders-rename"},{"title":"Delete a folder","openapi":"DELETE /v1/folders/{folder_id}","href":"/api-reference/endpoint/folders-delete"},{"title":"Move a table into or out of a folder","openapi":"POST /v1/folders/move-table","href":"/api-reference/endpoint/folders-move-table"}]},{"group":"Connectors","pages":[{"title":"List custom API connectors","openapi":"GET /v1/connectors/","href":"/api-reference/endpoint/connectors-list"},{"title":"Create a custom API connector","openapi":"POST /v1/connectors/","href":"/api-reference/endpoint/connectors-create"},{"title":"Get custom connector info","openapi":"GET /v1/connectors/{connector_id}","href":"/api-reference/endpoint/connectors-get"},{"title":"Update custom connector","openapi":"PUT /v1/connectors/{connector_id}","href":"/api-reference/endpoint/connectors-update"},{"title":"Delete custom connector","openapi":"DELETE /v1/connectors/{connector_id}","href":"/api-reference/endpoint/connectors-delete"}]}]},{"group":"Workbooks","icon":"files","pages":[{"title":"List workbooks","openapi":"GET /v1/workbooks","href":"/api-reference/endpoint/workbooks-list"},{"title":"Get a workbook","openapi":"GET /v1/workbooks/{workbook_id}","href":"/api-reference/endpoint/workbooks-get"},{"title":"Rename a workbook","openapi":"PATCH /v1/workbooks/{workbook_id}","href":"/api-reference/endpoint/workbooks-rename"},{"title":"Duplicate a workbook","openapi":"POST /v1/workbooks/{workbook_id}/duplicate","href":"/api-reference/endpoint/workbooks-duplicate"},{"title":"Merge workbooks","openapi":"POST /v1/workbooks/merge","href":"/api-reference/endpoint/workbooks-merge"},{"title":"Add a sheet","openapi":"POST /v1/workbooks/{workbook_id}/tables","href":"/api-reference/endpoint/workbooks-add-table"},{"title":"Reorder sheets","openapi":"POST /v1/workbooks/{workbook_id}/tables/reorder","href":"/api-reference/endpoint/workbooks-reorder"},{"title":"Delete a workbook","openapi":"DELETE /v1/workbooks/{workbook_id}","href":"/api-reference/endpoint/workbooks-delete"},{"group":"Trash","pages":[{"title":"List trash","openapi":"GET /v1/trash","href":"/api-reference/endpoint/trash-list"},{"title":"Restore from trash","openapi":"POST /v1/trash/restore","href":"/api-reference/endpoint/trash-restore"},{"title":"Permanently delete from trash","openapi":"POST /v1/trash/delete-forever","href":"/api-reference/endpoint/trash-purge"}]}]},{"group":"Tables","icon":"table","pages":[{"group":"Tables","pages":[{"title":"Create a table","openapi":"POST /v1/table/create","href":"/api-reference/endpoint/tables-create"},{"title":"Get all workspace tables","openapi":"GET /v1/table/","href":"/api-reference/endpoint/tables-list"},{"title":"Rename a table","openapi":"PATCH /v1/table/{table_uuid}","href":"/api-reference/endpoint/tables-rename"},{"title":"Duplicate a table","openapi":"POST /v1/table/duplicate","href":"/api-reference/endpoint/tables-duplicate"},{"title":"Move a table to a workbook","openapi":"POST /v1/table/{table_uuid}/move","href":"/api-reference/endpoint/tables-move"},{"title":"Clear a table","openapi":"POST /v1/table/{table_uuid}/clear","href":"/api-reference/endpoint/tables-clear"},{"title":"Start a table export","openapi":"POST /v1/table/{table_uuid}/export","href":"/api-reference/endpoint/tables-export"},{"title":"Get table export status","openapi":"GET /v1/table/{table_uuid}/export","href":"/api-reference/endpoint/tables-get-export"},{"title":"Delete a table","openapi":"DELETE /v1/table/{table_uuid}","href":"/api-reference/endpoint/tables-delete"}]},{"group":"Columns","pages":[{"title":"Get table columns","openapi":"GET /v1/table/{table_uuid}/columns","href":"/api-reference/endpoint/tables-get-columns"},{"title":"Add a column to a table","openapi":"POST /v1/table/{table_uuid}/columns","href":"/api-reference/endpoint/columns-create"},{"title":"Rename a column","openapi":"PATCH /v1/table/{table_uuid}/columns/{column_id}","href":"/api-reference/endpoint/columns-rename"},{"title":"Reorder a column","openapi":"POST /v1/table/{table_uuid}/columns/{column_id}/reorder","href":"/api-reference/endpoint/columns-reorder"},{"title":"Delete a column from a table","openapi":"DELETE /v1/table/{table_uuid}/columns/{column_id}","href":"/api-reference/endpoint/columns-delete"}]},{"group":"Rows","pages":[{"title":"Get table rows","openapi":"GET /v1/table/{table_uuid}/rows","href":"/api-reference/endpoint/rows-get"},{"title":"Add rows to table","openapi":"api-reference/openapi.json POST /v1/table/{table_uuid}/rows","href":"/api-reference/endpoint/rows-insert"},{"title":"Update rows in table by ID","openapi":"api-reference/openapi.json PATCH /v1/table/{table_uuid}/rows","description":"Update specific fields in multiple rows at once. Uses human-readable column names.\n\n**overwrite** controls whether existing non-empty values are replaced:\n- `true` (default) — always set the new value.\n- `false` — only fill in fields that are currently empty.\n\nIf a row UUID is not found the result entry will contain `\"ok\": false` with an error object `{\"code\": \"ROW_NOT_FOUND\"}`.","href":"/api-reference/endpoint/rows-update"},{"title":"Upsert rows by key values","openapi":"api-reference/openapi.json POST /v1/table/{table_uuid}/rows/upsert","href":"/api-reference/endpoint/rows-upsert"},{"title":"Delete duplicate rows","openapi":"POST /v1/table/{table_uuid}/rows/dedupe","description":"Delete duplicate rows, keeping the oldest of each group. Omit columns to compare every main column.","href":"/api-reference/endpoint/rows-dedupe"},{"title":"Delete rows from table","openapi":"POST /v1/table/{table_uuid}/rows/delete","href":"/api-reference/endpoint/rows-delete"}]},{"group":"Enrichments","pages":[{"title":"Get enrichments in table","openapi":"GET /v1/table/{table_uuid}/enrichments","href":"/api-reference/endpoint/tables-get-enrichments"},{"title":"Add enrichment to table","openapi":"POST /v1/table/{table_uuid}/add-enrichment","href":"/api-reference/endpoint/tables-add-enrichment"},{"title":"Update an attached enrichment","openapi":"PATCH /v1/table/{table_uuid}/enrichments/{enrichment_id}","href":"/api-reference/endpoint/tables-update-enrichment"},{"title":"Run enrichment in table","openapi":"api-reference/openapi.json POST /v1/table/{table_uuid}/run-enrichment/{enrichment_id}","href":"/api-reference/endpoint/tables-run-enrichment"}]},{"group":"Waterfalls","pages":[{"title":"Get waterfalls in table","openapi":"GET /v1/table/{table_uuid}/waterfalls","href":"/api-reference/endpoint/tables-get-waterfalls"},{"title":"Add waterfall to table","openapi":"POST /v1/table/{table_uuid}/add-waterfall","href":"/api-reference/endpoint/tables-add-waterfall"}]},{"group":"Exporters","pages":[{"title":"Get exporters in table","openapi":"GET /v1/table/{table_uuid}/exporters","href":"/api-reference/endpoint/tables-get-exporters"},{"title":"Add exporter to table","openapi":"POST /v1/table/{table_uuid}/add-exporter","href":"/api-reference/endpoint/tables-add-exporter"}]}]},{"group":"Headless","icon":"bolt","pages":[{"group":"Enrichments","pages":[{"title":"Get available enrichments","openapi":"GET /v1/enrichments/","href":"/api-reference/endpoint/enrichments-list"},{"title":"Get a specific enrichment","openapi":"GET /v1/enrichments/{enrichment_id}","href":"/api-reference/endpoint/enrichments-get"},{"title":"Get choices for a parameter","openapi":"GET /v1/enrichments/{enrichment_id}/params/{param_slug}/choices","href":"/api-reference/endpoint/enrichments-param-choices"},{"title":"Run single enrichment","openapi":"POST /v1/enrichments/{enrichment_id}/run","href":"/api-reference/endpoint/enrichments-run"},{"title":"Run bulk enrichment","openapi":"POST /v1/enrichments/{enrichment_id}/bulk-run","href":"/api-reference/endpoint/enrichments-bulk-run"}]},{"group":"Waterfalls","pages":[{"title":"Get available waterfalls","openapi":"GET /v1/waterfalls/","href":"/api-reference/endpoint/waterfalls-list"},{"title":"Get a specific waterfall","openapi":"GET /v1/waterfalls/{waterfall_identifier}","href":"/api-reference/endpoint/waterfalls-get"},{"title":"Run a waterfall task","openapi":"POST /v1/waterfalls/{waterfall_identifier}/run","href":"/api-reference/endpoint/waterfalls-run"},{"title":"Run bulk waterfall","openapi":"POST /v1/waterfalls/{waterfall_identifier}/bulk-run","href":"/api-reference/endpoint/waterfalls-bulk-run"}]},{"group":"Flows","pages":[{"title":"List workspace flows","openapi":"GET /v1/flows/","href":"/api-reference/endpoint/flows-list"},{"title":"Get a workspace flow","openapi":"GET /v1/flows/{flow_id}","href":"/api-reference/endpoint/flows-get"},{"title":"Create a flow","openapi":"POST /v1/flows/","href":"/api-reference/endpoint/flows-create"},{"title":"Replace a flow","openapi":"PUT /v1/flows/{flow_id}","href":"/api-reference/endpoint/flows-replace"},{"title":"Update flow fields","openapi":"PATCH /v1/flows/{flow_id}","href":"/api-reference/endpoint/flows-update"},{"title":"Apply targeted edits to a flow config","openapi":"PATCH /v1/flows/{flow_id}/config","href":"/api-reference/endpoint/flows-patch-config"},{"title":"Validate a flow config","openapi":"POST /v1/flows/validate-config","href":"/api-reference/endpoint/flows-validate-config"},{"title":"Estimate flow run cost","openapi":"POST /v1/flows/cost-estimate","href":"/api-reference/endpoint/flows-cost-estimate"},{"title":"Delete a flow","openapi":"DELETE /v1/flows/{flow_id}","href":"/api-reference/endpoint/flows-delete"},{"title":"Run a flow","openapi":"POST /v1/flows/{flow_id}/run","href":"/api-reference/endpoint/flows-run"},{"title":"Run a flow in bulk","openapi":"POST /v1/flows/{flow_id}/bulk-run","href":"/api-reference/endpoint/flows-bulk-run"},{"title":"List a flow's edit history","openapi":"GET /v1/flows/{flow_id}/versions","href":"/api-reference/endpoint/flows-versions-list"},{"title":"Get one flow version","openapi":"GET /v1/flows/{flow_id}/versions/{number}","href":"/api-reference/endpoint/flows-versions-get"},{"title":"Roll a flow back to an earlier version","openapi":"POST /v1/flows/{flow_id}/versions/{number}/restore","href":"/api-reference/endpoint/flows-versions-restore"}]},{"group":"Tasks","pages":[{"title":"Get task data or status","openapi":"GET /v1/tasks/{task_id}","href":"/api-reference/endpoint/tasks-get-status"},{"title":"Cancel a task","openapi":"POST /v1/tasks/{task_id}/cancel","href":"/api-reference/endpoint/tasks-cancel"}]},{"group":"Exporters","pages":[{"title":"Get available exporters","openapi":"GET /v1/exporters/","href":"/api-reference/endpoint/exporters-list"},{"title":"Get a specific exporter","openapi":"GET /v1/exporters/{exporter_id}","href":"/api-reference/endpoint/exporters-get"}]}]},{"group":"User","icon":"user","pages":[{"title":"Get user info","openapi":"GET /v1/user/me","href":"/api-reference/endpoint/user-me"}]}]},{"tab":"MCP Server","icon":"https://mintlify.s3.us-west-1.amazonaws.com/databar/logo/mcp.svg","pages":[{"title":"MCP Server","href":"/mcp-server"}]}]},"basePath":"","title":"Upsert rows by key values - Databar Docs","buildId":"dpl_GZsjphRpnhWkstV12jxWNcMHFyox","deploymentId":"dpl_GZsjphRpnhWkstV12jxWNcMHFyox","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-B5zPa4Vr.js","utils-CVjrr8Yd.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DTgURWzl.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DxTHtkdZ.js","snippetPresets-Cx47o5Vx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-4Fr6y9N_.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-Dq2ElbEk.js","shallow-BfYl9r69.js","getApiPlaygroundDisplay-Ch3xc7i1.js","CodeSnippet-BsBxuJ1v.js","CodeSnippets-CetzeDL8.js","Page-CYZot51e.js","getPastedJson-BxPKFSJx.js","icon-o0J1Ochb.js","MethodPill-Du3usO5m.js","DuplicateIcon-DJypyMzl.js","createIcon-YMA6N8KJ.js","DynamicMarkdown-CWvhfcZc.js","SectionHeading-BdLVaXCd.js","axios-vUo_bRtp.js","Markdown-C4Ez6OeV.js","clsx-DptzKFCt.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-Dt1IougW.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CZ6Wt2Vb.js"]}