Scope: scans:verify. For apps and plant systems that scan offline
and sync later. Each scan is checked as of the time it was made: clone checks compare it with
scans around then, and it appears in your scan history, alerts and reports at that time.
object[]
required
Up to 500 scans per request.
Show scan
string
required
The serial as read.
string
required
ISO 8601 with a time zone, at most 30 days ago, e.g. 2026-10-24T09:15:00+05:30.
One per scan, in order: serial with verdict, reason, scanId and batchId, or error
when the scan was not accepted (missing serial, or scannedAt missing, without a time zone or
older than 30 days). Send accepted scans again only if the request failed as a whole.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Satyakod","description":"Signed product codes and scan verification for brands.","colors":{"primary":"#4338CA","light":"#A5B4FC","dark":"#4338CA"},"logo":{"light":"https://mintcdn.com/anvionix-labs/Sa9Dyyphpzz0yQ1S/logo/light.svg?fit=max\u0026auto=format\u0026n=Sa9Dyyphpzz0yQ1S\u0026q=85\u0026s=adefbbe722bfb0d37f77564ea78e42b6","dark":"https://mintcdn.com/anvionix-labs/Sa9Dyyphpzz0yQ1S/logo/dark.svg?fit=max\u0026auto=format\u0026n=Sa9Dyyphpzz0yQ1S\u0026q=85\u0026s=f78e0cd7def34e22ec4a140f9ec9a683","href":"https://satyakod.com"},"favicon":"https://mintcdn.com/anvionix-labs/Sa9Dyyphpzz0yQ1S/favicon.svg?fit=max\u0026auto=format\u0026n=Sa9Dyyphpzz0yQ1S\u0026q=85\u0026s=6cbb1562c0910fc9d813c747a8a3878e","navbar":{"links":[{"href":"mailto:support@satyakod.com","label":"Support"}],"primary":{"type":"button","label":"Sign in","href":"https://app.satyakod.com"}},"footer":{"links":[{"header":"Satyakod","items":[{"label":"Dashboard","href":"https://app.satyakod.com"},{"label":"Contact support","href":"mailto:support@satyakod.com"}]}]},"icons":{"library":"lucide"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"anvionix-labs","hasAudioNarration":false,"actualSubdomain":"anvionix-labs","customDomains":[],"gitSource":{"type":"github","owner":"anvionixlabs","repo":"satyakod-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":"","_id":"6adf89354c5af91a41bf90c3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6af74fca50c7eef05a6b2e21","clientVersion":"0.0.4128","searchFilterCounts":[{"language":"default","tag":"Guides","count":24},{"language":"default","tag":"Integrations","count":8},{"language":"default","tag":"Workspace","count":7},{"language":"default","tag":"API reference","count":4},{"language":"default","tag":"Concepts","count":4},{"language":"default","tag":"Scans and alerts","count":4},{"language":"default","tag":"Consumers","count":4},{"language":"default","tag":"Systems","count":4},{"language":"default","tag":"Scans","count":3},{"language":"default","tag":"Codes","count":3}]},"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/verify-offline","slug":"/api-reference/verify-offline","pageMetadata":{"title":"Upload offline scans","api":"POST https://api.satyakod.com/v1/verify/offline","description":"Send scans made without internet; each is checked as of when it was made and recorded.","href":"/api-reference/verify-offline"},"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: \"Send scans made without internet; each is checked as of when it was made and recorded.\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,..._provideComponents(),...props.components},{Expandable,ParamField,ResponseField}=_components;if(!Expandable)_missingMdxReference(`Expandable`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Scope: `,_jsx(_components.code,{children:`scans:verify`}),`. For apps and plant systems that scan `,_jsx(_components.a,{href:`/concepts/verification-modes`,children:`offline`}),`\nand sync later. Each scan is checked as of the time it was made: clone checks compare it with\nscans around then, and it appears in your scan history, alerts and reports at that time.`]}),`\n`,_jsxs(ParamField,{body:`scans`,type:`object[]`,required:true,id:`param-scans`,children:[_jsx(_components.p,{children:`Up to 500 scans per request.`}),_jsxs(Expandable,{title:`scan`,children:[_jsx(ParamField,{body:`serial`,type:`string`,required:true,id:`param-serial`,children:`The serial as read.`}),_jsxs(ParamField,{body:`scannedAt`,type:`string`,required:true,id:`param-scanned-at`,children:[`ISO 8601 with a time zone, at most 30 days ago, e.g. `,_jsx(_components.code,{children:`2026-10-24T09:15:00+05:30`}),`.`]}),_jsxs(ParamField,{body:`channel`,type:`string`,default:`sdk`,id:`param-channel`,children:[`As for `,_jsx(_components.a,{href:`/api-reference/verify`,children:`Verify a serial`}),`.`]}),_jsx(ParamField,{body:`location`,type:`object`,id:`param-location`,children:`As for Verify a serial.`}),_jsx(ParamField,{body:`device`,type:`object`,id:`param-device`,children:`As for Verify a serial.`})]})]}),`\n`,_jsx(ResponseField,{name:`recorded`,type:`number`,required:true,id:`param-recorded`,children:_jsx(_components.p,{children:`How many scans were checked and recorded.`})}),`\n`,_jsx(ResponseField,{name:`results`,type:`object[]`,required:true,id:`param-results`,children:_jsxs(_components.p,{children:[`One per scan, in order: `,_jsx(_components.code,{children:`serial`}),` with `,_jsx(_components.code,{children:`verdict`}),`, `,_jsx(_components.code,{children:`reason`}),`, `,_jsx(_components.code,{children:`scanId`}),` and `,_jsx(_components.code,{children:`batchId`}),`, or `,_jsx(_components.code,{children:`error`}),`\nwhen the scan was not accepted (missing serial, or `,_jsx(_components.code,{children:`scannedAt`}),` missing, without a time zone or\nolder than 30 days). Send accepted scans again only if the request failed as a whole.`]})})]})}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":"Upload offline scans","api":"POST https://api.satyakod.com/v1/verify/offline","description":"Send scans made without internet; each is checked as of when it was made and recorded.","href":"/api-reference/verify-offline"}}},"mdxSourceWithNoJs":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,..._provideComponents(),...props.components},{CodeBlock,Expandable,ParamField,RequestExample,ResponseExample,ResponseField}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!RequestExample)_missingMdxReference(`RequestExample`,true);if(!ResponseExample)_missingMdxReference(`ResponseExample`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Scope: `,_jsx(_components.code,{children:`scans:verify`}),`. For apps and plant systems that scan `,_jsx(_components.a,{href:`/concepts/verification-modes`,children:`offline`}),`\nand sync later. Each scan is checked as of the time it was made: clone checks compare it with\nscans around then, and it appears in your scan history, alerts and reports at that time.`]}),`\n`,_jsxs(ParamField,{body:`scans`,type:`object[]`,required:true,id:`param-scans`,children:[_jsx(_components.p,{children:`Up to 500 scans per request.`}),_jsxs(Expandable,{title:`scan`,children:[_jsx(ParamField,{body:`serial`,type:`string`,required:true,id:`param-serial`,children:`The serial as read.`}),_jsxs(ParamField,{body:`scannedAt`,type:`string`,required:true,id:`param-scanned-at`,children:[`ISO 8601 with a time zone, at most 30 days ago, e.g. `,_jsx(_components.code,{children:`2026-10-24T09:15:00+05:30`}),`.`]}),_jsxs(ParamField,{body:`channel`,type:`string`,default:`sdk`,id:`param-channel`,children:[`As for `,_jsx(_components.a,{href:`/api-reference/verify`,children:`Verify a serial`}),`.`]}),_jsx(ParamField,{body:`location`,type:`object`,id:`param-location`,children:`As for Verify a serial.`}),_jsx(ParamField,{body:`device`,type:`object`,id:`param-device`,children:`As for Verify a serial.`})]})]}),`\n`,_jsx(ResponseField,{name:`recorded`,type:`number`,required:true,id:`param-recorded`,children:_jsx(_components.p,{children:`How many scans were checked and recorded.`})}),`\n`,_jsx(ResponseField,{name:`results`,type:`object[]`,required:true,id:`param-results`,children:_jsxs(_components.p,{children:[`One per scan, in order: `,_jsx(_components.code,{children:`serial`}),` with `,_jsx(_components.code,{children:`verdict`}),`, `,_jsx(_components.code,{children:`reason`}),`, `,_jsx(_components.code,{children:`scanId`}),` and `,_jsx(_components.code,{children:`batchId`}),`, or `,_jsx(_components.code,{children:`error`}),`\nwhen the scan was not accepted (missing serial, or `,_jsx(_components.code,{children:`scannedAt`}),` missing, without a time zone or\nolder than 30 days). Send accepted scans again only if the request failed as a whole.`]})}),`\n`,_jsx(RequestExample,{children:_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`7`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.satyakod.com/v1/verify/offline`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$SATYAKOD_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{\"scans\": [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` {\"serial\": \"0021A0512PXK20J9\", \"scannedAt\": \"2026-10-24T09:15:00+05:30\", \"channel\": \"rugged_handheld\"},`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` {\"serial\": \"0021A0512PXK20J0\", \"scannedAt\": \"2026-10-24T09:15:04+05:30\"}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ]}'`})}),`\n`]})})})}),`\n`,_jsx(ResponseExample,{children:_jsx(CodeBlock,{filename:`200`,numberOfLines:`7`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`7`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"recorded\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"results\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"serial\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0021A0512PXK20J9\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"verdict\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"genuine\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"reason\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"All checks passed\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"scanId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"scn_…\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"batchId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"B-1045\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"serial\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0021A0512PXK20J0\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"verdict\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"counterfeit\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"reason\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Forged code: signature invalid\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"scanId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"scn_…\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})})]})}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":"Upload offline scans","api":"POST https://api.satyakod.com/v1/verify/offline","description":"Send scans made without internet; each is checked as of when it was made and recorded.","href":"/api-reference/verify-offline"}}}},"mdxExtracts":{"tableOfContents":[],"codeExamples":{"request":{"type":"RequestExample","children":[{"filename":"cURL","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"shellscript\">\u003ccode language=\"shellscript\" numberOfLines=\"7\">\u003cspan class=\"line\">\u003cspan style=\"color:#953800;--shiki-dark:#DCDCAA\">curl\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> https://api.satyakod.com/v1/verify/offline\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -H\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"Authorization: Bearer \u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\">$SATYAKOD_KEY\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -H\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"Content-Type: application/json\"\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -d\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> '{\"scans\": [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> {\"serial\": \"0021A0512PXK20J9\", \"scannedAt\": \"2026-10-24T09:15:00+05:30\", \"channel\": \"rugged_handheld\"},\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> {\"serial\": \"0021A0512PXK20J0\", \"scannedAt\": \"2026-10-24T09:15:04+05:30\"}\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> ]}'\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]},"response":{"type":"ResponseExample","children":[{"filename":"200","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"7\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"recorded\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">2\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"results\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> { \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"serial\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"0021A0512PXK20J9\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"verdict\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"genuine\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"reason\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"All checks passed\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"scanId\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"scn_…\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"batchId\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"B-1045\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> { \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"serial\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"0021A0512PXK20J0\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"verdict\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"counterfeit\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"reason\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Forged code: signature invalid\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"scanId\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"scn_…\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> ]\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]}},"endpoint":{"title":"Upload offline scans","path":"/v1/verify/offline","servers":[{"url":"https://api.satyakod.com"}],"method":"post","request":{"security":[],"parameters":{"query":{},"header":{},"cookie":{},"path":{}},"body":{"application/json":{"schemaArray":[{"type":"object","properties":{"scans":[{"type":"array","items":[{"type":"object","properties":{"serial":[{"type":"string","description":"The serial as read.","required":true}],"scannedAt":[{"type":"string","description":"ISO 8601 with a time zone, at most 30 days ago, e.g. `2026-10-24T09:15:00+05:30` .","required":true}],"channel":[{"type":"string","description":"As for Verify a serial ."}],"location":[{"type":"object","properties":{},"description":"As for Verify a serial."}],"device":[{"type":"object","properties":{},"description":"As for Verify a serial."}]}}],"description":"Up to 500 scans per request.","required":true}]}}],"examples":{"example":{"value":{"scans":[{"serial":"\u003cstring>","scannedAt":"\u003cstring>","channel":"\u003cstring>","location":{},"device":{}}]}}}}}},"response":{"200":{"application/json":{"schemaArray":[{"type":"object","properties":{"recorded":[{"type":"number","description":"How many scans were checked and recorded.","required":true}],"results":[{"type":"array","items":[{"type":"object","properties":{}}],"description":"One per scan, in order: `serial` with `verdict` , `reason` , `scanId` and `batchId` , or `error` when the scan was not accepted (missing serial, or `scannedAt` missing, without a time zone or older than 30 days). Send accepted scans again only if the request failed as a whole.","required":true}]}}],"examples":{"example":{"value":{"recorded":123,"results":[{}]}}}}}},"deprecated":false}},"jsLinks":[],"subdomain":"anvionix-labs","siteName":"Satyakod","title":"Upload offline scans - Satyakod","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-13T17:58:37.901Z","originalFileLocation":"api-reference/verify-offline.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=\"Send scans made without internet; each is checked as of when it was made and recorded.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Satyakod\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/anvionix-labs/z90Lg8DCEYBbF2eD/_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/anvionix-labs/z90Lg8DCEYBbF2eD/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/anvionix-labs/z90Lg8DCEYBbF2eD/_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/anvionix-labs/z90Lg8DCEYBbF2eD/_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/anvionix-labs/z90Lg8DCEYBbF2eD/_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/anvionix-labs/z90Lg8DCEYBbF2eD/_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/anvionix-labs/z90Lg8DCEYBbF2eD/_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/anvionix-labs/z90Lg8DCEYBbF2eD/_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/anvionix-labs/z90Lg8DCEYBbF2eD/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Upload offline scans - Satyakod\">\u003cmeta data-mint-head property=\"og:description\" content=\"Send scans made without internet; each is checked as of when it was made and recorded.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Satyakod\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://anvionix-labs.mintlify.app/api-reference/verify-offline\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://anvionix-labs.mintlify.site/_mintlify/api/og/v2?division=Scans\u0026amp;title=Upload+offline+scans\u0026amp;description=Send+scans+made+without+internet%3B+each+is+checked+as+of+when+it+was+made+and+recorded.\u0026amp;theme=f20b265cf12bdc69a51386eb\u0026amp;signature=ec18d66ea2cce01f910ac208fca089771ae049512881639a6dcf589325c01883\">\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=\"Upload offline scans - Satyakod\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Send scans made without internet; each is checked as of when it was made and recorded.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://anvionix-labs.mintlify.site/_mintlify/api/og/v2?division=Scans\u0026amp;title=Upload+offline+scans\u0026amp;description=Send+scans+made+without+internet%3B+each+is+checked+as+of+when+it+was+made+and+recorded.\u0026amp;theme=f20b265cf12bdc69a51386eb\u0026amp;signature=ec18d66ea2cce01f910ac208fca089771ae049512881639a6dcf589325c01883\">\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/anvionix-labs/z90Lg8DCEYBbF2eD/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Satyakod\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4338CA\">\u003clink data-mint-head rel=\"canonical\" href=\"https://anvionix-labs.mintlify.app/api-reference/verify-offline\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/verify-offline.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://anvionix-labs.mintlify.app/#organization\",\"name\":\"Satyakod\",\"url\":\"https://anvionix-labs.mintlify.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/anvionix-labs/Sa9Dyyphpzz0yQ1S/logo/light.svg?fit=max\u0026auto=format\u0026n=Sa9Dyyphpzz0yQ1S\u0026q=85\u0026s=adefbbe722bfb0d37f77564ea78e42b6\"}},{\"@type\":\"WebSite\",\"@id\":\"https://anvionix-labs.mintlify.app#website\",\"name\":\"Satyakod\",\"url\":\"https://anvionix-labs.mintlify.app\",\"publisher\":{\"@id\":\"https://anvionix-labs.mintlify.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://anvionix-labs.mintlify.app/api-reference/verify-offline#webpage\",\"url\":\"https://anvionix-labs.mintlify.app/api-reference/verify-offline\",\"name\":\"Upload offline scans\",\"description\":\"Send scans made without internet; each is checked as of when it was made and recorded.\",\"dateModified\":\"2026-11-13T17:58:37.901Z\",\"isPartOf\":{\"@id\":\"https://anvionix-labs.mintlify.app#website\"},\"breadcrumb\":{\"@id\":\"https://anvionix-labs.mintlify.app/api-reference/verify-offline#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://anvionix-labs.mintlify.app/api-reference/verify-offline#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Scans\",\"item\":\"https://anvionix-labs.mintlify.app/api-reference/verify\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Upload offline scans\",\"item\":\"https://anvionix-labs.mintlify.app/api-reference/verify-offline\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://anvionix-labs.mintlify.app/api-reference/verify-offline#apireference\",\"headline\":\"Upload offline scans\",\"name\":\"Upload offline scans\",\"description\":\"Send scans made without internet; each is checked as of when it was made and recorded.\",\"url\":\"https://anvionix-labs.mintlify.app/api-reference/verify-offline\",\"mainEntityOfPage\":{\"@id\":\"https://anvionix-labs.mintlify.app/api-reference/verify-offline#webpage\"},\"dateModified\":\"2026-11-13T17:58:37.901Z\",\"publisher\":{\"@id\":\"https://anvionix-labs.mintlify.app/#organization\"},\"isPartOf\":{\"@id\":\"https://anvionix-labs.mintlify.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Satyakod\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Satyakod\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/verify-offline.md","siteName":"Satyakod","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/integrations/factory-scanners"}]},{"tab":"API reference","groups":[{"group":"API","pages":[{"title":"API introduction","href":"/api-reference/introduction"}]},{"group":"Scans","pages":[{"title":"Verify a serial","api":"POST https://api.satyakod.com/v1/verify","href":"/api-reference/verify"},{"title":"Read a camera frame","api":"POST https://api.satyakod.com/v1/scan-frame","description":"Send a camera image; Satyakod finds and reads a Private Code in it and returns the verdict.","href":"/api-reference/scan-frame"},{"title":"Upload offline scans","api":"POST https://api.satyakod.com/v1/verify/offline","href":"/api-reference/verify-offline"}]}]}]},"basePath":"","title":"Upload offline scans - Satyakod","buildId":"dpl_5tKr6cUUeuVJdEZ9JAEY3h4soMJ8","deploymentId":"dpl_5tKr6cUUeuVJdEZ9JAEY3h4soMJ8","dynamics":["c2aa737661","2b790eda92","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-DbeN8Wo6.js","utils-CwSb5Doc.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BmREeM3N.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-AYjWerCj.js","snippetPresets-QD4ULQlp.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-Digj5cjF.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CiHrzluR.js","shallow-D7h7pFGg.js","getApiPlaygroundDisplay-mlxkpAUf.js","CodeSnippet-D2rH5lZI.js","CodeSnippets-B53ulOaL.js","Page-CqcDm2To.js","getPastedJson-DxGeNMih.js","icon-BHbyrebp.js","MethodPill-C7F_KEEJ.js","DuplicateIcon-j3c5-73z.js","createIcon-OvCnyFqD.js","DynamicMarkdown-DpAS3GCb.js","SectionHeading-DMPpdrvW.js","axios-vUo_bRtp.js"]}