{
"code": "bad_request",
"message": "'id' must be a valid UUID",
"trace_id": "550e8400-e29b-41d4-a716-446655440000"
}
{
"code": "unauthorized",
"message": "Invalid or missing API key",
"trace_id": "550e8400-e29b-41d4-a716-446655440000"
}
{
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded. Maximum 1000 requests per 60 seconds.",
"trace_id": "550e8400-e29b-41d4-a716-446655440000"
}
Sync Requests
Request a re-sync of several resources in one call
Queues up to 25 on-demand re-syncs in one round trip. Kinds may be mixed. Each item is processed independently and under the SAME guardrails as POST /sync-requests — its own scope check and its own 5-minute per-resource cooldown (30 per connector for appointments). Best-effort, not atomic: the 202 says the batch was processed, not that every item queued. Each result carries either request (queued, including resourceUpdatedAt) or error (the status and message the single-resource endpoint would have returned — 500 among them, scoped to the one item rather than failing the request, plus a batch-only 503 when the batch hit its time budget before that item was started: a 503 item ran nothing and holds no cooldown, so retry it in a smaller batch), never both — an item refused by its cooldown does not affect the others. Results come back in the order sent, with resourceId echoed verbatim. Poll each queued item’s GET /sync-requests/{id} as usual; the sync_request.completed webhook fires once PER ITEM, not per batch. The response is held until every item has been dispatched, so it can take several seconds. More than the maximum is a 400 naming the limit, never a silent truncation.
POST
/
sync-requests
/
batch
Request a re-sync of several resources in one call
The resources to re-sync, up to 25. Kinds may be mixed freely. Items are processed independently and in order: each one spends its own cooldown, exactly as if it had been sent to POST /sync-requests on its own. Sending the same resource twice in one batch is allowed and the second occurrence is refused by its own cooldown (409), like any other repeat.
The App Bridge session token of the logged-in user making this request (what auth:token-request returns). Used only for patient_appointments on EZDerm. With a live office (system) EZDerm connection the chart is read through it, and a verified token only names the fallback should that connection drop before the read starts; a token that does not verify never refuses such a read. With none, the chart is read through THIS user's own personal EZDerm connection, never anyone else's: without a token, or if that user has none, the request is refused with 400, and a token that does not verify for this app and organization is a 401. Applies to every item; a 400 or 401 is that item's error.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Max AI Developer Docs","colors":{"primary":"#7C3AED","light":"#A78BFA","dark":"#6D28D9"},"logo":{"light":"https://mintcdn.com/maxaiinc-02a56fd1/3kDaJXdVQ62Q_li2/logo/logo.png?fit=max\u0026auto=format\u0026n=3kDaJXdVQ62Q_li2\u0026q=85\u0026s=593e8b0c409b58f620609de6e29ebb79","dark":"https://mintcdn.com/maxaiinc-02a56fd1/3kDaJXdVQ62Q_li2/logo/logo.png?fit=max\u0026auto=format\u0026n=3kDaJXdVQ62Q_li2\u0026q=85\u0026s=593e8b0c409b58f620609de6e29ebb79"},"favicon":"https://mintcdn.com/maxaiinc-02a56fd1/3kDaJXdVQ62Q_li2/logo/logo.png?fit=max\u0026auto=format\u0026n=3kDaJXdVQ62Q_li2\u0026q=85\u0026s=593e8b0c409b58f620609de6e29ebb79","api":{},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"maxaiinc-02a56fd1","hasAudioNarration":false,"actualSubdomain":"maxaiinc-02a56fd1","customDomains":["docs.maxcare.ai"],"gitSource":{"type":"github","owner":"maxcare-ai","repo":"monorepo","deployBranch":"staging","contentDirectory":"workloads/api-docs-mintlify","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6aedf59db961f3bf48d52094","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"API Reference","count":914},{"language":"default","tag":"Patients","count":74},{"language":"default","tag":"Schedule","count":40},{"language":"default","tag":"EHR live reads","count":30},{"language":"default","tag":"Appointments","count":28},{"language":"default","tag":"Inventory","count":28},{"language":"default","tag":"Notes","count":28},{"language":"default","tag":"Tasks","count":28},{"language":"default","tag":"Guides","count":24},{"language":"default","tag":"Payers","count":20}]},"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/v2/sync-requests/request-a-re-sync-of-several-resources-in-one-call","slug":"/api-reference/v2/sync-requests/request-a-re-sync-of-several-resources-in-one-call","pageMetadata":{"title":"Request a re-sync of several resources in one call","description":"Queues up to 25 on-demand re-syncs in one round trip. Kinds may be mixed. Each item is processed independently and under the SAME guardrails as POST /sync-requests — its own scope check and its own 5-minute per-resource cooldown (30 per connector for appointments). **Best-effort, not atomic**: the 202 says the batch was processed, not that every item queued. Each result carries either `request` (queued, including `resourceUpdatedAt`) or `error` (the status and message the single-resource endpoint would have returned — 500 among them, scoped to the one item rather than failing the request, plus a batch-only 503 when the batch hit its time budget before that item was started: a 503 item ran nothing and holds no cooldown, so retry it in a smaller batch), never both — an item refused by its cooldown does not affect the others. Results come back in the order sent, with `resourceId` echoed verbatim. Poll each queued item's `GET /sync-requests/{id}` as usual; the sync_request.completed webhook fires once PER ITEM, not per batch. The response is held until every item has been dispatched, so it can take several seconds. More than the maximum is a 400 naming the limit, never a silent truncation.","deprecated":null,"version":null,"openapi":"/openapi-v2.json post /sync-requests/batch","href":"/api-reference/v2/sync-requests/request-a-re-sync-of-several-resources-in-one-call","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Queues up to 25 on-demand re-syncs in one round trip. Kinds may be mixed. Each item is processed independently and under the SAME guardrails as POST /sync-requests — its own scope check and its own 5-minute per-resource cooldown (30 per connector for appointments). \", _jsx(_components.strong, {\n children: \"Best-effort, not atomic\"\n }), \": the 202 says the batch was processed, not that every item queued. Each result carries either \", _jsx(_components.code, {\n children: \"request\"\n }), \" (queued, including \", _jsx(_components.code, {\n children: \"resourceUpdatedAt\"\n }), \") or \", _jsx(_components.code, {\n children: \"error\"\n }), \" (the status and message the single-resource endpoint would have returned — 500 among them, scoped to the one item rather than failing the request, plus a batch-only 503 when the batch hit its time budget before that item was started: a 503 item ran nothing and holds no cooldown, so retry it in a smaller batch), never both — an item refused by its cooldown does not affect the others. Results come back in the order sent, with \", _jsx(_components.code, {\n children: \"resourceId\"\n }), \" echoed verbatim. Poll each queued item’s \", _jsx(_components.code, {\n children: \"GET /sync-requests/{id}\"\n }), \" as usual; the sync_request.completed webhook fires once PER ITEM, not per batch. The response is held until every item has been dispatched, so it can take several seconds. More than the maximum is a 400 naming the limit, never a silent truncation.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Request a re-sync of several resources in one call","description":"Queues up to 25 on-demand re-syncs in one round trip. Kinds may be mixed. Each item is processed independently and under the SAME guardrails as POST /sync-requests — its own scope check and its own 5-minute per-resource cooldown (30 per connector for appointments). **Best-effort, not atomic**: the 202 says the batch was processed, not that every item queued. Each result carries either `request` (queued, including `resourceUpdatedAt`) or `error` (the status and message the single-resource endpoint would have returned — 500 among them, scoped to the one item rather than failing the request, plus a batch-only 503 when the batch hit its time budget before that item was started: a 503 item ran nothing and holds no cooldown, so retry it in a smaller batch), never both — an item refused by its cooldown does not affect the others. Results come back in the order sent, with `resourceId` echoed verbatim. Poll each queued item's `GET /sync-requests/{id}` as usual; the sync_request.completed webhook fires once PER ITEM, not per batch. The response is held until every item has been dispatched, so it can take several seconds. More than the maximum is a 400 naming the limit, never a silent truncation.","deprecated":null,"version":null,"openapi":"/openapi-v2.json post /sync-requests/batch","href":"/api-reference/v2/sync-requests/request-a-re-sync-of-several-resources-in-one-call","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"Queues up to 25 on-demand re-syncs in one round trip. Kinds may be mixed. Each item is processed independently and under the SAME guardrails as POST /sync-requests — its own scope check and its own 5-minute per-resource cooldown (30 per connector for appointments). **Best-effort, not atomic**: the 202 says the batch was processed, not that every item queued. Each result carries either `request` (queued, including `resourceUpdatedAt`) or `error` (the status and message the single-resource endpoint would have returned — 500 among them, scoped to the one item rather than failing the request, plus a batch-only 503 when the batch hit its time budget before that item was started: a 503 item ran nothing and holds no cooldown, so retry it in a smaller batch), never both — an item refused by its cooldown does not affect the others. Results come back in the order sent, with `resourceId` echoed verbatim. Poll each queued item's `GET /sync-requests/{id}` as usual; the sync_request.completed webhook fires once PER ITEM, not per batch. The response is held until every item has been dispatched, so it can take several seconds. More than the maximum is a 400 naming the limit, never a silent truncation.","operationId":"SyncRequestsPublicController_createSyncRequestBatch","parameters":["829a5cf3-7ecd-4d98-822f-680330134042"],"requestBody":"5070704d-7c86-4a02-9cb4-1145531d0a9e","responses":{"202":"5a0683d7-7d6e-4ea2-9ff1-51546be91c49","400":"7b757b8d-5dc9-4b13-ae1f-53d2cea34694","401":"a56e7547-5307-4684-9194-e42280777e3e","429":"8b2071e9-30d1-4f44-80a3-0a7241aed508"},"security":["07959bf1-ac03-4712-8fa4-7f74e187ed26"],"summary":"Request a re-sync of several resources in one call","tags":["Sync Requests"],"method":"post","type":"path","servers":["bda469ab-e693-49f0-97b1-e1f5f0dcb0ee"],"path":"/sync-requests/batch","baseUrlOptions":["https://api.maxcare.ai/v2"],"title":"Request a re-sync of several resources in one call","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"829a5cf3-7ecd-4d98-822f-680330134042":{"name":"X-Organization-Id","in":"header","required":true,"schema":{"type":"string","isRequired":true,"description":"Target clinic organization ID","uniqueKey":"","typeLabel":"string"},"description":"Target clinic organization ID"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"requests":{"description":"The resources to re-sync, up to 25. Kinds may be mixed freely. Items are processed independently and in order: each one spends its own cooldown, exactly as if it had been sent to POST /sync-requests on its own. Sending the same resource twice in one batch is allowed and the second occurrence is refused by its own cooldown (409), like any other repeat.","maxItems":25,"minItems":1,"type":"array","items":{"type":"object","properties":{"resourceType":{"type":"string","description":"What kind of resource to re-sync with the EHR","enum":["claim","bill","patient","note","appointment","patient_appointments"],"example":"claim","isRequired":true,"uniqueKey":"requests.items.[INDEX].resourceType","typeLabel":"enum\u003cstring>"},"resourceId":{"type":"string","description":"The resource's id, as returned by its own endpoint (raw UUID, or from API v3 the prefixed form, e.g. clm_… for a claim). The prefix must match `resourceType`. For `patient_appointments` it is the PATIENT's id (pat_…): that patient's appointments are re-read.","example":"a1b2c3d4-5678-4abc-9def-0123456789ab","isRequired":true,"uniqueKey":"requests.items.[INDEX].resourceId","typeLabel":"string"}},"required":["resourceType","resourceId"],"uniqueKey":"requests.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"requests","typeLabel":"object[]"},"sessionToken":{"type":"string","description":"The App Bridge session token of the logged-in user making this request (what `auth:token-request` returns). Used only for `patient_appointments` on EZDerm. With a live office (system) EZDerm connection the chart is read through it, and a verified token only names the fallback should that connection drop before the read starts; a token that does not verify never refuses such a read. With none, the chart is read through THIS user's own personal EZDerm connection, never anyone else's: without a token, or if that user has none, the request is refused with 400, and a token that does not verify for this app and organization is a 401. Applies to every item; a 400 or 401 is that item's error.","example":"eyJhbGciOiJSUzI1NiIs...","uniqueKey":"sessionToken","typeLabel":"string"}},"required":["requests"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"requests":[{"resourceType":"claim","resourceId":"a1b2c3d4-5678-4abc-9def-0123456789ab"}],"sessionToken":"eyJhbGciOiJSUzI1NiIs..."}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"5a0683d7-7d6e-4ea2-9ff1-51546be91c49":{"description":"Accepted — queued for background processing","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"Response code","example":"success","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"data":{"type":"object","properties":{"requests":{"description":"One result per item, in the order you sent them. **Partial success is the normal case**: the 202 says the batch was processed, NOT that everything queued. Every item carries either `request` or `error`, never both and never neither — check each one.","type":"array","items":{"type":"object","properties":{"resourceType":{"type":"string","description":"The item's `resourceType`, echoed back","enum":["claim","bill","patient","note","appointment","patient_appointments"],"example":"bill","isRequired":true,"uniqueKey":"data.requests.items.[INDEX].resourceType","typeLabel":"enum\u003cstring>"},"resourceId":{"type":"string","description":"The item's `resourceId`, echoed back VERBATIM in the form you sent it, so you can match items up","example":"bil_a1b2c3d456784abc9def0123456789ab","isRequired":true,"uniqueKey":"data.requests.items.[INDEX].resourceId","typeLabel":"string"},"request":{"oneOf":[{"type":"object","description":"The queued sync request, identical to what POST /sync-requests returns — including `resourceUpdatedAt`. Null when this item was refused; see `error`.","required":["id","resourceType","resourceId","status","errorKind","resourceUpdatedAt","requestedAt","completedAt"],"properties":{"id":{"type":"string","description":"Sync request unique identifier","example":"c1d2e3f4-5678-4abc-9def-0123456789ab","isRequired":true,"uniqueKey":"data.requests.items.[INDEX].request.oneOf.0.id","typeLabel":"string"},"resourceType":{"type":"string","description":"Kind of resource being re-synced","enum":["claim","bill","patient","note","appointment","patient_appointments"],"example":"claim","isRequired":true,"uniqueKey":"data.requests.items.[INDEX].request.oneOf.0.resourceType","typeLabel":"enum\u003cstring>"},"resourceId":{"type":"string","description":"The resource being re-synced","example":"a1b2c3d4-5678-4abc-9def-0123456789ab","isRequired":true,"uniqueKey":"data.requests.items.[INDEX].request.oneOf.0.resourceId","typeLabel":"string"},"status":{"type":"string","description":"Request lifecycle status. Poll until 'completed' or 'failed'.","enum":["queued","completed","failed"],"example":"queued","isRequired":true,"uniqueKey":"data.requests.items.[INDEX].request.oneOf.0.status","typeLabel":"enum\u003cstring>"},"errorKind":{"oneOf":[{"type":"string","description":"Why a failed request failed, as a closed marker: `child_run_failed` (a sync run failed or was interrupted), `cancelled_before_start` (the sync runs were discarded while still queued — usually because an equivalent sync already held the lane — so nothing this request dispatched ran, but it still holds the cooldown — 5 minutes, or 30 per connector for an appointment), or `stale` (no terminal outcome inside the 30-minute watch window). Null unless status is 'failed'. A request that could not be started at all never reaches this field: it is refused synchronously with a 4xx or 502 and no request id, so there is nothing to poll.","example":null,"isRequired":true,"uniqueKey":"data.requests.items.[INDEX].request.oneOf.0.errorKind.oneOf.0","typeLabel":"string"},{"type":"null","description":"Why a failed request failed, as a closed marker: `child_run_failed` (a sync run failed or was interrupted), `cancelled_before_start` (the sync runs were discarded while still queued — usually because an equivalent sync already held the lane — so nothing this request dispatched ran, but it still holds the cooldown — 5 minutes, or 30 per connector for an appointment), or `stale` (no terminal outcome inside the 30-minute watch window). Null unless status is 'failed'. A request that could not be started at all never reaches this field: it is refused synchronously with a 4xx or 502 and no request id, so there is nothing to poll.","example":null,"isRequired":true,"uniqueKey":"data.requests.items.[INDEX].request.oneOf.0.errorKind.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.requests.items.[INDEX].request.oneOf.0.errorKind","typeLabel":"string | null"},"resourceUpdatedAt":{"oneOf":[{"type":"string","description":"The resource's own change stamp as it stood when this request was accepted, so you can tell whether the re-sync changed anything: re-read the resource and compare. It is the SAME field that resource's endpoint returns — `updatedAt` for claim, bill, note and patient; `lastSyncedAt` for appointment, which exposes that instead; always null for `patient_appointments`, which names no single row (re-read GET /appointments?patientId= instead). Note it moves only when the data actually CHANGED, so it is not a completion signal: use the request's own `status` (or the completion webhook) for that. **Returned only on the 202 that creates the request** — it is a property of the resource at request time, is not stored, and is always null on GET.","example":"2026-08-09T12:00:00.000Z","isRequired":true,"uniqueKey":"data.requests.items.[INDEX].request.oneOf.0.resourceUpdatedAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"The resource's own change stamp as it stood when this request was accepted, so you can tell whether the re-sync changed anything: re-read the resource and compare. It is the SAME field that resource's endpoint returns — `updatedAt` for claim, bill, note and patient; `lastSyncedAt` for appointment, which exposes that instead; always null for `patient_appointments`, which names no single row (re-read GET /appointments?patientId= instead). Note it moves only when the data actually CHANGED, so it is not a completion signal: use the request's own `status` (or the completion webhook) for that. **Returned only on the 202 that creates the request** — it is a property of the resource at request time, is not stored, and is always null on GET.","example":"2026-08-09T12:00:00.000Z","isRequired":true,"uniqueKey":"data.requests.items.[INDEX].request.oneOf.0.resourceUpdatedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.requests.items.[INDEX].request.oneOf.0.resourceUpdatedAt","typeLabel":"string | null"},"requestedAt":{"type":"string","description":"When the re-sync was requested","example":"2026-08-09T12:00:00.000Z","isRequired":true,"uniqueKey":"data.requests.items.[INDEX].request.oneOf.0.requestedAt","typeLabel":"string"},"completedAt":{"oneOf":[{"type":"string","description":"When the request reached a terminal state","example":null,"isRequired":true,"uniqueKey":"data.requests.items.[INDEX].request.oneOf.0.completedAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"When the request reached a terminal state","example":null,"isRequired":true,"uniqueKey":"data.requests.items.[INDEX].request.oneOf.0.completedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.requests.items.[INDEX].request.oneOf.0.completedAt","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"data.requests.items.[INDEX].request.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"data.requests.items.[INDEX].request.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.requests.items.[INDEX].request","typeLabel":"object | null"},"error":{"oneOf":[{"type":"object","description":"Why this item was refused, or null when it was queued.","required":["statusCode","message"],"example":null,"properties":{"statusCode":{"type":"number","description":"The status the same request would have received from POST /sync-requests on its own: 400 (un-syncable resource), 403 (missing scope for that kind), 404 (no such resource in this organization), 409 (cooldown or a re-sync already running), 502 (the re-sync could not be started). 500 is the same unhandled failure the single-resource endpoint would answer with — same status and the same `Internal server error` message — except that here it is scoped to the one item so the rest of the batch still runs. 503 is genuinely batch-only: the batch reached its time budget before this item was started, so nothing ran for it — it holds no cooldown and can be retried immediately in a smaller batch.","example":409,"isRequired":true,"uniqueKey":"data.requests.items.[INDEX].error.oneOf.0.statusCode","typeLabel":"number"},"message":{"type":"string","description":"Human-readable reason, the same message the single-resource endpoint would have returned.","example":"This bill was already re-synced in the last 5 minutes. Retry after the cooldown.","isRequired":true,"uniqueKey":"data.requests.items.[INDEX].error.oneOf.0.message","typeLabel":"string"}},"isRequired":true,"uniqueKey":"data.requests.items.[INDEX].error.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"data.requests.items.[INDEX].error.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.requests.items.[INDEX].error","typeLabel":"object | null"}},"required":["resourceType","resourceId","request","error"],"uniqueKey":"data.requests.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.requests","typeLabel":"object[]"}},"required":["requests"],"isRequired":true,"uniqueKey":"data","typeLabel":"object"}},"required":["code","data"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"success","data":{"requests":[{"resourceType":"bill","resourceId":"bil_a1b2c3d456784abc9def0123456789ab","request":{"id":"c1d2e3f4-5678-4abc-9def-0123456789ab","resourceType":"claim","resourceId":"a1b2c3d4-5678-4abc-9def-0123456789ab","status":"queued","errorKind":null,"resourceUpdatedAt":"2026-08-09T12:00:00.000Z","requestedAt":"2026-08-09T12:00:00.000Z","completedAt":null},"error":null}]}}}},"exampleType":"generated"}},"exampleType":"generated"},"7b757b8d-5dc9-4b13-ae1f-53d2cea34694":{"description":"Missing or invalid request parameter","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"Error code","example":"bad_request","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message","example":"'id' must be a valid UUID","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"trace_id":{"type":"string","description":"Trace ID for debugging","example":"550e8400-e29b-41d4-a716-446655440000","isRequired":true,"uniqueKey":"trace_id","typeLabel":"string"}},"required":["code","message","trace_id"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"bad_request","message":"'id' must be a valid UUID","trace_id":"550e8400-e29b-41d4-a716-446655440000"}}},"exampleType":"generated"}},"exampleType":"generated"},"a56e7547-5307-4684-9194-e42280777e3e":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"Error code","example":"unauthorized","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message","example":"Invalid or missing API key","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"trace_id":{"type":"string","description":"Trace ID for debugging","example":"550e8400-e29b-41d4-a716-446655440000","isRequired":true,"uniqueKey":"trace_id","typeLabel":"string"}},"required":["code","message","trace_id"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"unauthorized","message":"Invalid or missing API key","trace_id":"550e8400-e29b-41d4-a716-446655440000"}}},"exampleType":"generated"}},"exampleType":"generated"},"8b2071e9-30d1-4f44-80a3-0a7241aed508":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"Error code","example":"rate_limit_exceeded","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message","example":"Rate limit exceeded. Maximum 1000 requests per 60 seconds.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"trace_id":{"type":"string","description":"Trace ID for debugging","example":"550e8400-e29b-41d4-a716-446655440000","isRequired":true,"uniqueKey":"trace_id","typeLabel":"string"}},"required":["code","message","trace_id"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"rate_limit_exceeded","message":"Rate limit exceeded. Maximum 1000 requests per 60 seconds.","trace_id":"550e8400-e29b-41d4-a716-446655440000"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"07959bf1-ac03-4712-8fa4-7f74e187ed26":{"api-key":{"scheme":"bearer","bearerFormat":"JWT","type":"http","description":"Marketplace API key","scopes":[],"schemeName":"api-key"}}},"servers":{"bda469ab-e693-49f0-97b1-e1f5f0dcb0ee":{"url":"https://api.maxcare.ai/v2"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"scheme":"bearer","bearerFormat":"JWT","type":"http","description":"Marketplace API key","scopes":[],"schemeName":"api-key"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Marketplace API key","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"api-key","name":"Authorization"}],"title":"api-key"}]},"originalFileLocation":"openapi-v2.json"},"subdomain":"maxaiinc-02a56fd1","siteName":"Max AI Developer Docs","title":"Request a re-sync of several resources in one call - Max AI Developer Docs","navMaps":{"firstHrefInVersion":{"v4":{"href":"/api-reference/v4/sync-requests/request-a-re-sync-of-several-resources-in-one-call","matchLevel":1},"v3":{"href":"/api-reference/v3/sync-requests/request-a-re-sync-of-several-resources-in-one-call","matchLevel":1},"v2":{"href":"/api-reference/v2/sync-requests/request-a-re-sync-of-several-resources-in-one-call","matchLevel":0},"v1":{"href":"/api-reference/v1/sync-requests/request-a-re-sync-of-several-resources-in-one-call","matchLevel":1}},"firstHrefInLanguage":{}},"lastModified":"2026-11-06T15:43:53.805Z","originalFileLocation":"api-reference/v2/sync-requests/request-a-re-sync-of-several-resources-in-one-call.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=\"Queues up to 25 on-demand re-syncs in one round trip. Kinds may be mixed. Each item is processed independently and under the SAME guardrails as POST /sync-requests — its own scope check and its own 5-minute per-resource cooldown (30 per connector for appointments). Best-effort, not atomic: the 202 says the batch was processed, not that every item queued. Each result carries either request (queued, including resourceUpdatedAt) or error (the status and message the single-resource endpoint would have returned — 500 among them, scoped to the one item rather than failing the request, plus a batch-only 503 when the batch hit its time budget before that item was started: a 503 item ran nothing and holds no cooldown, so retry it in a smaller batch), never both — an item refused by its cooldown does not affect the others. Results come back in the order sent, with resourceId echoed verbatim. Poll each queued item\u0026#x27;s GET /sync-requests/{id} as usual; the sync_request.completed webhook fires once PER ITEM, not per batch. The response is held until every item has been dispatched, so it can take several seconds. More than the maximum is a 400 naming the limit, never a silent truncation.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Max AI Developer Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/maxaiinc-02a56fd1/qw7ccI6uMOHd5Iws/_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/maxaiinc-02a56fd1/qw7ccI6uMOHd5Iws/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/maxaiinc-02a56fd1/qw7ccI6uMOHd5Iws/_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/maxaiinc-02a56fd1/qw7ccI6uMOHd5Iws/_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/maxaiinc-02a56fd1/qw7ccI6uMOHd5Iws/_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/maxaiinc-02a56fd1/qw7ccI6uMOHd5Iws/_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/maxaiinc-02a56fd1/qw7ccI6uMOHd5Iws/_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/maxaiinc-02a56fd1/qw7ccI6uMOHd5Iws/_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/maxaiinc-02a56fd1/qw7ccI6uMOHd5Iws/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Request a re-sync of several resources in one call - Max AI Developer Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Queues up to 25 on-demand re-syncs in one round trip. Kinds may be mixed. Each item is processed independently and under the SAME guardrails as POST /sync-requests — its own scope check and its own 5-minute per-resource cooldown (30 per connector for appointments). Best-effort, not atomic: the 202 says the batch was processed, not that every item queued. Each result carries either request (queued, including resourceUpdatedAt) or error (the status and message the single-resource endpoint would have returned — 500 among them, scoped to the one item rather than failing the request, plus a batch-only 503 when the batch hit its time budget before that item was started: a 503 item ran nothing and holds no cooldown, so retry it in a smaller batch), never both — an item refused by its cooldown does not affect the others. Results come back in the order sent, with resourceId echoed verbatim. Poll each queued item\u0026#x27;s GET /sync-requests/{id} as usual; the sync_request.completed webhook fires once PER ITEM, not per batch. The response is held until every item has been dispatched, so it can take several seconds. More than the maximum is a 400 naming the limit, never a silent truncation.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Max AI Developer Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.maxcare.ai/api-reference/v2/sync-requests/request-a-re-sync-of-several-resources-in-one-call\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://maxaiinc-02a56fd1.mintlify.site/_mintlify/api/og/v2?division=Sync+Requests\u0026amp;title=Request+a+re-sync+of+several+resources+in+one+call\u0026amp;description=Queues+up+to+25+on-demand+re-syncs+in+one+round+trip.+Kinds+may+be+mixed.+Each+item+is+processed+independently+and+under+the+SAME+guardrails+as+POST+%2Fsync-reque\u0026amp;theme=02e0b3646d3b285707db65d5\u0026amp;signature=4a2a8be6a591779e0930cae66427043c7e9d8bd0da2accb9dd0637f1eb3d1220\">\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=\"Request a re-sync of several resources in one call - Max AI Developer Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Queues up to 25 on-demand re-syncs in one round trip. Kinds may be mixed. Each item is processed independently and under the SAME guardrails as POST /sync-requests — its own scope check and its own 5-minute per-resource cooldown (30 per connector for appointments). Best-effort, not atomic: the 202 says the batch was processed, not that every item queued. Each result carries either request (queued, including resourceUpdatedAt) or error (the status and message the single-resource endpoint would have returned — 500 among them, scoped to the one item rather than failing the request, plus a batch-only 503 when the batch hit its time budget before that item was started: a 503 item ran nothing and holds no cooldown, so retry it in a smaller batch), never both — an item refused by its cooldown does not affect the others. Results come back in the order sent, with resourceId echoed verbatim. Poll each queued item\u0026#x27;s GET /sync-requests/{id} as usual; the sync_request.completed webhook fires once PER ITEM, not per batch. The response is held until every item has been dispatched, so it can take several seconds. More than the maximum is a 400 naming the limit, never a silent truncation.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://maxaiinc-02a56fd1.mintlify.site/_mintlify/api/og/v2?division=Sync+Requests\u0026amp;title=Request+a+re-sync+of+several+resources+in+one+call\u0026amp;description=Queues+up+to+25+on-demand+re-syncs+in+one+round+trip.+Kinds+may+be+mixed.+Each+item+is+processed+independently+and+under+the+SAME+guardrails+as+POST+%2Fsync-reque\u0026amp;theme=02e0b3646d3b285707db65d5\u0026amp;signature=4a2a8be6a591779e0930cae66427043c7e9d8bd0da2accb9dd0637f1eb3d1220\">\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/maxaiinc-02a56fd1/qw7ccI6uMOHd5Iws/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Max AI Developer Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#7C3AED\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.maxcare.ai/api-reference/v2/sync-requests/request-a-re-sync-of-several-resources-in-one-call\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/v2/sync-requests/request-a-re-sync-of-several-resources-in-one-call.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.maxcare.ai/#organization\",\"name\":\"Max AI Developer Docs\",\"url\":\"https://docs.maxcare.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/maxaiinc-02a56fd1/3kDaJXdVQ62Q_li2/logo/logo.png?fit=max\u0026auto=format\u0026n=3kDaJXdVQ62Q_li2\u0026q=85\u0026s=593e8b0c409b58f620609de6e29ebb79\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.maxcare.ai#website\",\"name\":\"Max AI Developer Docs\",\"url\":\"https://docs.maxcare.ai\",\"publisher\":{\"@id\":\"https://docs.maxcare.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.maxcare.ai/api-reference/v2/sync-requests/request-a-re-sync-of-several-resources-in-one-call#webpage\",\"url\":\"https://docs.maxcare.ai/api-reference/v2/sync-requests/request-a-re-sync-of-several-resources-in-one-call\",\"name\":\"Request a re-sync of several resources in one call\",\"description\":\"Queues up to 25 on-demand re-syncs in one round trip. Kinds may be mixed. Each item is processed independently and under the SAME guardrails as POST /sync-requests — its own scope check and its own 5-minute per-resource cooldown (30 per connector for appointments). Best-effort, not atomic: the 202 says the batch was processed, not that every item queued. Each result carries either request (queued, including resourceUpdatedAt) or error (the status and message the single-resource endpoint would have returned — 500 among them, scoped to the one item rather than failing the request, plus a batch-only 503 when the batch hit its time budget before that item was started: a 503 item ran nothing and holds no cooldown, so retry it in a smaller batch), never both — an item refused by its cooldown does not affect the others. Results come back in the order sent, with resourceId echoed verbatim. Poll each queued item's GET /sync-requests/{id} as usual; the sync_request.completed webhook fires once PER ITEM, not per batch. The response is held until every item has been dispatched, so it can take several seconds. More than the maximum is a 400 naming the limit, never a silent truncation.\",\"dateModified\":\"2026-11-06T15:43:53.805Z\",\"isPartOf\":{\"@id\":\"https://docs.maxcare.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.maxcare.ai/api-reference/v2/sync-requests/request-a-re-sync-of-several-resources-in-one-call#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.maxcare.ai/api-reference/v2/sync-requests/request-a-re-sync-of-several-resources-in-one-call#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://docs.maxcare.ai/api-reference/v2/appointment-types/list-appointment-types\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sync Requests\",\"item\":\"https://docs.maxcare.ai/api-reference/v2/sync-requests/request-a-re-sync-of-a-resource-with-the-ehr\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Request a re-sync of several resources in one call\",\"item\":\"https://docs.maxcare.ai/api-reference/v2/sync-requests/request-a-re-sync-of-several-resources-in-one-call\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.maxcare.ai/api-reference/v2/sync-requests/request-a-re-sync-of-several-resources-in-one-call#apireference\",\"headline\":\"Request a re-sync of several resources in one call\",\"name\":\"Request a re-sync of several resources in one call\",\"description\":\"Queues up to 25 on-demand re-syncs in one round trip. Kinds may be mixed. Each item is processed independently and under the SAME guardrails as POST /sync-requests — its own scope check and its own 5-minute per-resource cooldown (30 per connector for appointments). Best-effort, not atomic: the 202 says the batch was processed, not that every item queued. Each result carries either request (queued, including resourceUpdatedAt) or error (the status and message the single-resource endpoint would have returned — 500 among them, scoped to the one item rather than failing the request, plus a batch-only 503 when the batch hit its time budget before that item was started: a 503 item ran nothing and holds no cooldown, so retry it in a smaller batch), never both — an item refused by its cooldown does not affect the others. Results come back in the order sent, with resourceId echoed verbatim. Poll each queued item's GET /sync-requests/{id} as usual; the sync_request.completed webhook fires once PER ITEM, not per batch. The response is held until every item has been dispatched, so it can take several seconds. More than the maximum is a 400 naming the limit, never a silent truncation.\",\"url\":\"https://docs.maxcare.ai/api-reference/v2/sync-requests/request-a-re-sync-of-several-resources-in-one-call\",\"mainEntityOfPage\":{\"@id\":\"https://docs.maxcare.ai/api-reference/v2/sync-requests/request-a-re-sync-of-several-resources-in-one-call#webpage\"},\"dateModified\":\"2026-11-06T15:43:53.805Z\",\"publisher\":{\"@id\":\"https://docs.maxcare.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.maxcare.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Max AI Developer Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Max AI Developer Docs","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/guides"}]},{"tab":"API Reference","versions":[{"version":"v4","tag":"Latest","pages":[{"title":"v4","href":"/api-reference/v4/sync-requests/request-a-re-sync-of-several-resources-in-one-call"}]},{"version":"v3","pages":[{"title":"v3","href":"/api-reference/v3/sync-requests/request-a-re-sync-of-several-resources-in-one-call"}]},{"version":"v2","groups":[{"group":"API Reference","pages":[{"group":"Appointment Types","pages":[{"title":"List appointment types","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /appointment-types","href":"/api-reference/v2/appointment-types/list-appointment-types"}]},{"group":"Appointments","pages":[{"title":"List appointments","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /appointments","href":"/api-reference/v2/appointments/list-appointments"},{"title":"Book an appointment","deprecated":null,"version":null,"openapi":"/openapi-v2.json post /appointments","href":"/api-reference/v2/appointments/book-an-appointment"},{"title":"List cancellation reasons","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /appointments/cancel-reasons","href":"/api-reference/v2/appointments/list-cancellation-reasons"},{"title":"List appointment statuses","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /appointments/statuses","href":"/api-reference/v2/appointments/list-appointment-statuses"},{"title":"Get appointment by ID","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /appointments/{id}","href":"/api-reference/v2/appointments/get-appointment-by-id"},{"title":"Reschedule an appointment","deprecated":null,"version":null,"openapi":"/openapi-v2.json patch /appointments/{id}","href":"/api-reference/v2/appointments/reschedule-an-appointment"},{"title":"Cancel an appointment","deprecated":null,"version":null,"openapi":"/openapi-v2.json post /appointments/{id}/cancel","href":"/api-reference/v2/appointments/cancel-an-appointment"}]},{"group":"Bills","pages":[{"title":"List bills","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /bills","href":"/api-reference/v2/bills/list-bills"},{"title":"Get bill by ID","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /bills/{id}","href":"/api-reference/v2/bills/get-bill-by-id"}]},{"group":"Cancel Reasons","pages":[{"title":"List appointment cancellation reasons","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /cancel-reasons","href":"/api-reference/v2/cancel-reasons/list-appointment-cancellation-reasons"}]},{"group":"Claims","pages":[{"title":"List claims","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /claims","href":"/api-reference/v2/claims/list-claims"},{"title":"Get claim by ID","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /claims/{id}","href":"/api-reference/v2/claims/get-claim-by-id"}]},{"group":"Patients","pages":[{"title":"Where each document category is filed","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /documents/categories","href":"/api-reference/v2/patients/where-each-document-category-is-filed"},{"title":"List patients","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /patients","href":"/api-reference/v2/patients/list-patients"},{"title":"Create a patient","deprecated":null,"version":null,"openapi":"/openapi-v2.json post /patients","href":"/api-reference/v2/patients/create-a-patient"},{"title":"Match a patient by demographics","deprecated":null,"version":null,"openapi":"/openapi-v2.json post /patients/match","href":"/api-reference/v2/patients/match-a-patient-by-demographics"},{"title":"Get patient by ID","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /patients/{id}","href":"/api-reference/v2/patients/get-patient-by-id"},{"title":"Update a patient","deprecated":null,"version":null,"openapi":"/openapi-v2.json patch /patients/{id}","href":"/api-reference/v2/patients/update-a-patient"},{"title":"List a patient's allergies","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /patients/{id}/allergies","href":"/api-reference/v2/patients/list-a-patients-allergies"},{"title":"List a patient's chart documents","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /patients/{id}/documents","href":"/api-reference/v2/patients/list-a-patients-chart-documents"},{"title":"File a document on a patient's chart","deprecated":null,"version":null,"openapi":"/openapi-v2.json post /patients/{id}/documents","href":"/api-reference/v2/patients/file-a-document-on-a-patients-chart"},{"title":"Refresh a patient's chart-document list","deprecated":null,"version":null,"openapi":"/openapi-v2.json post /patients/{id}/documents/refresh","href":"/api-reference/v2/patients/refresh-a-patients-chart-document-list"},{"title":"Download one chart document's bytes","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /patients/{id}/documents/{documentId}/content","href":"/api-reference/v2/patients/download-one-chart-documents-bytes"},{"title":"Pull one chart document's bytes from the EHR","deprecated":null,"version":null,"openapi":"/openapi-v2.json post /patients/{id}/documents/{documentId}/fetch","href":"/api-reference/v2/patients/pull-one-chart-documents-bytes-from-the-ehr"},{"title":"Attach insurance to an existing patient","deprecated":null,"version":null,"openapi":"/openapi-v2.json post /patients/{id}/insurance","href":"/api-reference/v2/patients/attach-insurance-to-an-existing-patient"},{"title":"Attach an insurance card image","deprecated":null,"version":null,"openapi":"/openapi-v2.json post /patients/{id}/insurance/cards","href":"/api-reference/v2/patients/attach-an-insurance-card-image"},{"title":"Attach insurance with an exact payer","deprecated":null,"version":null,"openapi":"/openapi-v2.json post /patients/{id}/insurance:exact","href":"/api-reference/v2/patients/attach-insurance-with-an-exact-payer"},{"title":"List a patient's lab / pathology results","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /patients/{id}/lab-results","href":"/api-reference/v2/patients/list-a-patients-lab-pathology-results"},{"title":"Set a patient's referring provider","deprecated":null,"version":null,"openapi":"/openapi-v2.json put /patients/{id}/referring-provider","href":"/api-reference/v2/patients/set-a-patients-referring-provider"},{"title":"Change an insurance policy's type","deprecated":null,"version":null,"openapi":"/openapi-v2.json patch /patients/{patientId}/insurance-policies/{policyId}","href":"/api-reference/v2/patients/change-an-insurance-policys-type"}]},{"group":"Eligibility Checks","pages":[{"title":"List eligibility checks","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /eligibility-checks","href":"/api-reference/v2/eligibility-checks/list-eligibility-checks"},{"title":"Run an eligibility check","deprecated":null,"version":null,"openapi":"/openapi-v2.json post /eligibility-checks","href":"/api-reference/v2/eligibility-checks/run-an-eligibility-check"},{"title":"Get eligibility check by ID","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /eligibility-checks/{id}","href":"/api-reference/v2/eligibility-checks/get-eligibility-check-by-id"}]},{"group":"Emails","pages":[{"title":"List sent emails","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /emails","href":"/api-reference/v2/emails/list-sent-emails"},{"title":"Send emails","deprecated":null,"version":null,"openapi":"/openapi-v2.json post /emails/send","href":"/api-reference/v2/emails/send-emails"},{"title":"Get email by ID","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /emails/{id}","href":"/api-reference/v2/emails/get-email-by-id"}]},{"group":"ERA Service Lines","pages":[{"title":"List ERA service lines","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /era-service-lines","href":"/api-reference/v2/era-service-lines/list-era-service-lines"},{"title":"Get ERA service line by ID","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /era-service-lines/{id}","href":"/api-reference/v2/era-service-lines/get-era-service-line-by-id"}]},{"group":"Facilities","pages":[{"title":"List facilities","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /facilities","href":"/api-reference/v2/facilities/list-facilities"},{"title":"Get facility by ID","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /facilities/{id}","href":"/api-reference/v2/facilities/get-facility-by-id"}]},{"group":"Faxes","pages":[{"title":"List faxes","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /faxes","href":"/api-reference/v2/faxes/list-faxes"},{"title":"Send a fax","deprecated":null,"version":null,"openapi":"/openapi-v2.json post /faxes/send","href":"/api-reference/v2/faxes/send-a-fax"},{"title":"List fax cover-page templates","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /faxes/templates","href":"/api-reference/v2/faxes/list-fax-cover-page-templates"},{"title":"Get fax by ID","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /faxes/{id}","href":"/api-reference/v2/faxes/get-fax-by-id"}]},{"group":"Insurance Policies","pages":[{"title":"List insurance policies","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /insurance-policies","href":"/api-reference/v2/insurance-policies/list-insurance-policies"},{"title":"Get insurance policy by ID","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /insurance-policies/{id}","href":"/api-reference/v2/insurance-policies/get-insurance-policy-by-id"},{"title":"List a policy's insurance card images","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /insurance-policies/{id}/attachments","href":"/api-reference/v2/insurance-policies/list-a-policys-insurance-card-images"}]},{"group":"Inventory","pages":[{"title":"List inventory changes","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /inventory/changes","href":"/api-reference/v2/inventory/list-inventory-changes"},{"title":"Get inventory change by ID","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /inventory/changes/{id}","href":"/api-reference/v2/inventory/get-inventory-change-by-id"},{"title":"List products in an inventory change","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /inventory/changes/{id}/products","href":"/api-reference/v2/inventory/list-products-in-an-inventory-change"},{"title":"List products","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /inventory/products","href":"/api-reference/v2/inventory/list-products"},{"title":"Get product by ID","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /inventory/products/{id}","href":"/api-reference/v2/inventory/get-product-by-id"},{"title":"Get stock levels","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /inventory/stock-levels","href":"/api-reference/v2/inventory/get-stock-levels"},{"title":"Get stock levels with per-lot breakdown","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /inventory/stock-levels/detail","href":"/api-reference/v2/inventory/get-stock-levels-with-per-lot-breakdown"}]},{"group":"Marketplace","pages":[{"title":"List this app's installations","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /marketplace/installations","href":"/api-reference/v2/marketplace/list-this-apps-installations"},{"title":"Get current app context","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /marketplace/me","href":"/api-reference/v2/marketplace/get-current-app-context"},{"title":"List the organization's members","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /marketplace/members","href":"/api-reference/v2/marketplace/list-the-organizations-members"},{"title":"Verify a session token and resolve its organization","deprecated":null,"version":null,"openapi":"/openapi-v2.json post /marketplace/verify-session","href":"/api-reference/v2/marketplace/verify-a-session-token-and-resolve-its-organization"}]},{"group":"Notes","pages":[{"title":"List patient notes","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /notes","href":"/api-reference/v2/notes/list-patient-notes"},{"title":"Get note by ID","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /notes/{id}","href":"/api-reference/v2/notes/get-note-by-id"},{"title":"Edit SOAP note fields","deprecated":null,"version":null,"openapi":"/openapi-v2.json patch /notes/{noteId}","href":"/api-reference/v2/notes/edit-soap-note-fields"},{"title":"Upload image to note","deprecated":null,"version":null,"openapi":"/openapi-v2.json post /notes/{noteId}/images","href":"/api-reference/v2/notes/upload-image-to-note"},{"title":"Delete image from note","deprecated":null,"version":null,"openapi":"/openapi-v2.json delete /notes/{noteId}/images/{imageId}","href":"/api-reference/v2/notes/delete-image-from-note"},{"title":"Get signed URL for a note image","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /notes/{noteId}/images/{imageId}/url","href":"/api-reference/v2/notes/get-signed-url-for-a-note-image"},{"title":"Edit impression fields","deprecated":null,"version":null,"openapi":"/openapi-v2.json patch /notes/{noteId}/impressions/{impressionId}","href":"/api-reference/v2/notes/edit-impression-fields"}]},{"group":"OAuth","pages":[{"title":"Exchange authorization code for user info","deprecated":null,"version":null,"openapi":"/openapi-v2.json post /oauth/token","href":"/api-reference/v2/oauth/exchange-authorization-code-for-user-info"}]},{"group":"Organization","pages":[{"title":"List the organization's members","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /org/members","href":"/api-reference/v2/organization/list-the-organizations-members"}]},{"group":"Payers","pages":[{"title":"Search payers","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /payers","href":"/api-reference/v2/payers/search-payers"},{"title":"Add a directory payer to the practice","deprecated":null,"version":null,"openapi":"/openapi-v2.json post /payers","href":"/api-reference/v2/payers/add-a-directory-payer-to-the-practice"},{"title":"Payer capabilities","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /payers/capabilities","href":"/api-reference/v2/payers/payer-capabilities"},{"title":"Search the EHR's national payer directory","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /payers/directory","href":"/api-reference/v2/payers/search-the-ehrs-national-payer-directory"},{"title":"Get payer by ID","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /payers/{id}","href":"/api-reference/v2/payers/get-payer-by-id"}]},{"group":"Phone Numbers","pages":[{"title":"List organization phone numbers","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /phone-numbers","href":"/api-reference/v2/phone-numbers/list-organization-phone-numbers"}]},{"group":"Prior Authorizations","pages":[{"title":"List prior authorizations","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /prior-authorizations","href":"/api-reference/v2/prior-authorizations/list-prior-authorizations"},{"title":"Get prior authorization by ID","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /prior-authorizations/{id}","href":"/api-reference/v2/prior-authorizations/get-prior-authorization-by-id"},{"title":"List source documents for a prior authorization","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /prior-authorizations/{id}/documents","href":"/api-reference/v2/prior-authorizations/list-source-documents-for-a-prior-authorization"}]},{"group":"Providers","pages":[{"title":"List providers","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /providers","href":"/api-reference/v2/providers/list-providers"},{"title":"Get provider by ID","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /providers/{id}","href":"/api-reference/v2/providers/get-provider-by-id"}]},{"group":"Schedule","pages":[{"title":"List appointment types","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /schedule/appointment-types","href":"/api-reference/v2/schedule/list-appointment-types"},{"title":"List availability templates","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /schedule/availability-templates","href":"/api-reference/v2/schedule/list-availability-templates"},{"title":"List calendar events","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /schedule/calendar-events","href":"/api-reference/v2/schedule/list-calendar-events"},{"title":"What this organization's EHR supports","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /schedule/capabilities","href":"/api-reference/v2/schedule/what-this-organizations-ehr-supports"},{"title":"Search the EHR's appointment finder","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /schedule/finder","href":"/api-reference/v2/schedule/search-the-ehrs-appointment-finder"},{"title":"Providers and facilities that take an appointment type","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /schedule/finder/provider-locations","href":"/api-reference/v2/schedule/providers-and-facilities-that-take-an-appointment-type"},{"title":"Hold a slot","deprecated":null,"version":null,"openapi":"/openapi-v2.json post /schedule/holds","href":"/api-reference/v2/schedule/hold-a-slot"},{"title":"Release a slot hold","deprecated":null,"version":null,"openapi":"/openapi-v2.json delete /schedule/holds/{holdId}","href":"/api-reference/v2/schedule/release-a-slot-hold"},{"title":"Find bookable slots","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /schedule/slots","href":"/api-reference/v2/schedule/find-bookable-slots"},{"title":"List visit reasons","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /visit-reasons","href":"/api-reference/v2/schedule/list-visit-reasons"}]},{"group":"Sync Requests","pages":[{"title":"Request a re-sync of a resource with the EHR","description":"Asks for one on-demand re-sync of a single resource (claim, bill, patient, note, appointment) with the source EHR, or of one patient's appointment list (`patient_appointments`, resourceId = the patient) from the EHR. Asynchronous: returns 202 with the queued request; poll GET /sync-requests/{id} until 'completed' or 'failed' (or subscribe to the sync_request.completed webhook), then re-read the resource. Requires the resource's read scope (e.g. read:claims for a claim). Guardrails: one re-sync per resource per 5 minutes (409; appointments: per connector per 30 minutes, because one appointment re-sync sweeps that connector's whole schedule window; patient_appointments: per patient per 5 minutes, read:appointments). There is no daily cap; the re-sync's EHR calls draw from the app share of each EHR login's rate limit.","deprecated":null,"version":null,"openapi":"/openapi-v2.json post /sync-requests","href":"/api-reference/v2/sync-requests/request-a-re-sync-of-a-resource-with-the-ehr"},{"title":"Request a re-sync of several resources in one call","deprecated":null,"version":null,"openapi":"/openapi-v2.json post /sync-requests/batch","href":"/api-reference/v2/sync-requests/request-a-re-sync-of-several-resources-in-one-call"},{"title":"Get a sync request by ID","description":"Returns a single sync request made by your app. Poll this until status is 'completed' or 'failed'. Requires the re-synced resource's read scope.","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /sync-requests/{id}","href":"/api-reference/v2/sync-requests/get-a-sync-request-by-id"}]},{"group":"Tasks","pages":[{"title":"List tasks","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /tasks","href":"/api-reference/v2/tasks/list-tasks"},{"title":"Create a task","deprecated":null,"version":null,"openapi":"/openapi-v2.json post /tasks","href":"/api-reference/v2/tasks/create-a-task"},{"title":"List task assignee groups","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /tasks/assignee-groups","href":"/api-reference/v2/tasks/list-task-assignee-groups"},{"title":"List task assignees","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /tasks/assignees","href":"/api-reference/v2/tasks/list-task-assignees"},{"title":"Task capabilities","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /tasks/capabilities","href":"/api-reference/v2/tasks/task-capabilities"},{"title":"Get task by ID","deprecated":null,"version":null,"openapi":"/openapi-v2.json get /tasks/{id}","href":"/api-reference/v2/tasks/get-task-by-id"},{"title":"Update task status","deprecated":null,"version":null,"openapi":"/openapi-v2.json patch /tasks/{id}","href":"/api-reference/v2/tasks/update-task-status"}]}]}]},{"version":"v1","pages":[{"title":"v1","href":"/api-reference/v1/sync-requests/request-a-re-sync-of-several-resources-in-one-call"}]}]}]},"basePath":"","title":"Request a re-sync of several resources in one call - Max AI Developer Docs","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-i2a3QZ8E.js","utils-ChLwp8m0.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DRktVTDc.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CA2pEs4T.js","snippetPresets-ClQ6XrKD.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Ct_Lv36y.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-Cn2PYw9e.js","shallow-rkyymjXQ.js","getApiPlaygroundDisplay-BB9vkXtE.js","CodeSnippet-Bm5RU7m1.js","CodeSnippets-BgU9Deuz.js","Page-BUDYNlhG.js","getPastedJson-BD-6NNum.js","icon-8Z6tud2e.js","MethodPill-Tuzr4g3V.js","DuplicateIcon-0ceWFYhN.js","createIcon-FBXow_ST.js","DynamicMarkdown-CD8713Yy.js","SectionHeading-7zgzQbH-.js","axios-vUo_bRtp.js","Markdown-D7Ofw1oz.js","clsx-eKJ4rcii.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CwjSCXIK.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-9EK5IAXV.js"]}