Stage JSON records with id and data; the upload supplies their document type. Record IDs are unique across all doc types in a datasource. Custom types are stored for Pascal-side processing and are not searchable. Invalid records return HTTP 400 with error.code = invalid_record and error.details.records listing the failures. JSON storage does not preserve key order, whitespace, duplicate keys, number spelling (for example 1e2 or 1.50), precision beyond float64, floats of 1e16 or more (read back as integers), or negative zero -0.0 (read back as 0.0). NaN, Infinity and strings containing the NUL character (JSON escape \u0000) are rejected.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Pascal Developer Docs","description":"Make content from your own systems available in Pascal with the Custom Source Upload API.","colors":{"primary":"#0F766E","light":"#14B8A6","dark":"#0D9488"},"logo":{"light":"https://mintcdn.com/pascal-c8f67bc7/m3UmI_z6tLP8TIFh/logo/light.png?fit=max\u0026auto=format\u0026n=m3UmI_z6tLP8TIFh\u0026q=85\u0026s=8c033623d2210290316aaa60bdb99510","dark":"https://mintcdn.com/pascal-c8f67bc7/m3UmI_z6tLP8TIFh/logo/dark.png?fit=max\u0026auto=format\u0026n=m3UmI_z6tLP8TIFh\u0026q=85\u0026s=84697834f5fc0d7d7c75876e3240b226","href":"https://teampascal.com"},"favicon":"https://mintcdn.com/pascal-c8f67bc7/eLCoRUsrHRnaWLzk/favicon.png?fit=max\u0026auto=format\u0026n=eLCoRUsrHRnaWLzk\u0026q=85\u0026s=f17109bfca13fe2232f525b310bb84f1","api":{"playground":{"display":"simple"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"pascal-c8f67bc7","hasAudioNarration":false,"actualSubdomain":"pascal-c8f67bc7","customDomains":["developers.teampascal.com"],"gitSource":{"type":"github","owner":"withpascal","repo":"pascal-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6ac6b11bcbfefd4022d3a6a5","clientVersion":"0.0.4124","searchFilterCounts":[{"language":"default","tag":"Custom Source API (Beta)","count":12},{"language":"default","tag":"Endpoints","count":6}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":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":"custom-rbac-roles","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":"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":"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":"editor-metadata","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},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/stage-records","slug":"/api-reference/stage-records","pageMetadata":{"title":"Stage a batch of records","openapi":"openapi.json PUT /uploads/{upload_id}/records","description":"Stage JSON records with id and data; the upload supplies their document type. Record IDs are unique across all doc types in a datasource. Custom types are stored for Pascal-side processing and are not searchable. Invalid records return HTTP 400 with error.code = invalid_record and error.details.records listing the failures. JSON storage does not preserve key order, whitespace, duplicate keys, number spelling (for example 1e2 or 1.50), precision beyond float64, floats of 1e16 or more (read back as integers), or negative zero -0.0 (read back as 0.0). NaN, Infinity and strings containing the NUL character (JSON escape \\u0000) are rejected.","href":"/api-reference/stage-records"},"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: \"Stage JSON records with id and data; the upload supplies their document type. Record IDs are unique across all doc types in a datasource. Custom types are stored for Pascal-side processing and are not searchable. Invalid records return HTTP 400 with error.code = invalid_record and error.details.records listing the failures. JSON storage does not preserve key order, whitespace, duplicate keys, number spelling (for example 1e2 or 1.50), precision beyond float64, floats of 1e16 or more (read back as integers), or negative zero -0.0 (read back as 0.0). NaN, Infinity and strings containing the NUL character (JSON escape \\\\u0000) are rejected.\"\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":"Stage a batch of records","openapi":"openapi.json PUT /uploads/{upload_id}/records","description":"Stage JSON records with id and data; the upload supplies their document type. Record IDs are unique across all doc types in a datasource. Custom types are stored for Pascal-side processing and are not searchable. Invalid records return HTTP 400 with error.code = invalid_record and error.details.records listing the failures. JSON storage does not preserve key order, whitespace, duplicate keys, number spelling (for example 1e2 or 1.50), precision beyond float64, floats of 1e16 or more (read back as integers), or negative zero -0.0 (read back as 0.0). NaN, Infinity and strings containing the NUL character (JSON escape \\u0000) are rejected.","href":"/api-reference/stage-records"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"Stage JSON records with id and data; the upload supplies their document type. Record IDs are unique across all doc types in a datasource. Custom types are stored for Pascal-side processing and are not searchable. Invalid records return HTTP 400 with error.code = invalid_record and error.details.records listing the failures. JSON storage does not preserve key order, whitespace, duplicate keys, number spelling (for example 1e2 or 1.50), precision beyond float64, floats of 1e16 or more (read back as integers), or negative zero -0.0 (read back as 0.0). NaN, Infinity and strings containing the NUL character (JSON escape \\u0000) are rejected.","operationId":"put_records_uploads__upload_id__records_put","parameters":["6770ec1d-7feb-4036-b397-c3be5a6e96ef"],"requestBody":"ea2c9163-4512-4920-bddd-bf2d6aa818b9","responses":{"200":"9274c000-6425-4221-8257-7767ddd84485","400":"a1bf468f-39ee-4a8c-b04d-e193ca8c0648","401":"26a2efb6-0a5d-405c-9099-7e8e529a9d50","403":"d8ab6c4c-5b3c-4bc4-b1cf-dd2c649fd041","404":"003ebcb0-086d-4a41-a809-169574b8174e","409":"ab703b11-06fd-4dc0-832c-fe9c35aa8358","410":"0355787d-6fe9-469e-b1d0-f9debdcc0c38","413":"2d890d32-f436-4efb-86db-8029847f0e2f","503":"dd75d694-ace3-4d4f-a4a9-4539a689d37c"},"security":["08f70a73-a9dc-46f5-a6ef-dedcf48ed1c8"],"summary":"Stage a batch of records","tags":["Uploads"],"method":"put","type":"path","servers":["65a5939c-337c-422c-a53c-de3d71eb5e05"],"path":"/uploads/{upload_id}/records","baseUrlOptions":["https://app.teampascal.com/api/v1/custom-source"],"title":"Stage a batch of records","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"6770ec1d-7feb-4036-b397-c3be5a6e96ef":{"in":"path","name":"upload_id","required":true,"schema":{"title":"Upload Id","type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string"}}},"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"records":{"items":{"additionalProperties":false,"properties":{"data":{"additionalProperties":{"oneOf":[{}],"uniqueKey":"records.items.[INDEX].data.additionalProperties","typeLabel":"any"},"title":"Data","type":"object","isRequired":true,"uniqueKey":"records.items.[INDEX].data","typeLabel":"Data · object"},"id":{"title":"Id","type":"string","isRequired":true,"uniqueKey":"records.items.[INDEX].id","typeLabel":"string"}},"required":["id","data"],"title":"IncomingRecord","type":"object","uniqueKey":"records.items.[INDEX]","typeLabel":"IncomingRecord · object"},"title":"Records","type":"array","isRequired":true,"uniqueKey":"records","typeLabel":"IncomingRecord · object[]"}},"required":["records"],"title":"PutRecordsRequest","type":"object","uniqueKey":"","typeLabel":"PutRecordsRequest · object"},"examples":{"Example":{"title":"Example","value":{"records":[{"data":{},"id":"\u003cstring>"}]}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"9274c000-6425-4221-8257-7767ddd84485":{"content":{"application/json":{"schema":{"properties":{"accepted":{"title":"Accepted","type":"integer","isRequired":true,"uniqueKey":"accepted","typeLabel":"integer"},"record_count":{"title":"Record Count","type":"integer","isRequired":true,"uniqueKey":"record_count","typeLabel":"integer"},"upload_id":{"title":"Upload Id","type":"string","isRequired":true,"uniqueKey":"upload_id","typeLabel":"string"}},"required":["accepted","upload_id","record_count"],"title":"PutRecordsResponse","type":"object","uniqueKey":"","typeLabel":"PutRecordsResponse · object"},"examples":{"Example":{"title":"Example","value":{"accepted":123,"record_count":123,"upload_id":"\u003cstring>"}}},"exampleType":"generated"}},"description":"Successful Response","exampleType":"generated"},"a1bf468f-39ee-4a8c-b04d-e193ca8c0648":{"content":{"application/json":{"schema":{"properties":{"error":{"properties":{"code":{"title":"Code","type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"title":"Message","type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"oneOf":[{}],"uniqueKey":"error.details","typeLabel":"any"}},"required":["code","message"],"title":"ErrorBody","type":"object","isRequired":true,"uniqueKey":"error","typeLabel":"ErrorBody · object"}},"required":["error"],"title":"ErrorEnvelope","type":"object","uniqueKey":"","typeLabel":"ErrorEnvelope · object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":"\u003cunknown>"}}}},"exampleType":"generated"}},"description":"Bad Request","exampleType":"generated"},"26a2efb6-0a5d-405c-9099-7e8e529a9d50":{"content":{"application/json":{"schema":{"properties":{"error":{"properties":{"code":{"title":"Code","type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"title":"Message","type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"oneOf":[{}],"uniqueKey":"error.details","typeLabel":"any"}},"required":["code","message"],"title":"ErrorBody","type":"object","isRequired":true,"uniqueKey":"error","typeLabel":"ErrorBody · object"}},"required":["error"],"title":"ErrorEnvelope","type":"object","uniqueKey":"","typeLabel":"ErrorEnvelope · object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":"\u003cunknown>"}}}},"exampleType":"generated"}},"description":"Unauthorized","exampleType":"generated"},"d8ab6c4c-5b3c-4bc4-b1cf-dd2c649fd041":{"content":{"application/json":{"schema":{"properties":{"error":{"properties":{"code":{"title":"Code","type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"title":"Message","type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"oneOf":[{}],"uniqueKey":"error.details","typeLabel":"any"}},"required":["code","message"],"title":"ErrorBody","type":"object","isRequired":true,"uniqueKey":"error","typeLabel":"ErrorBody · object"}},"required":["error"],"title":"ErrorEnvelope","type":"object","uniqueKey":"","typeLabel":"ErrorEnvelope · object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":"\u003cunknown>"}}}},"exampleType":"generated"}},"description":"Forbidden","exampleType":"generated"},"003ebcb0-086d-4a41-a809-169574b8174e":{"content":{"application/json":{"schema":{"properties":{"error":{"properties":{"code":{"title":"Code","type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"title":"Message","type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"oneOf":[{}],"uniqueKey":"error.details","typeLabel":"any"}},"required":["code","message"],"title":"ErrorBody","type":"object","isRequired":true,"uniqueKey":"error","typeLabel":"ErrorBody · object"}},"required":["error"],"title":"ErrorEnvelope","type":"object","uniqueKey":"","typeLabel":"ErrorEnvelope · object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":"\u003cunknown>"}}}},"exampleType":"generated"}},"description":"Not Found","exampleType":"generated"},"ab703b11-06fd-4dc0-832c-fe9c35aa8358":{"content":{"application/json":{"schema":{"properties":{"error":{"properties":{"code":{"title":"Code","type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"title":"Message","type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"oneOf":[{}],"uniqueKey":"error.details","typeLabel":"any"}},"required":["code","message"],"title":"ErrorBody","type":"object","isRequired":true,"uniqueKey":"error","typeLabel":"ErrorBody · object"}},"required":["error"],"title":"ErrorEnvelope","type":"object","uniqueKey":"","typeLabel":"ErrorEnvelope · object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":"\u003cunknown>"}}}},"exampleType":"generated"}},"description":"Conflict","exampleType":"generated"},"0355787d-6fe9-469e-b1d0-f9debdcc0c38":{"content":{"application/json":{"schema":{"properties":{"error":{"properties":{"code":{"title":"Code","type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"title":"Message","type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"oneOf":[{}],"uniqueKey":"error.details","typeLabel":"any"}},"required":["code","message"],"title":"ErrorBody","type":"object","isRequired":true,"uniqueKey":"error","typeLabel":"ErrorBody · object"}},"required":["error"],"title":"ErrorEnvelope","type":"object","uniqueKey":"","typeLabel":"ErrorEnvelope · object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":"\u003cunknown>"}}}},"exampleType":"generated"}},"description":"Gone","exampleType":"generated"},"2d890d32-f436-4efb-86db-8029847f0e2f":{"content":{"application/json":{"schema":{"properties":{"error":{"properties":{"code":{"title":"Code","type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"title":"Message","type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"oneOf":[{}],"uniqueKey":"error.details","typeLabel":"any"}},"required":["code","message"],"title":"ErrorBody","type":"object","isRequired":true,"uniqueKey":"error","typeLabel":"ErrorBody · object"}},"required":["error"],"title":"ErrorEnvelope","type":"object","uniqueKey":"","typeLabel":"ErrorEnvelope · object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":"\u003cunknown>"}}}},"exampleType":"generated"}},"description":"Content Too Large","exampleType":"generated"},"dd75d694-ace3-4d4f-a4a9-4539a689d37c":{"content":{"application/json":{"schema":{"properties":{"error":{"properties":{"code":{"title":"Code","type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"title":"Message","type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"oneOf":[{}],"uniqueKey":"error.details","typeLabel":"any"}},"required":["code","message"],"title":"ErrorBody","type":"object","isRequired":true,"uniqueKey":"error","typeLabel":"ErrorBody · object"}},"required":["error"],"title":"ErrorEnvelope","type":"object","uniqueKey":"","typeLabel":"ErrorEnvelope · object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":"\u003cunknown>"}}}},"exampleType":"generated"}},"description":"Service Unavailable","exampleType":"generated"}},"security":{"08f70a73-a9dc-46f5-a6ef-dedcf48ed1c8":{"bearer":{"scheme":"bearer","type":"http","scopes":[]}}},"servers":{"65a5939c-337c-422c-a53c-de3d71eb5e05":{"url":"https://app.teampascal.com/api/v1/custom-source"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"scheme":"bearer","type":"http","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearer","name":"Authorization"}],"title":"bearer"}]},"originalFileLocation":"openapi.json"},"subdomain":"pascal-c8f67bc7","siteName":"Pascal Developer Docs","title":"Stage a batch of records - Pascal Developer Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-16T19:42:36.954Z","originalFileLocation":"api-reference/stage-records.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=\"Stage JSON records with id and data; the upload supplies their document type. Record IDs are unique across all doc types in a datasource. Custom types are stored for Pascal-side processing and are not searchable. Invalid records return HTTP 400 with error.code = invalid_record and error.details.records listing the failures. JSON storage does not preserve key order, whitespace, duplicate keys, number spelling (for example 1e2 or 1.50), precision beyond float64, floats of 1e16 or more (read back as integers), or negative zero -0.0 (read back as 0.0). NaN, Infinity and strings containing the NUL character (JSON escape \\u0000) are rejected.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Pascal Developer 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/pascal-c8f67bc7/k_sIbta8lOYdhq-q/_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/pascal-c8f67bc7/k_sIbta8lOYdhq-q/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/pascal-c8f67bc7/k_sIbta8lOYdhq-q/_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/pascal-c8f67bc7/k_sIbta8lOYdhq-q/_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/pascal-c8f67bc7/k_sIbta8lOYdhq-q/_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/pascal-c8f67bc7/k_sIbta8lOYdhq-q/_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/pascal-c8f67bc7/k_sIbta8lOYdhq-q/_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/pascal-c8f67bc7/k_sIbta8lOYdhq-q/_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/pascal-c8f67bc7/k_sIbta8lOYdhq-q/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Stage a batch of records - Pascal Developer Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Stage JSON records with id and data; the upload supplies their document type. Record IDs are unique across all doc types in a datasource. Custom types are stored for Pascal-side processing and are not searchable. Invalid records return HTTP 400 with error.code = invalid_record and error.details.records listing the failures. JSON storage does not preserve key order, whitespace, duplicate keys, number spelling (for example 1e2 or 1.50), precision beyond float64, floats of 1e16 or more (read back as integers), or negative zero -0.0 (read back as 0.0). NaN, Infinity and strings containing the NUL character (JSON escape \\u0000) are rejected.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Pascal Developer Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developers.teampascal.com/api-reference/stage-records\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://pascal-c8f67bc7.mintlify.site/_mintlify/api/og/v2?division=Endpoints\u0026amp;title=Stage+a+batch+of+records\u0026amp;description=Stage+JSON+records+with+id+and+data%3B+the+upload+supplies+their+document+type.+Record+IDs+are+unique+across+all+doc+types+in+a+datasource.+Custom+types+are+store\u0026amp;theme=f5732a110de5e995255b1119\u0026amp;signature=e1588d73a188bcd149babb63453981dadf56985d840d0b9bdbece499cb73f87d\">\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=\"Stage a batch of records - Pascal Developer Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Stage JSON records with id and data; the upload supplies their document type. Record IDs are unique across all doc types in a datasource. Custom types are stored for Pascal-side processing and are not searchable. Invalid records return HTTP 400 with error.code = invalid_record and error.details.records listing the failures. JSON storage does not preserve key order, whitespace, duplicate keys, number spelling (for example 1e2 or 1.50), precision beyond float64, floats of 1e16 or more (read back as integers), or negative zero -0.0 (read back as 0.0). NaN, Infinity and strings containing the NUL character (JSON escape \\u0000) are rejected.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://pascal-c8f67bc7.mintlify.site/_mintlify/api/og/v2?division=Endpoints\u0026amp;title=Stage+a+batch+of+records\u0026amp;description=Stage+JSON+records+with+id+and+data%3B+the+upload+supplies+their+document+type.+Record+IDs+are+unique+across+all+doc+types+in+a+datasource.+Custom+types+are+store\u0026amp;theme=f5732a110de5e995255b1119\u0026amp;signature=e1588d73a188bcd149babb63453981dadf56985d840d0b9bdbece499cb73f87d\">\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/pascal-c8f67bc7/k_sIbta8lOYdhq-q/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Pascal Developer Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0F766E\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developers.teampascal.com/api-reference/stage-records\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/stage-records.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developers.teampascal.com/#organization\",\"name\":\"Pascal Developer Docs\",\"url\":\"https://developers.teampascal.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/pascal-c8f67bc7/m3UmI_z6tLP8TIFh/logo/light.png?fit=max\u0026auto=format\u0026n=m3UmI_z6tLP8TIFh\u0026q=85\u0026s=8c033623d2210290316aaa60bdb99510\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developers.teampascal.com#website\",\"name\":\"Pascal Developer Docs\",\"url\":\"https://developers.teampascal.com\",\"publisher\":{\"@id\":\"https://developers.teampascal.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developers.teampascal.com/api-reference/stage-records#webpage\",\"url\":\"https://developers.teampascal.com/api-reference/stage-records\",\"name\":\"Stage a batch of records\",\"description\":\"Stage JSON records with id and data; the upload supplies their document type. Record IDs are unique across all doc types in a datasource. Custom types are stored for Pascal-side processing and are not searchable. Invalid records return HTTP 400 with error.code = invalid_record and error.details.records listing the failures. JSON storage does not preserve key order, whitespace, duplicate keys, number spelling (for example 1e2 or 1.50), precision beyond float64, floats of 1e16 or more (read back as integers), or negative zero -0.0 (read back as 0.0). NaN, Infinity and strings containing the NUL character (JSON escape \\\\u0000) are rejected.\",\"dateModified\":\"2026-09-16T19:42:36.954Z\",\"isPartOf\":{\"@id\":\"https://developers.teampascal.com#website\"},\"breadcrumb\":{\"@id\":\"https://developers.teampascal.com/api-reference/stage-records#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.teampascal.com/api-reference/stage-records#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Custom Source API (Beta)\",\"item\":\"https://developers.teampascal.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Endpoints\",\"item\":\"https://developers.teampascal.com/api-reference/exchange-token\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Stage a batch of records\",\"item\":\"https://developers.teampascal.com/api-reference/stage-records\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developers.teampascal.com/api-reference/stage-records#apireference\",\"headline\":\"Stage a batch of records\",\"name\":\"Stage a batch of records\",\"description\":\"Stage JSON records with id and data; the upload supplies their document type. Record IDs are unique across all doc types in a datasource. Custom types are stored for Pascal-side processing and are not searchable. Invalid records return HTTP 400 with error.code = invalid_record and error.details.records listing the failures. JSON storage does not preserve key order, whitespace, duplicate keys, number spelling (for example 1e2 or 1.50), precision beyond float64, floats of 1e16 or more (read back as integers), or negative zero -0.0 (read back as 0.0). NaN, Infinity and strings containing the NUL character (JSON escape \\\\u0000) are rejected.\",\"url\":\"https://developers.teampascal.com/api-reference/stage-records\",\"mainEntityOfPage\":{\"@id\":\"https://developers.teampascal.com/api-reference/stage-records#webpage\"},\"dateModified\":\"2026-09-16T19:42:36.954Z\",\"publisher\":{\"@id\":\"https://developers.teampascal.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developers.teampascal.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Pascal Developer Docs\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Pascal Developer Docs\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/stage-records.md","siteName":"Pascal Developer Docs","nav":{"global":null,"groups":[{"group":"Custom Source API (Beta)","pages":[{"title":"Integrate with Pascal","sidebarTitle":"Overview","href":"/index"},{"title":"Quickstart","href":"/quickstart"},{"title":"Authentication","href":"/authentication"},{"title":"Uploads","href":"/uploads"},{"title":"Errors and recovery","href":"/errors"},{"title":"Test the API","href":"/test-the-api"},{"group":"Endpoints","pages":[{"title":"Exchange a token","openapi":"openapi.json POST /token","href":"/api-reference/exchange-token"},{"title":"Open an upload","openapi":"openapi.json POST /uploads","description":"Open an upload scoped to one declared document type. Record IDs must be unique across the datasource. Full uploads delete missing records only within this type and move every submitted record ID to this type. Dry runs do not evaluate the deletion brake. An undeclared document type returns HTTP 400 with error.code = undeclared_doc_type and error.details containing doc_type and reason.","href":"/api-reference/open-upload"},{"title":"Stage a batch of records","openapi":"openapi.json PUT /uploads/{upload_id}/records","href":"/api-reference/stage-records"},{"title":"Close an upload","openapi":"openapi.json POST /uploads/{upload_id}/close","description":"Validate and process the staged upload. Dry runs do not evaluate the deletion brake. Read these results with GET /uploads/{upload_id}.","href":"/api-reference/close-upload"},{"title":"Get upload status","openapi":"openapi.json GET /uploads/{upload_id}","href":"/api-reference/get-upload"},{"title":"Get datasource status","openapi":"openapi.json GET /datasources/{name}","href":"/api-reference/get-datasource"}]}]}]},"basePath":"","title":"Stage a batch of records - Pascal Developer Docs","buildId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","deploymentId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CDiBsYGW.js","utils-KF9rPlmF.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C26urKTX.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BdjmJAC1.js","snippetPresets-3IpDBjt3.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-D4x_2vvo.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BIWdc5Pa.js","shallow-LQqfiMNd.js","getApiPlaygroundDisplay-DryzlOZG.js","CodeSnippet-tcJujU4r.js","CodeSnippets-BHp0nVLL.js","Page-1CZdsdAn.js","getPastedJson-DU-1ayUv.js","icon-CZK2hPr4.js","MethodPill-DOaqmTFC.js","DuplicateIcon-B5-nUxxl.js","createIcon-CDP_U77G.js","DynamicMarkdown-GHvayGOn.js","SectionHeading-BYvpkmUD.js","axios-vUo_bRtp.js","Markdown-uxhlayGT.js","clsx-B35qUV0p.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BvrGG8gU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CAf0yVYe.js"]}