docs(api): publish the environment backfill limits

This commit is contained in:
Marc-André Bombeck committed 2026-10-08 22:37:56 +02:00
1 parent 98183700ce
commit e2ed62c74f
1 file changed
+23 -15
+23 -15
View File
@@ -22222,6 +22222,12 @@ paths:
The span is capped at 730 days, and the worker re-checks the cap independently. Body cap 4 KiB. Module-gated,
and it draws on the shared analytics-read rate bucket.
Every backfill draws on the instance-wide Open-Meteo budget, so one account is held to three a rolling hour (429
`environment.backfill_rate_limited`), at most one queued backfill per twenty-minute slot (409
`environment.backfill_pending`), and, inside the worker, its own share of the daily request budget; days the
share does not reach are filled by the nightly run.
requestBody:
required: true
content:
@@ -22239,8 +22245,9 @@ paths:
"401": *a1
"403": *a19
"409":
description: No home location is set, so there is nothing to resolve the days against. `meta.errorCode` =
`environment.no_home`.
description: No home location is set, so there is nothing to resolve the days against (`meta.errorCode` =
`environment.no_home`), or a backfill for this account is already queued in the current twenty-minute slot
(`environment.backfill_pending`).
content:
application/json:
schema:
@@ -34255,19 +34262,20 @@ components:
documents.sources.tokenRequired, documents.sources.unavailable, documents.sources.unreachable,
documents.sources.versionTooOld; encounter — encounter.invalid, encounter.link.invalid,
encounter.practitioner-not-found, encounter.reminder-conflict, encounter.reminder-not-found; encryption
— encryption.keyBackup.stale, encryption.key_mismatch; environment — environment.invalid,
environment.no_home, environment.range_too_large, environment.travel.not_found; export —
export.selection.empty, export.selection.unknown_leaf; familyHistory — familyHistory.invalid; feedback —
feedback.body.invalid; health_score_config — health_score_config.invalid,
health_score_config.too_narrow; illness — illness.day-log.invalid, illness.disabled,
illness.episode.chronic-no-resolve, illness.episode.invalid, illness.episode.invalid-window,
illness.episode.parent-not-found, illness.insights.invalid; import — import.apple_health.busy,
import.write_failed; ingest — ingest.rate_limited; insights — insights.generate.budgetExceeded,
insights.generate.outboundScreened, insights.generate.profileScopeChanged,
insights.generate.scopeChanged; labs — labs.biomarker.create.invalid, labs.biomarker.duplicate,
labs.biomarker.notFound, labs.biomarker.update.invalid, labs.biomarker.update.referenceRangeInvalid,
labs.create.invalid, labs.ocr.budgetExceeded, labs.ocr.extractFailed, labs.ocr.fileTooLarge,
labs.ocr.fileType, labs.ocr.localOcrDisabled, labs.ocr.pdfNeedsAnthropic, labs.ocr.providerUnsupported,
— encryption.keyBackup.stale, encryption.key_mismatch; environment — environment.backfill_pending,
environment.backfill_rate_limited, environment.invalid, environment.no_home,
environment.range_too_large, environment.travel.not_found; export — export.selection.empty,
export.selection.unknown_leaf; familyHistory — familyHistory.invalid; feedback — feedback.body.invalid;
health_score_config — health_score_config.invalid, health_score_config.too_narrow; illness —
illness.day-log.invalid, illness.disabled, illness.episode.chronic-no-resolve, illness.episode.invalid,
illness.episode.invalid-window, illness.episode.parent-not-found, illness.insights.invalid; import —
import.apple_health.busy, import.write_failed; ingest — ingest.rate_limited; insights —
insights.generate.budgetExceeded, insights.generate.outboundScreened,
insights.generate.profileScopeChanged, insights.generate.scopeChanged; labs —
labs.biomarker.create.invalid, labs.biomarker.duplicate, labs.biomarker.notFound,
labs.biomarker.update.invalid, labs.biomarker.update.referenceRangeInvalid, labs.create.invalid,
labs.ocr.budgetExceeded, labs.ocr.extractFailed, labs.ocr.fileTooLarge, labs.ocr.fileType,
labs.ocr.localOcrDisabled, labs.ocr.pdfNeedsAnthropic, labs.ocr.providerUnsupported,
labs.ocr.rateLimited, labs.restore.invalid, labs.result.notFound, labs.unit.mismatch,
labs.update.invalid, labs.update.linkedFieldsImmutable, labs.update.numericExpected,
labs.update.qualitativeExpected, labs.update.referenceRangeInvalid,