Send operations captured without connectivity, up to 500 per call, each checked on its own.
POST /v1/sync/batch
Sends events that were captured while the device had no connectivity. wede checks each event on its own: a problem with one event never rejects the others. Accepted events follow exactly the same delivery path as events sent with POST /v1/events.
The wede SDKs capture events with the right checksum and send them for you. See SDKs. Without an SDK, compute the checksum as described below.
1 to 128 characters. Identifies the operation. Use the same key you would use online, so an operation that already reached wede is recognised as a duplicate.
Optional. low, normal, high or critical. Without it, the type’s default priority in your catalog applies (normal when the type has none). When your catalog marks the type’s priority as fixed, that priority always applies. Same rule as online: see Who decides the priority.
Optional zone_id (the code of one of your zones), location (lat, lng) and device_id (the app installation that made the request, which receives the notices about it), as in POST /v1/events. Not part of the checksum.
Optional, outside the checksum: { "phone": "+351912345678", "shared": true }, the number the person chose to share in your app, with the same rules as in POST /v1/events. Kept only when your organisation turned on sms_requester_status, and removed when the request is completed or closed.
wede recomputes the checksum from the JSON it receives, with JSON.stringify semantics: no spaces, keys in the order you sent them. Any difference in serialisation (key order, spacing, number formatting, escaping) produces a different hash and the event is rejected with integrity_check_failed. This is why the SDKs are the safest way to capture events.
Stored and sent for delivery. Remove it from your queue
duplicate
wede already had this operation, online or from an earlier batch. It is never stored twice. Remove it from your queue
rejected
Not stored. Fix the cause shown in error_code
error_code
Meaning
integrity_check_failed
The checksum does not match the event. The event was changed after capture or serialised differently
unknown_vertical
vertical is not registered or not active
unknown_event_type
type is neither an active type of your catalog for this vertical nor an active category
persistence_error
The event could not be stored. Send it again in a later batch
Every integrity_check_failed is recorded as a security incident and your tenant administrators are alerted. Only that event is rejected: the rest of the batch, the device and the session are unaffected.
For each accepted event, wede emits event.created with "origin": "sync" and delivers the event exactly as it delivers online events: once delivered, the event is completed and its stored payload is cleared (kept until the event is closed when its type sends a team). When the batch is processed, wede emits sync.completed with the summary. See Webhook events.
The body is not valid JSON, events is empty or has more than 500 items, or an event is missing a field or has an invalid one. details lists each problem. Nothing is stored
401
unauthorized
Credential missing, malformed, revoked or expired
403
forbidden
The credential lacks sync:write
503
service_unavailable
The API key could not be validated right now. Retry the batch
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"wede technology","colors":{"primary":"#F9500A","light":"#FF6B35","dark":"#C73D00"},"logo":{"light":"https://mintcdn.com/wedetech/7BuacVCTok17wF0p/logo/logo_wede_tech_black_wide.png?fit=max\u0026auto=format\u0026n=7BuacVCTok17wF0p\u0026q=85\u0026s=f75c7233891c29550490a254909d9e59","dark":"https://mintcdn.com/wedetech/7BuacVCTok17wF0p/logo/logo_wede_tech_black_wide.png?fit=max\u0026auto=format\u0026n=7BuacVCTok17wF0p\u0026q=85\u0026s=f75c7233891c29550490a254909d9e59"},"favicon":"https://mintcdn.com/wedetech/N_6_tS2tEOnWu1cb/favicon.svg?fit=max\u0026auto=format\u0026n=N_6_tS2tEOnWu1cb\u0026q=85\u0026s=527fcb82e663589b1e913e4996e7c539","appearance":{"default":"light","strict":true},"navbar":{"links":[{"href":"mailto:geral@wede.pt","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.wede.pt"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/wedetechnology","website":"https://wede.pt"}},"metadata":{"timestamp":false},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"API Status","icon":"signal","href":"https://status.wede.pt"},{"anchor":"Dashboard","icon":"gauge","href":"https://app.wede.pt"},{"anchor":"Support","icon":"envelope","href":"mailto:geral@wede.pt"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"wedetech","hasAudioNarration":false,"actualSubdomain":"wedetech","customDomains":["docs.wede.pt"],"gitSource":{"type":"github","owner":"wedeadmin","repo":"wede-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6aeb141119d8a3cecd67674f","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"API Reference","count":47},{"language":"default","tag":"Getting Started","count":27},{"language":"default","tag":"Core Concepts","count":19},{"language":"default","tag":"Teams \u0026 Dispatch","count":9},{"language":"default","tag":"Security","count":7},{"language":"default","tag":"Tenant","count":5},{"language":"default","tag":"Webhooks","count":5},{"language":"default","tag":"Zones","count":5},{"language":"default","tag":"Events","count":4},{"language":"default","tag":"Introduction","count":4}]},"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":"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":"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":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/sync/batch","slug":"/api-reference/sync/batch","pageMetadata":{"title":"Sync batch","description":"Send operations captured without connectivity, up to 500 per call, each checked on its own.","href":"/api-reference/sync/batch"},"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 operations captured without connectivity, up to 500 per call, each checked on its own.\"\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`,pre:`pre`,span:`span`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,CodeGroup,Expandable,Heading,Note,ParamField,ResponseField,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,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:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`POST /v1/sync/batch`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`Sends events that were captured while the device had no connectivity. wede checks each event on its own: a problem with one event never rejects the others. Accepted events follow exactly the same delivery path as events sent with `,_jsx(_components.a,{href:`/api-reference/events/create`,children:_jsx(_components.code,{children:`POST /v1/events`})}),`.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`The wede SDKs capture events with the right checksum and send them for you. See `,_jsx(_components.a,{href:`/sdks/overview`,children:`SDKs`}),`. Without an SDK, compute the checksum as described below.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`authentication`,children:`Authentication`}),`\n`,_jsxs(_components.p,{children:[`API key or session token with the `,_jsx(_components.code,{children:`sync:write`}),` permission. API keys have it. Events are stored in the environment of the credential.`]}),`\n`,_jsx(Heading,{level:`2`,id:`request-body`,children:`Request body`}),`\n`,_jsxs(ParamField,{body:`events`,type:`object[]`,required:true,id:`param-events`,children:[_jsx(_components.p,{children:`1 to 500 events.`}),_jsxs(Expandable,{title:`properties`,children:[_jsx(ParamField,{body:`idempotency_key`,type:`string`,required:true,id:`param-idempotency-key`,children:_jsx(_components.p,{children:`1 to 128 characters. Identifies the operation. Use the same key you would use online, so an operation that already reached wede is recognised as a duplicate.`})}),_jsx(ParamField,{body:`type`,type:`string`,required:true,id:`param-type`,children:_jsxs(_components.p,{children:[`Event type: an active type of your catalog for this vertical (see `,_jsx(_components.a,{href:`/api-reference/event-types`,children:_jsx(_components.code,{children:`GET /v1/catalog`})}),`).`]})}),_jsx(ParamField,{body:`vertical`,type:`string`,required:true,id:`param-vertical`,children:_jsx(_components.p,{children:`A vertical active in wede.`})}),_jsx(ParamField,{body:`priority`,type:`string`,id:`param-priority`,children:_jsxs(_components.p,{children:[`Optional. `,_jsx(_components.code,{children:`low`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`high`}),` or `,_jsx(_components.code,{children:`critical`}),`. Without it, the type’s default priority in your catalog applies (`,_jsx(_components.code,{children:`normal`}),` when the type has none). When your catalog marks the type’s priority as fixed, that priority always applies. Same rule as online: see `,_jsx(_components.a,{href:`/api-reference/event-types#who-decides-the-priority`,children:`Who decides the priority`}),`.`]})}),_jsx(ParamField,{body:`payload`,type:`object`,required:true,id:`param-payload`,children:_jsx(_components.p,{children:`Your operation data, exactly as it was when captured.`})}),_jsx(ParamField,{body:`offline_generated_at`,type:`string`,required:true,id:`param-offline-generated-at`,children:_jsxs(_components.p,{children:[`ISO 8601 date-time of capture, for example `,_jsx(_components.code,{children:`2026-09-26T08:41:17.000Z`}),`.`]})}),_jsx(ParamField,{body:`integrity_hash`,type:`string`,required:true,id:`param-integrity-hash`,children:_jsxs(_components.p,{children:[`64 lowercase hex characters: SHA-256 of `,_jsx(_components.code,{children:`JSON.stringify(payload) + idempotency_key + offline_generated_at`}),`, computed at capture time.`]})}),_jsx(ParamField,{body:`connectivity_state_at_generation`,type:`string`,id:`param-connectivity-state-at-generation`,children:_jsxs(_components.p,{children:[`Connectivity at capture time: `,_jsx(_components.code,{children:`online`}),`, `,_jsx(_components.code,{children:`degraded`}),`, `,_jsx(_components.code,{children:`sms_only`}),`, `,_jsx(_components.code,{children:`voice_only`}),` or `,_jsx(_components.code,{children:`offline`}),`.`]})}),_jsx(ParamField,{body:`metadata`,type:`object`,id:`param-metadata`,children:_jsxs(_components.p,{children:[`Optional `,_jsx(_components.code,{children:`zone_id`}),` (the code of one of your zones), `,_jsx(_components.code,{children:`location`}),` (`,_jsx(_components.code,{children:`lat`}),`, `,_jsx(_components.code,{children:`lng`}),`) and `,_jsx(_components.code,{children:`device_id`}),` (the app installation that made the request, which receives the notices about it), as in `,_jsx(_components.a,{href:`/api-reference/events/create`,children:_jsx(_components.code,{children:`POST /v1/events`})}),`. Not part of the checksum.`]})}),_jsx(ParamField,{body:`requester`,type:`object`,id:`param-requester`,children:_jsxs(_components.p,{children:[`Optional, outside the checksum: `,_jsx(_components.code,{children:`{ \"phone\": \"+351912345678\", \"shared\": true }`}),`, the number the person chose to share in your app, with the same rules as in `,_jsx(_components.a,{href:`/api-reference/events/create`,children:_jsx(_components.code,{children:`POST /v1/events`})}),`. Kept only when your organisation turned on `,_jsx(_components.code,{children:`sms_requester_status`}),`, and removed when the request is completed or closed.`]})})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`integrity-checksum`,children:`Integrity checksum`}),`\n`,_jsx(_components.p,{children:`The checksum proves the event was not changed between capture and sync. Compute it once, when you capture the event, and store the event unchanged:`}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`Node.js`,numberOfLines:`9`,language:`javascript`,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:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`createHash`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'node:crypto'`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` payload`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`parcel:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'PX-2231'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` idempotencyKey`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'courier-17-2026-09-26-0008'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` offlineGeneratedAt`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` Date`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`().`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`toISOString`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` integrityHash`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` createHash`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'sha256'`}),_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:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`update`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`JSON`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`stringify`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`payload`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`+`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` idempotencyKey`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` +`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` offlineGeneratedAt`}),_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:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`digest`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'hex'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Python`,numberOfLines:`11`,language:`python`,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:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`11`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` hashlib, json`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` datetime `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` datetime, timezone`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`payload `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"parcel\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"PX-2231\"`}),_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:`idempotency_key `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"courier-17-2026-09-26-0008\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`offline_generated_at `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` datetime.now(timezone.utc).isoformat(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`timespec`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"milliseconds\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`).replace(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"+00:00\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Z\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`serialised `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` json.dumps(payload, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`separators`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\",\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\":\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`), `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`ensure_ascii`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`False`}),_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:`integrity_hash `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` hashlib.sha256(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (serialised `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`+`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` idempotency_key `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`+`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` offline_generated_at).encode(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"utf-8\"`}),_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:`).hexdigest()`})}),`\n`]})})})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`wede recomputes the checksum from the JSON it receives, with `,_jsx(_components.code,{children:`JSON.stringify`}),` semantics: no spaces, keys in the order you sent them. Any difference in serialisation (key order, spacing, number formatting, escaping) produces a different hash and the event is rejected with `,_jsx(_components.code,{children:`integrity_check_failed`}),`. This is why the SDKs are the safest way to capture events.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`example`,children:`Example`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`17`,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:`17`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.wede.pt/v1/sync/batch`}),_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:` \"x-wede-api-key: wede_live_YOUR_KEY\"`}),_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:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"events\": [`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"idempotency_key\": \"courier-17-2026-09-26-0008\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\": \"delivery_confirmed\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"vertical\": \"logistics\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"priority\": \"normal\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"payload\": { \"parcel\": \"PX-2231\" },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"offline_generated_at\": \"2026-09-26T08:41:17.000Z\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"connectivity_state_at_generation\": \"offline\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"integrity_hash\": \"3f5c1e0b9a7d4c2e8f6a1b3d5e7f9a0c2e4b6d8f0a1c3e5b7d9f1a3c5e7b9d0f\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`200 OK`}),`, even when some events are rejected. Check `,_jsx(_components.code,{children:`summary`}),` and each entry of `,_jsx(_components.code,{children:`results`}),`.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`26`,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:`26`,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:` \"summary\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"total\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`3`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"accepted\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"duplicates\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"rejected\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_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`,_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:` \"idempotency_key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"courier-17-2026-09-26-0008\"`}),_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:` \"event_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"7c2a4e1f-0b3d-4a5c-9e8f-1d2c3b4a5e6f\"`}),_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:` \"result\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"accepted\"`}),_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:` \"error_code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_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:` \"error_message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`})]}),`\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`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"idempotency_key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"courier-17-2026-09-26-0007\"`}),_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:` \"event_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"1a9f3c5e-7b2d-4e6f-8a0c-2e4b6d8f0a1c\"`}),_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:` \"result\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"duplicate\"`}),_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:` \"error_code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_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:` \"error_message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`})]}),`\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`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"idempotency_key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"courier-17-2026-09-26-0009\"`}),_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:` \"event_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_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:` \"result\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"rejected\"`}),_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:` \"error_code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"integrity_check_failed\"`}),_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:` \"error_message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},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`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(ResponseField,{name:`summary`,type:`object`,id:`param-summary`,children:_jsxs(Expandable,{title:`properties`,children:[_jsx(ResponseField,{name:`total`,type:`integer`,id:`param-total`,children:`Events in the batch.`}),_jsx(ResponseField,{name:`accepted`,type:`integer`,id:`param-accepted`,children:`New events stored.`}),_jsx(ResponseField,{name:`duplicates`,type:`integer`,id:`param-duplicates`,children:`Events wede already had.`}),_jsx(ResponseField,{name:`rejected`,type:`integer`,id:`param-rejected`,children:`Events not stored.`})]})}),`\n`,_jsxs(ResponseField,{name:`results`,type:`object[]`,id:`param-results`,children:[_jsx(_components.p,{children:`One entry per event, in the order you sent them.`}),_jsxs(Expandable,{title:`properties`,children:[_jsx(ResponseField,{name:`idempotency_key`,type:`string`,id:`param-idempotency-key-1`,children:`The event’s key.`}),_jsxs(ResponseField,{name:`event_id`,type:`string | null`,id:`param-event-id`,children:[`ID of the stored event, for `,_jsx(_components.code,{children:`accepted`}),` and `,_jsx(_components.code,{children:`duplicate`}),`. `,_jsx(_components.code,{children:`null`}),` for `,_jsx(_components.code,{children:`rejected`}),`.`]}),_jsxs(ResponseField,{name:`result`,type:`string`,id:`param-result`,children:[_jsx(_components.code,{children:`accepted`}),`, `,_jsx(_components.code,{children:`duplicate`}),` or `,_jsx(_components.code,{children:`rejected`}),`.`]}),_jsxs(ResponseField,{name:`error_code`,type:`string | null`,id:`param-error-code`,children:[`Reason for `,_jsx(_components.code,{children:`rejected`}),`, otherwise `,_jsx(_components.code,{children:`null`}),`.`]}),_jsxs(ResponseField,{name:`error_message`,type:`string | null`,id:`param-error-message`,children:[`Human-readable reason, otherwise `,_jsx(_components.code,{children:`null`}),`.`]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`results`,children:`Results`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:_jsx(_components.code,{children:`result`})}),_jsx(_components.th,{children:`What to do`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`accepted`})}),_jsx(_components.td,{children:`Stored and sent for delivery. Remove it from your queue`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`duplicate`})}),_jsx(_components.td,{children:`wede already had this operation, online or from an earlier batch. It is never stored twice. Remove it from your queue`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`rejected`})}),_jsxs(_components.td,{children:[`Not stored. Fix the cause shown in `,_jsx(_components.code,{children:`error_code`})]})]})]})]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:_jsx(_components.code,{children:`error_code`})}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`integrity_check_failed`})}),_jsx(_components.td,{children:`The checksum does not match the event. The event was changed after capture or serialised differently`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`unknown_vertical`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`vertical`}),` is not registered or not active`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`unknown_event_type`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`type`}),` is neither an active type of your catalog for this vertical nor an active category`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`persistence_error`})}),_jsx(_components.td,{children:`The event could not be stored. Send it again in a later batch`})]})]})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Every `,_jsx(_components.code,{children:`integrity_check_failed`}),` is recorded as a security incident and your tenant administrators are alerted. Only that event is rejected: the rest of the batch, the device and the session are unaffected.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`after-the-batch`,children:`After the batch`}),`\n`,_jsxs(_components.p,{children:[`For each accepted event, wede emits `,_jsx(_components.code,{children:`event.created`}),` with `,_jsx(_components.code,{children:`\"origin\": \"sync\"`}),` and delivers the event exactly as it delivers online events: once delivered, the event is `,_jsx(_components.code,{children:`completed`}),` and its stored payload is cleared (kept until the event is closed when its type sends a team). When the batch is processed, wede emits `,_jsx(_components.code,{children:`sync.completed`}),` with the `,_jsx(_components.code,{children:`summary`}),`. See `,_jsx(_components.a,{href:`/api-reference/webhooks/events`,children:`Webhook events`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`errors`,children:`Errors`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Code`}),_jsx(_components.th,{children:`When`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`400`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`invalid_payload`})}),_jsxs(_components.td,{children:[`The body is not valid JSON, `,_jsx(_components.code,{children:`events`}),` is empty or has more than 500 items, or an event is missing a field or has an invalid one. `,_jsx(_components.code,{children:`details`}),` lists each problem. Nothing is stored`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`401`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`unauthorized`})}),_jsx(_components.td,{children:`Credential missing, malformed, revoked or expired`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`403`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`forbidden`})}),_jsxs(_components.td,{children:[`The credential lacks `,_jsx(_components.code,{children:`sync:write`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`503`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`service_unavailable`})}),_jsx(_components.td,{children:`The API key could not be validated right now. Retry the batch`})]})]})]})]})}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":"Sync batch","description":"Send operations captured without connectivity, up to 500 per call, each checked on its own.","href":"/api-reference/sync/batch"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Authentication","slug":"authentication","depth":2,"children":[]},{"title":"Request body","slug":"request-body","depth":2,"children":[{"title":"Integrity checksum","slug":"integrity-checksum","depth":3,"children":[]}]},{"title":"Example","slug":"example","depth":2,"children":[]},{"title":"Response","slug":"response","depth":2,"children":[{"title":"Results","slug":"results","depth":3,"children":[]}]},{"title":"After the batch","slug":"after-the-batch","depth":2,"children":[]},{"title":"Errors","slug":"errors","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"wedetech","siteName":"wede technology","title":"Sync batch - wede technology","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-28T01:01:31.916Z","originalFileLocation":"api-reference/sync/batch.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"light\";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=\"light\"}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 operations captured without connectivity, up to 500 per call, each checked on its own.\">\u003cmeta data-mint-head name=\"application-name\" content=\"wede technology\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/wedetech/0SmOc2lfuzjkX4SZ/_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/wedetech/0SmOc2lfuzjkX4SZ/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/wedetech/0SmOc2lfuzjkX4SZ/_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/wedetech/0SmOc2lfuzjkX4SZ/_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/wedetech/0SmOc2lfuzjkX4SZ/_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/wedetech/0SmOc2lfuzjkX4SZ/_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/wedetech/0SmOc2lfuzjkX4SZ/_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/wedetech/0SmOc2lfuzjkX4SZ/_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/wedetech/0SmOc2lfuzjkX4SZ/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Sync batch - wede technology\">\u003cmeta data-mint-head property=\"og:description\" content=\"Send operations captured without connectivity, up to 500 per call, each checked on its own.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"wede technology\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.wede.pt/api-reference/sync/batch\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://wedetech.mintlify.site/_mintlify/api/og/v2?division=Sync\u0026amp;title=Sync+batch\u0026amp;description=Send+operations+captured+without+connectivity%2C+up+to+500+per+call%2C+each+checked+on+its+own.\u0026amp;theme=df3b4564645dd9efd1d77a47\u0026amp;signature=179c1f2c3d827e62c11e74e046caec30c946feab52b8343bf0d097b253b06460\">\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=\"Sync batch - wede technology\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Send operations captured without connectivity, up to 500 per call, each checked on its own.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://wedetech.mintlify.site/_mintlify/api/og/v2?division=Sync\u0026amp;title=Sync+batch\u0026amp;description=Send+operations+captured+without+connectivity%2C+up+to+500+per+call%2C+each+checked+on+its+own.\u0026amp;theme=df3b4564645dd9efd1d77a47\u0026amp;signature=179c1f2c3d827e62c11e74e046caec30c946feab52b8343bf0d097b253b06460\">\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/wedetech/0SmOc2lfuzjkX4SZ/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"wede technology\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#F9500A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.wede.pt/api-reference/sync/batch\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/sync/batch.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.wede.pt/#organization\",\"name\":\"wede technology\",\"url\":\"https://docs.wede.pt\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/wedetech/7BuacVCTok17wF0p/logo/logo_wede_tech_black_wide.png?fit=max\u0026auto=format\u0026n=7BuacVCTok17wF0p\u0026q=85\u0026s=f75c7233891c29550490a254909d9e59\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.wede.pt#website\",\"name\":\"wede technology\",\"url\":\"https://docs.wede.pt\",\"publisher\":{\"@id\":\"https://docs.wede.pt/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.wede.pt/api-reference/sync/batch#webpage\",\"url\":\"https://docs.wede.pt/api-reference/sync/batch\",\"name\":\"Sync batch\",\"description\":\"Send operations captured without connectivity, up to 500 per call, each checked on its own.\",\"dateModified\":\"2026-10-28T01:01:31.916Z\",\"isPartOf\":{\"@id\":\"https://docs.wede.pt#website\"},\"breadcrumb\":{\"@id\":\"https://docs.wede.pt/api-reference/sync/batch#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.wede.pt/api-reference/sync/batch#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"wede technology\",\"item\":\"https://docs.wede.pt\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sync batch\",\"item\":\"https://docs.wede.pt/api-reference/sync/batch\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.wede.pt/api-reference/sync/batch#article\",\"headline\":\"Sync batch\",\"name\":\"Sync batch\",\"description\":\"Send operations captured without connectivity, up to 500 per call, each checked on its own.\",\"url\":\"https://docs.wede.pt/api-reference/sync/batch\",\"mainEntityOfPage\":{\"@id\":\"https://docs.wede.pt/api-reference/sync/batch#webpage\"},\"dateModified\":\"2026-10-28T01:01:31.916Z\",\"publisher\":{\"@id\":\"https://docs.wede.pt/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.wede.pt#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"wede technology\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"wede technology","nav":{"global":{"anchors":[{"anchor":"API Status","icon":"signal","href":"https://status.wede.pt"},{"anchor":"Dashboard","icon":"gauge","href":"https://app.wede.pt"},{"anchor":"Support","icon":"envelope","href":"mailto:geral@wede.pt"}]},"tabs":[{"tab":"Getting Started","pages":[{"title":"Getting Started","href":""}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"API reference","href":"/api-reference/introduction"},{"title":"Postman","icon":"rocket","href":"/api-reference/postman"}]},{"group":"Authentication","pages":[{"title":"Login","href":"/api-reference/auth/login"},{"title":"Session tokens","href":"/api-reference/auth/token"}]},{"group":"Events","pages":[{"title":"Create event","href":"/api-reference/events/create"},{"title":"List events","href":"/api-reference/events/list"},{"title":"Get event","href":"/api-reference/events/get"},{"title":"Event types","href":"/api-reference/event-types"}]},{"group":"Teams \u0026 Dispatch","pages":[{"title":"Teams","href":"/api-reference/teams/list"},{"title":"Dispatch a team","href":"/api-reference/teams/dispatch"},{"title":"Action dispatch","href":"/api-reference/teams/dispatch-action"},{"title":"Dispatch score","href":"/api-reference/teams/score"},{"title":"Team members","href":"/api-reference/teams/members"},{"title":"Team equipment","href":"/api-reference/teams/equipment"},{"title":"Team coverage","href":"/api-reference/teams/coverage"},{"title":"Location config","href":"/api-reference/teams/location-config"},{"title":"Team verticals","href":"/api-reference/teams/verticals"}]},{"group":"Missions","pages":[{"title":"Missions","href":"/api-reference/missions"}]},{"group":"Zones","pages":[{"title":"List zones","href":"/api-reference/zones/list"},{"title":"Get a zone","href":"/api-reference/zones/detail"},{"title":"Create a zone","href":"/api-reference/zones/create"},{"title":"Update a zone","href":"/api-reference/zones/update"},{"title":"Delete a zone","href":"/api-reference/zones/delete"}]},{"group":"Billing","pages":[{"title":"Billing","href":"/api-reference/billing"}]},{"group":"Tenant","pages":[{"title":"Tenant profile","href":"/api-reference/tenant/me"},{"title":"Usage","href":"/api-reference/tenant/usage"},{"title":"Communications","href":"/api-reference/tenant/communications"},{"title":"Plans of your organisation","href":"/api-reference/tenant/plans"},{"title":"Monthly invoices","href":"/api-reference/tenant/monthly-invoices"}]},{"group":"Webhooks","pages":[{"title":"Webhook events","href":"/api-reference/webhooks/events"},{"title":"List webhooks","href":"/api-reference/webhooks/list"},{"title":"Create webhook","href":"/api-reference/webhooks/create"},{"title":"Test webhook","href":"/api-reference/webhooks/test"},{"title":"Delete webhook","description":"Remove a webhook. Deliveries to it stop immediately.","href":"/api-reference/webhooks/delete"}]},{"group":"Sync","pages":[{"title":"Sync batch","href":"/api-reference/sync/batch"},{"title":"Sync status","description":"Totals of the events your tenant has received through offline sync.","href":"/api-reference/sync/status"},{"title":"Devices and offline dispatch","href":"/api-reference/devices"}]},{"group":"Policies","pages":[{"title":"Offline policy","href":"/api-reference/policies"}]},{"group":"Connectivity","pages":[{"title":"Connectivity status","href":"/api-reference/connectivity/status"},{"title":"Report connectivity","href":"/api-reference/connectivity/report"}]},{"group":"Sandbox","pages":[{"title":"Simulate connectivity","href":"/api-reference/sandbox/simulate"},{"title":"Proof runs","href":"/api-reference/sandbox/proof-runs"}]},{"group":"Parsers","pages":[{"title":"List parsers","href":"/api-reference/parsers/list"},{"title":"Create a parser","href":"/api-reference/parsers/create"},{"title":"Update a parser","href":"/api-reference/parsers/update"}]},{"group":"Onboarding","pages":[{"title":"Register","href":"/api-reference/onboarding/register"},{"title":"Verify email","href":"/api-reference/onboarding/verify"}]}]},{"tab":"Security","pages":[{"title":"Security","href":"/concepts/security"}]},{"tab":"SDKs","pages":[{"title":"SDKs","href":"/sdks/overview"}]}]},"basePath":"","title":"Sync batch - wede technology","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":[],"chunks":[]}