Applies many corrections in one all-or-nothing request. Each item takes the same fields as a single correction and addresses its data point by event friendly ID and slug, so one call can span many events and event types. Requires the write:event token scope.
If any item fails, nothing is persisted, and the response reports every item: a failing item carries status: error with a message, and items that would have succeeded come back as not_applied. Fix the reported item and resend the whole batch.
{"docsConfig":{"theme":"maple","$schema":"https://mintlify.com/docs.json","name":"Mangrove Documentation","colors":{"primary":"#08214b","light":"#57BECE","dark":"#08214b"},"logo":{"light":"https://mintcdn.com/mangrovesystems-54ba4724/kpZM-MU-JpFcnPYq/logo/light-docs.svg?fit=max\u0026auto=format\u0026n=kpZM-MU-JpFcnPYq\u0026q=85\u0026s=a97cb46238ca9c7dd4baed2a7ea38174","dark":"https://mintcdn.com/mangrovesystems-54ba4724/kpZM-MU-JpFcnPYq/logo/dark-docs.svg?fit=max\u0026auto=format\u0026n=kpZM-MU-JpFcnPYq\u0026q=85\u0026s=26bac1a7db046a50721d84caa567427c"},"favicon":"https://mintcdn.com/mangrovesystems-54ba4724/dcbiJV5xbjI2kYMW/favicon.svg?fit=max\u0026auto=format\u0026n=dcbiJV5xbjI2kYMW\u0026q=85\u0026s=4a48dbce3702ad44494114d68d3e850d","api":{"mdx":{"auth":{"method":"bearer"},"server":"https://app.gomangrove.com/api/v1"}},"appearance":{"default":"dark"},"background":{"color":{"light":"#EEF2F6","dark":"#080F1B"}},"navbar":{"links":[{"href":"https://www.mangrovesystems.com/contact","label":"Get Started"},{"href":"mailto:support@mangrovesystems.com","label":"Product Support"},{"href":"mailto:api@mangrovesystems.com?subject=Help%20needed%20with%20Mangrove%20API%3A%20X-Request-ID%20____","label":"API Support"}]},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/mangrovesystems"},"links":[{"header":"Quick Links","items":[{"label":"Get Started","href":"https://www.mangrovesystems.com/contact"},{"label":"Product Support","href":"mailto:support@mangrovesystems.com"},{"label":"API Support","href":"mailto:api@mangrovesystems.com?subject=Help%20needed%20with%20Mangrove%20API%3A%20X-Request-ID%20____"}]}]},"integrations":{"ga4":{"measurementId":"G-38MCMVTPB6"}},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"mangrovesystems-54ba4724","hasAudioNarration":false,"actualSubdomain":"mangrovesystems-54ba4724","customDomains":["docs.mangrovesystems.com"],"gitSource":{"type":"github","owner":"gomangrove","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6ae4c88fb010b190894b694b","clientVersion":"0.0.4117","searchFilterCounts":[{"language":"default","tag":"API Reference","count":210},{"language":"default","tag":"Production Data","count":120},{"language":"default","tag":"Accounting and Reporting","count":66},{"language":"default","tag":"User Guide - Mangrove","count":57},{"language":"default","tag":"Guides","count":36},{"language":"default","tag":"Data Rules","count":24},{"language":"default","tag":"Data Feeds","count":21},{"language":"default","tag":"Production Accounting","count":16},{"language":"default","tag":"Models","count":15},{"language":"default","tag":"Account Admin","count":14}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"p{font-size:0.9rem;line-height:1.6}ul,ol{font-size:0.9rem;line-height:1.6}#table-of-contents-content{font-size:0.8rem}a:hover{color:#2A8A99}.dark a:hover{color:#57BECE}.accounting-u-card [class*=\"Steps\"]{margin-top:0}"}],"page":{"pagePath":"api-reference/corrections/batch","slug":"/api-reference/corrections/batch","pageMetadata":{"title":"Correct many data point values","openapi":"POST /projects/{project_id}/corrections/batch","description":"Applies many corrections in one all-or-nothing request. Each item takes the same fields as a single correction and addresses its data point by event friendly ID and slug, so one call can span many events and event types. Requires the `write:event` token scope.\n\nIf any item fails, nothing is persisted, and the response reports every item: a failing item carries `status: error` with a message, and items that would have succeeded come back as `not_applied`. Fix the reported item and resend the whole batch.","href":"/api-reference/corrections/batch"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Applies many corrections in one all-or-nothing request. Each item takes the same fields as a single correction and addresses its data point by event friendly ID and slug, so one call can span many events and event types. Requires the \", _jsx(_components.code, {\n children: \"write:event\"\n }), \" token scope.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"If any item fails, nothing is persisted, and the response reports every item: a failing item carries \", _jsx(_components.code, {\n children: \"status: error\"\n }), \" with a message, and items that would have succeeded come back as \", _jsx(_components.code, {\n children: \"not_applied\"\n }), \". Fix the reported item and resend the whole batch.\"]\n })]\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":"Correct many data point values","openapi":"POST /projects/{project_id}/corrections/batch","description":"Applies many corrections in one all-or-nothing request. Each item takes the same fields as a single correction and addresses its data point by event friendly ID and slug, so one call can span many events and event types. Requires the `write:event` token scope.\n\nIf any item fails, nothing is persisted, and the response reports every item: a failing item carries `status: error` with a message, and items that would have succeeded come back as `not_applied`. Fix the reported item and resend the whole batch.","href":"/api-reference/corrections/batch"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Apply many corrections at once","description":"Applies many corrections in one all-or-nothing request. Each item takes the same fields as a single correction and addresses its data point by event friendly ID and slug, so one call can span many events and event types. Requires the `write:event` token scope.\n\nIf any item fails, nothing is persisted, and the response reports every item: a failing item carries `status: error` with a message, and items that would have succeeded come back as `not_applied`. Fix the reported item and resend the whole batch.","operationId":"batch-corrections","parameters":["3158f965-a2c4-4cdc-8405-9b466b6410e3"],"requestBody":"de2b800a-e67c-452e-b4d2-387dc29e7b8c","responses":{"200":"72b2d8f6-7cfe-4bb4-b741-454298095f94","401":"0dad3e43-074a-41b7-a5f1-c006a4f260cc","403":"2f9ff164-2cb5-4a17-a252-12775bc17bbe","404":"bee01592-7106-4481-a873-feb10bdc4b94","422":"4981d5d2-c002-457c-9ced-64a122f1946f"},"method":"post","type":"path","servers":["8601e334-e5ff-44b9-bba3-271373d1bb90"],"security":["3309f19f-a9a3-4127-ae87-95dec0cdca8d"],"path":"/projects/{project_id}/corrections/batch","baseUrlOptions":["https://app.gomangrove.com/api/v1"],"title":"Apply many corrections at once","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"3158f965-a2c4-4cdc-8405-9b466b6410e3":{"name":"project_id","in":"path","required":true,"description":"The project's friendly ID (e.g. `prj_aBcD1234eFgH5678`).","schema":{"type":"string","isRequired":true,"description":"The project's friendly ID (e.g. `prj_aBcD1234eFgH5678`).","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"examples":{"Two events":{"title":"Two events","value":{"corrections":[{"event":"evt_mNoP2345qRsT6789","slug":"ambient-temperature-c","value":12.4,"notes":"Sensor drift confirmed against the calibration log."},{"event":"evt_kLmN3456oPqR7890","slug":"mass-flow-rate","value":0,"method":"zero_fill","expect":"gap"}]}}},"schema":{"type":"object","required":["corrections"],"properties":{"corrections":{"type":"array","description":"The corrections to apply, in order. Each item is reported back by its index.","items":{"type":"object","required":["event","slug","value"],"properties":{"event":{"type":"string","description":"Event friendly ID (e.g. `evt_aBcD1234eFgH5678`).","isRequired":true,"uniqueKey":"corrections.items.[INDEX].event","typeLabel":"string"},"slug":{"type":"string","description":"Data point type slug on that event's event type.","isRequired":true,"uniqueKey":"corrections.items.[INDEX].slug","typeLabel":"string"},"value":{"oneOf":[{"type":"number","description":"The corrected value. Required; a null value fails the batch.","isRequired":true,"uniqueKey":"corrections.items.[INDEX].value.oneOf.0","typeLabel":"number"},{"type":"string","description":"The corrected value. Required; a null value fails the batch.","isRequired":true,"uniqueKey":"corrections.items.[INDEX].value.oneOf.1","typeLabel":"string"},{"type":"boolean","description":"The corrected value. Required; a null value fails the batch.","isRequired":true,"uniqueKey":"corrections.items.[INDEX].value.oneOf.2","typeLabel":"boolean"}],"isRequired":true,"uniqueKey":"corrections.items.[INDEX].value","typeLabel":"number | string | boolean"},"method":{"type":"string","default":"manual_entry","description":"Same as the single-value endpoint, including its part in replay matching.","uniqueKey":"corrections.items.[INDEX].method","typeLabel":"string"},"notes":{"type":"string","description":"Free-text justification stored with the correction.","uniqueKey":"corrections.items.[INDEX].notes","typeLabel":"string"},"expect":{"type":"string","enum":["gap","existing"],"description":"Per-item guard, with the same semantics as the single-value endpoint.","uniqueKey":"corrections.items.[INDEX].expect","typeLabel":"enum\u003cstring>"}},"uniqueKey":"corrections.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"corrections","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"72b2d8f6-7cfe-4bb4-b741-454298095f94":{"description":"Every correction applied.","content":{"application/json":{"examples":{"Result":{"title":"Result","value":{"applied":true,"results":[{"index":0,"status":"created","correction":{"id":"sub_aBcD1234eFgH5678","data_point_id":"in_kLmN3456oPqR7890","stage":"ingestion","source":"api","method":"manual_entry","origin":"substituted","from_value":14.9,"to_value":12.4,"notes":"Sensor drift confirmed against the calibration log.","rule":null,"created_by":"Example User","created_at":"2026-07-21T14:02:55.000Z"}},{"index":1,"status":"created","correction":{"id":"sub_kLmN3456oPqR7890","data_point_id":"in_mNoP2345qRsT6789","stage":"ingestion","source":"api","method":"zero_fill","origin":"imputed","from_value":null,"to_value":0,"notes":null,"rule":null,"created_by":"Example User","created_at":"2026-07-21T14:02:55.000Z"}}]}}},"schema":{"type":"object","properties":{"applied":{"type":"boolean","description":"True when every item succeeded and the batch was committed; false means nothing was persisted.","uniqueKey":"applied","typeLabel":"boolean"},"results":{"type":"array","description":"One entry per submitted correction, in request order.","items":{"type":"object","properties":{"index":{"type":"integer","description":"Zero-based position of the item in the submitted array.","uniqueKey":"results.items.[INDEX].index","typeLabel":"integer"},"status":{"type":"string","enum":["created","unchanged","not_applied","error"],"description":"`created` applied a new correction. `unchanged` matched the data point's latest correction, so nothing was written. `not_applied` would have succeeded but was rolled back because another item failed. `error` is an item that failed.","uniqueKey":"results.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"correction":{"type":"object","description":"The correction the item wrote or matched. Absent on an `error` item. On a `not_applied` item it describes the change that was rolled back, and its `id` may name a record that was never saved, so don't store it or use it in a later request.","properties":{"id":{"type":"string","description":"Correction friendly ID (`sub_...`).","uniqueKey":"results.items.[INDEX].correction.id","typeLabel":"string"},"data_point_id":{"type":"string","description":"Friendly ID of the corrected data point.","uniqueKey":"results.items.[INDEX].correction.data_point_id","typeLabel":"string"},"stage":{"type":"string","enum":["ingestion","value_stream"],"description":"`ingestion` corrections change the data point's value, which every model and report reads; this API writes only these. `value_stream` corrections override the value for one value stream and leave the shared value untouched.","uniqueKey":"results.items.[INDEX].correction.stage","typeLabel":"enum\u003cstring>"},"source":{"type":"string","enum":["api","transformation","rule","manual"],"description":"Where the correction came from. Corrections written through this API are `api`.","uniqueKey":"results.items.[INDEX].correction.source","typeLabel":"enum\u003cstring>"},"method":{"type":"string","description":"How the value was arrived at. On a correction written through this API it is the `method` the caller sent, or `manual_entry` when none was sent. A data rule's correction carries the substitution method that resolved it, and a revert carries `revert`.","uniqueKey":"results.items.[INDEX].correction.method","typeLabel":"string"},"origin":{"type":"string","description":"`substituted` changed an existing value. `imputed` set a value where none was recorded; the two are kept apart because program substitution thresholds count them differently. `reverted` restored the original value.","enum":["substituted","imputed","reverted"],"uniqueKey":"results.items.[INDEX].correction.origin","typeLabel":"enum\u003cstring>"},"from_value":{"oneOf":[{"description":"The value before this entry. Null when no value existed.","type":"number","uniqueKey":"results.items.[INDEX].correction.from_value.oneOf.0","typeLabel":"number"},{"description":"The value before this entry. Null when no value existed.","type":"string","uniqueKey":"results.items.[INDEX].correction.from_value.oneOf.1","typeLabel":"string"},{"description":"The value before this entry. Null when no value existed.","type":"boolean","uniqueKey":"results.items.[INDEX].correction.from_value.oneOf.2","typeLabel":"boolean"},{"description":"The value before this entry. Null when no value existed.","type":"null","uniqueKey":"results.items.[INDEX].correction.from_value.oneOf.3","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].correction.from_value","typeLabel":"number | string | boolean | null"},"to_value":{"oneOf":[{"description":"The value after this entry. Null only on a revert of an imputed value, which restores the empty slot.","type":"number","uniqueKey":"results.items.[INDEX].correction.to_value.oneOf.0","typeLabel":"number"},{"description":"The value after this entry. Null only on a revert of an imputed value, which restores the empty slot.","type":"string","uniqueKey":"results.items.[INDEX].correction.to_value.oneOf.1","typeLabel":"string"},{"description":"The value after this entry. Null only on a revert of an imputed value, which restores the empty slot.","type":"boolean","uniqueKey":"results.items.[INDEX].correction.to_value.oneOf.2","typeLabel":"boolean"},{"description":"The value after this entry. Null only on a revert of an imputed value, which restores the empty slot.","type":"null","uniqueKey":"results.items.[INDEX].correction.to_value.oneOf.3","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].correction.to_value","typeLabel":"number | string | boolean | null"},"notes":{"oneOf":[{"type":"string","description":"Free-text justification sent with the correction.","uniqueKey":"results.items.[INDEX].correction.notes.oneOf.0","typeLabel":"string"},{"type":"null","description":"Free-text justification sent with the correction.","uniqueKey":"results.items.[INDEX].correction.notes.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].correction.notes","typeLabel":"string | null"},"rule":{"oneOf":[{"type":"object","description":"The data rule that wrote this correction. Null for manual and API corrections.","properties":{"name":{"type":"string","uniqueKey":"results.items.[INDEX].correction.rule.oneOf.0.name","typeLabel":"string"},"friendly_id":{"type":"string","uniqueKey":"results.items.[INDEX].correction.rule.oneOf.0.friendly_id","typeLabel":"string"}},"uniqueKey":"results.items.[INDEX].correction.rule.oneOf.0","typeLabel":"object"},{"type":"null","description":"The data rule that wrote this correction. Null for manual and API corrections.","properties":{"name":{"type":"string"},"friendly_id":{"type":"string"}},"uniqueKey":"results.items.[INDEX].correction.rule.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].correction.rule","typeLabel":"object | null"},"created_by":{"oneOf":[{"type":"string","description":"Name of the user the correction is attributed to. Null on a correction a data rule wrote on its own, or one written with an API token that isn't associated with a user.","uniqueKey":"results.items.[INDEX].correction.created_by.oneOf.0","typeLabel":"string"},{"type":"null","description":"Name of the user the correction is attributed to. Null on a correction a data rule wrote on its own, or one written with an API token that isn't associated with a user.","uniqueKey":"results.items.[INDEX].correction.created_by.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].correction.created_by","typeLabel":"string | null"},"created_at":{"type":"string","format":"date-time","uniqueKey":"results.items.[INDEX].correction.created_at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"results.items.[INDEX].correction","typeLabel":"object"},"error":{"type":"string","description":"Why the item failed. Present only on items whose status is `error`.","uniqueKey":"results.items.[INDEX].error","typeLabel":"string"}},"uniqueKey":"results.items.[INDEX]","typeLabel":"object"},"uniqueKey":"results","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"exampleType":"examples"}},"exampleType":"examples"},"0dad3e43-074a-41b7-a5f1-c006a4f260cc":{"description":"The API token is missing, invalid or expired. The body is empty, except for an expired token, which returns the error below.","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Human-readable error message","isRequired":true,"uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"field":{"type":"string","description":"Attribute the error applies to (validation errors only)","uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable error code (validation errors only)","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"blocking":{"type":"array","description":"Bounded preview of the records blocking a destroy (blocked-destroy errors only)","items":{"type":"object","required":["type"],"properties":{"type":{"type":"string","isRequired":true,"uniqueKey":"errors.items.[INDEX].blocking.items.[INDEX].type","typeLabel":"string"},"friendly_id":{"type":"string","uniqueKey":"errors.items.[INDEX].blocking.items.[INDEX].friendly_id","typeLabel":"string"},"name":{"oneOf":[{"type":"string","description":"Display label, and the only identifier for records that have no friendly_id","uniqueKey":"errors.items.[INDEX].blocking.items.[INDEX].name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Display label, and the only identifier for records that have no friendly_id","uniqueKey":"errors.items.[INDEX].blocking.items.[INDEX].name.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors.items.[INDEX].blocking.items.[INDEX].name","typeLabel":"string | null"}},"uniqueKey":"errors.items.[INDEX].blocking.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors.items.[INDEX].blocking","typeLabel":"object[]"},"blocking_count":{"type":"integer","description":"Total count of records blocking a destroy (blocked-destroy errors only)","uniqueKey":"errors.items.[INDEX].blocking_count","typeLabel":"integer"},"config_key":{"type":"string","description":"The data feed source config setting to fix, when the error is on `config` (data feed source validation errors only)","uniqueKey":"errors.items.[INDEX].config_key","typeLabel":"string"},"count":{"type":"number","description":"The limit or comparison value the failed validation checked against, e.g. a maximum length or a numeric bound (validation errors only, when the validation has one)","uniqueKey":"errors.items.[INDEX].count","typeLabel":"number"},"value":{"description":"The rejected value, e.g. on an inclusion or uniqueness failure (validation errors only, when the validation reports one)","uniqueKey":"errors.items.[INDEX].value","typeLabel":"any"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"errors":[{"message":"API token has expired"}]},"examples":{"Example":{"title":"Example","value":{"errors":[{"message":"API token has expired"}]}}},"exampleType":"examples"}},"exampleType":"examples"},"2f9ff164-2cb5-4a17-a252-12775bc17bbe":{"description":"The token lacks the scope the operation's description names, or a condition the description states applies, such as a feature that isn't enabled for your account.","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Human-readable error message","isRequired":true,"uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"field":{"type":"string","description":"Attribute the error applies to (validation errors only)","uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable error code (validation errors only)","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"blocking":{"type":"array","description":"Bounded preview of the records blocking a destroy (blocked-destroy errors only)","items":{"type":"object","required":["type"],"properties":{"type":{"type":"string","isRequired":true,"uniqueKey":"errors.items.[INDEX].blocking.items.[INDEX].type","typeLabel":"string"},"friendly_id":{"type":"string","uniqueKey":"errors.items.[INDEX].blocking.items.[INDEX].friendly_id","typeLabel":"string"},"name":{"oneOf":[{"type":"string","description":"Display label, and the only identifier for records that have no friendly_id","uniqueKey":"errors.items.[INDEX].blocking.items.[INDEX].name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Display label, and the only identifier for records that have no friendly_id","uniqueKey":"errors.items.[INDEX].blocking.items.[INDEX].name.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors.items.[INDEX].blocking.items.[INDEX].name","typeLabel":"string | null"}},"uniqueKey":"errors.items.[INDEX].blocking.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors.items.[INDEX].blocking","typeLabel":"object[]"},"blocking_count":{"type":"integer","description":"Total count of records blocking a destroy (blocked-destroy errors only)","uniqueKey":"errors.items.[INDEX].blocking_count","typeLabel":"integer"},"config_key":{"type":"string","description":"The data feed source config setting to fix, when the error is on `config` (data feed source validation errors only)","uniqueKey":"errors.items.[INDEX].config_key","typeLabel":"string"},"count":{"type":"number","description":"The limit or comparison value the failed validation checked against, e.g. a maximum length or a numeric bound (validation errors only, when the validation has one)","uniqueKey":"errors.items.[INDEX].count","typeLabel":"number"},"value":{"description":"The rejected value, e.g. on an inclusion or uniqueness failure (validation errors only, when the validation reports one)","uniqueKey":"errors.items.[INDEX].value","typeLabel":"any"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"errors":[{"message":"You are not authorized to perform this action"}]},"examples":{"Example":{"title":"Example","value":{"errors":[{"message":"You are not authorized to perform this action"}]}}},"exampleType":"examples"}},"exampleType":"examples"},"bee01592-7106-4481-a873-feb10bdc4b94":{"description":"A resource named in the path doesn't exist in your account, or the token can't see it.","content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Human-readable error message","isRequired":true,"uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"field":{"type":"string","description":"Attribute the error applies to (validation errors only)","uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable error code (validation errors only)","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"blocking":{"type":"array","description":"Bounded preview of the records blocking a destroy (blocked-destroy errors only)","items":{"type":"object","required":["type"],"properties":{"type":{"type":"string","isRequired":true,"uniqueKey":"errors.items.[INDEX].blocking.items.[INDEX].type","typeLabel":"string"},"friendly_id":{"type":"string","uniqueKey":"errors.items.[INDEX].blocking.items.[INDEX].friendly_id","typeLabel":"string"},"name":{"oneOf":[{"type":"string","description":"Display label, and the only identifier for records that have no friendly_id","uniqueKey":"errors.items.[INDEX].blocking.items.[INDEX].name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Display label, and the only identifier for records that have no friendly_id","uniqueKey":"errors.items.[INDEX].blocking.items.[INDEX].name.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors.items.[INDEX].blocking.items.[INDEX].name","typeLabel":"string | null"}},"uniqueKey":"errors.items.[INDEX].blocking.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors.items.[INDEX].blocking","typeLabel":"object[]"},"blocking_count":{"type":"integer","description":"Total count of records blocking a destroy (blocked-destroy errors only)","uniqueKey":"errors.items.[INDEX].blocking_count","typeLabel":"integer"},"config_key":{"type":"string","description":"The data feed source config setting to fix, when the error is on `config` (data feed source validation errors only)","uniqueKey":"errors.items.[INDEX].config_key","typeLabel":"string"},"count":{"type":"number","description":"The limit or comparison value the failed validation checked against, e.g. a maximum length or a numeric bound (validation errors only, when the validation has one)","uniqueKey":"errors.items.[INDEX].count","typeLabel":"number"},"value":{"description":"The rejected value, e.g. on an inclusion or uniqueness failure (validation errors only, when the validation reports one)","uniqueKey":"errors.items.[INDEX].value","typeLabel":"any"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"errors":[{"message":"Record not found"}]},"examples":{"Example":{"title":"Example","value":{"errors":[{"message":"Record not found"}]}}},"exampleType":"examples"}},"exampleType":"examples"},"4981d5d2-c002-457c-9ced-64a122f1946f":{"description":"Nothing was applied. At least one item failed.","content":{"application/json":{"examples":{"Unknown event":{"title":"Unknown event","value":{"applied":false,"results":[{"index":0,"status":"not_applied","correction":{"id":"sub_aBcD1234eFgH5678","data_point_id":"in_kLmN3456oPqR7890","stage":"ingestion","source":"api","method":"manual_entry","origin":"substituted","from_value":14.9,"to_value":12.4,"notes":"Sensor drift confirmed against the calibration log.","rule":null,"created_by":"Example User","created_at":"2026-07-21T14:02:55.000Z"}},{"index":1,"status":"error","error":"Unknown event 'evt_doesNotExist0001'"}]}}},"schema":{"type":"object","properties":{"applied":{"type":"boolean","description":"True when every item succeeded and the batch was committed; false means nothing was persisted.","uniqueKey":"applied","typeLabel":"boolean"},"results":{"type":"array","description":"One entry per submitted correction, in request order.","items":{"type":"object","properties":{"index":{"type":"integer","description":"Zero-based position of the item in the submitted array.","uniqueKey":"results.items.[INDEX].index","typeLabel":"integer"},"status":{"type":"string","enum":["created","unchanged","not_applied","error"],"description":"`created` applied a new correction. `unchanged` matched the data point's latest correction, so nothing was written. `not_applied` would have succeeded but was rolled back because another item failed. `error` is an item that failed.","uniqueKey":"results.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"correction":{"type":"object","description":"The correction the item wrote or matched. Absent on an `error` item. On a `not_applied` item it describes the change that was rolled back, and its `id` may name a record that was never saved, so don't store it or use it in a later request.","properties":{"id":{"type":"string","description":"Correction friendly ID (`sub_...`).","uniqueKey":"results.items.[INDEX].correction.id","typeLabel":"string"},"data_point_id":{"type":"string","description":"Friendly ID of the corrected data point.","uniqueKey":"results.items.[INDEX].correction.data_point_id","typeLabel":"string"},"stage":{"type":"string","enum":["ingestion","value_stream"],"description":"`ingestion` corrections change the data point's value, which every model and report reads; this API writes only these. `value_stream` corrections override the value for one value stream and leave the shared value untouched.","uniqueKey":"results.items.[INDEX].correction.stage","typeLabel":"enum\u003cstring>"},"source":{"type":"string","enum":["api","transformation","rule","manual"],"description":"Where the correction came from. Corrections written through this API are `api`.","uniqueKey":"results.items.[INDEX].correction.source","typeLabel":"enum\u003cstring>"},"method":{"type":"string","description":"How the value was arrived at. On a correction written through this API it is the `method` the caller sent, or `manual_entry` when none was sent. A data rule's correction carries the substitution method that resolved it, and a revert carries `revert`.","uniqueKey":"results.items.[INDEX].correction.method","typeLabel":"string"},"origin":{"type":"string","description":"`substituted` changed an existing value. `imputed` set a value where none was recorded; the two are kept apart because program substitution thresholds count them differently. `reverted` restored the original value.","enum":["substituted","imputed","reverted"],"uniqueKey":"results.items.[INDEX].correction.origin","typeLabel":"enum\u003cstring>"},"from_value":{"oneOf":[{"description":"The value before this entry. Null when no value existed.","type":"number","uniqueKey":"results.items.[INDEX].correction.from_value.oneOf.0","typeLabel":"number"},{"description":"The value before this entry. Null when no value existed.","type":"string","uniqueKey":"results.items.[INDEX].correction.from_value.oneOf.1","typeLabel":"string"},{"description":"The value before this entry. Null when no value existed.","type":"boolean","uniqueKey":"results.items.[INDEX].correction.from_value.oneOf.2","typeLabel":"boolean"},{"description":"The value before this entry. Null when no value existed.","type":"null","uniqueKey":"results.items.[INDEX].correction.from_value.oneOf.3","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].correction.from_value","typeLabel":"number | string | boolean | null"},"to_value":{"oneOf":[{"description":"The value after this entry. Null only on a revert of an imputed value, which restores the empty slot.","type":"number","uniqueKey":"results.items.[INDEX].correction.to_value.oneOf.0","typeLabel":"number"},{"description":"The value after this entry. Null only on a revert of an imputed value, which restores the empty slot.","type":"string","uniqueKey":"results.items.[INDEX].correction.to_value.oneOf.1","typeLabel":"string"},{"description":"The value after this entry. Null only on a revert of an imputed value, which restores the empty slot.","type":"boolean","uniqueKey":"results.items.[INDEX].correction.to_value.oneOf.2","typeLabel":"boolean"},{"description":"The value after this entry. Null only on a revert of an imputed value, which restores the empty slot.","type":"null","uniqueKey":"results.items.[INDEX].correction.to_value.oneOf.3","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].correction.to_value","typeLabel":"number | string | boolean | null"},"notes":{"oneOf":[{"type":"string","description":"Free-text justification sent with the correction.","uniqueKey":"results.items.[INDEX].correction.notes.oneOf.0","typeLabel":"string"},{"type":"null","description":"Free-text justification sent with the correction.","uniqueKey":"results.items.[INDEX].correction.notes.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].correction.notes","typeLabel":"string | null"},"rule":{"oneOf":[{"type":"object","description":"The data rule that wrote this correction. Null for manual and API corrections.","properties":{"name":{"type":"string","uniqueKey":"results.items.[INDEX].correction.rule.oneOf.0.name","typeLabel":"string"},"friendly_id":{"type":"string","uniqueKey":"results.items.[INDEX].correction.rule.oneOf.0.friendly_id","typeLabel":"string"}},"uniqueKey":"results.items.[INDEX].correction.rule.oneOf.0","typeLabel":"object"},{"type":"null","description":"The data rule that wrote this correction. Null for manual and API corrections.","properties":{"name":{"type":"string"},"friendly_id":{"type":"string"}},"uniqueKey":"results.items.[INDEX].correction.rule.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].correction.rule","typeLabel":"object | null"},"created_by":{"oneOf":[{"type":"string","description":"Name of the user the correction is attributed to. Null on a correction a data rule wrote on its own, or one written with an API token that isn't associated with a user.","uniqueKey":"results.items.[INDEX].correction.created_by.oneOf.0","typeLabel":"string"},{"type":"null","description":"Name of the user the correction is attributed to. Null on a correction a data rule wrote on its own, or one written with an API token that isn't associated with a user.","uniqueKey":"results.items.[INDEX].correction.created_by.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].correction.created_by","typeLabel":"string | null"},"created_at":{"type":"string","format":"date-time","uniqueKey":"results.items.[INDEX].correction.created_at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"results.items.[INDEX].correction","typeLabel":"object"},"error":{"type":"string","description":"Why the item failed. Present only on items whose status is `error`.","uniqueKey":"results.items.[INDEX].error","typeLabel":"string"}},"uniqueKey":"results.items.[INDEX]","typeLabel":"object"},"uniqueKey":"results","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"3309f19f-a9a3-4127-ae87-95dec0cdca8d":{"sec0":{"type":"apiKey","in":"header","name":"Authorization","x-bearer-format":"","scopes":[],"schemeName":"sec0"}}},"servers":{"8601e334-e5ff-44b9-bba3-271373d1bb90":{"url":"https://app.gomangrove.com/api/v1"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"Authorization","x-bearer-format":"","scopes":[],"schemeName":"sec0"},"schema":{"title":"Authorization","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"sec0","name":"Authorization"}],"title":"sec0"}]},"originalFileLocation":"api-reference/openapi.yaml"},"subdomain":"mangrovesystems-54ba4724","siteName":"Mangrove Documentation","title":"Correct many data point values - Mangrove Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-28T15:18:49.709Z","originalFileLocation":"api-reference/corrections/batch.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=\"dark\"}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=\"Applies many corrections in one all-or-nothing request. Each item takes the same fields as a single correction and addresses its data point by event friendly ID and slug, so one call can span many events and event types. Requires the write:event token scope. If any item fails, nothing is persisted, and the response reports every item: a failing item carries status: error with a message, and items that would have succeeded come back as not_applied. Fix the reported item and resend the whole batch.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Mangrove Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/mangrovesystems-54ba4724/EgpZfCl0WJY76IfX/_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/mangrovesystems-54ba4724/EgpZfCl0WJY76IfX/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/mangrovesystems-54ba4724/EgpZfCl0WJY76IfX/_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/mangrovesystems-54ba4724/EgpZfCl0WJY76IfX/_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/mangrovesystems-54ba4724/EgpZfCl0WJY76IfX/_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/mangrovesystems-54ba4724/EgpZfCl0WJY76IfX/_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/mangrovesystems-54ba4724/EgpZfCl0WJY76IfX/_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/mangrovesystems-54ba4724/EgpZfCl0WJY76IfX/_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/mangrovesystems-54ba4724/EgpZfCl0WJY76IfX/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Correct many data point values - Mangrove Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Applies many corrections in one all-or-nothing request. Each item takes the same fields as a single correction and addresses its data point by event friendly ID and slug, so one call can span many events and event types. Requires the write:event token scope. If any item fails, nothing is persisted, and the response reports every item: a failing item carries status: error with a message, and items that would have succeeded come back as not_applied. Fix the reported item and resend the whole batch.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Mangrove Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.mangrovesystems.com/api-reference/corrections/batch\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://mangrovesystems-54ba4724.mintlify.site/_mintlify/api/og/v2?division=Corrections\u0026amp;title=Correct+many+data+point+values\u0026amp;description=Applies+many+corrections+in+one+all-or-nothing+request.+Each+item+takes+the+same+fields+as+a+single+correction+and+addresses+its+data+point+by+event+friendly+ID\u0026amp;theme=5481a398fe62fbe0dddeac42\u0026amp;signature=980fa533b644ff2e16c81816e3a835beaa17e88c09de541ea5efc5b5b982684e\">\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=\"Correct many data point values - Mangrove Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Applies many corrections in one all-or-nothing request. Each item takes the same fields as a single correction and addresses its data point by event friendly ID and slug, so one call can span many events and event types. Requires the write:event token scope. If any item fails, nothing is persisted, and the response reports every item: a failing item carries status: error with a message, and items that would have succeeded come back as not_applied. Fix the reported item and resend the whole batch.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://mangrovesystems-54ba4724.mintlify.site/_mintlify/api/og/v2?division=Corrections\u0026amp;title=Correct+many+data+point+values\u0026amp;description=Applies+many+corrections+in+one+all-or-nothing+request.+Each+item+takes+the+same+fields+as+a+single+correction+and+addresses+its+data+point+by+event+friendly+ID\u0026amp;theme=5481a398fe62fbe0dddeac42\u0026amp;signature=980fa533b644ff2e16c81816e3a835beaa17e88c09de541ea5efc5b5b982684e\">\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/mangrovesystems-54ba4724/EgpZfCl0WJY76IfX/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Mangrove Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#08214b\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.mangrovesystems.com/api-reference/corrections/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/corrections/batch.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.mangrovesystems.com/#organization\",\"name\":\"Mangrove Documentation\",\"url\":\"https://docs.mangrovesystems.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/mangrovesystems-54ba4724/kpZM-MU-JpFcnPYq/logo/light-docs.svg?fit=max\u0026auto=format\u0026n=kpZM-MU-JpFcnPYq\u0026q=85\u0026s=a97cb46238ca9c7dd4baed2a7ea38174\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.mangrovesystems.com#website\",\"name\":\"Mangrove Documentation\",\"url\":\"https://docs.mangrovesystems.com\",\"publisher\":{\"@id\":\"https://docs.mangrovesystems.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.mangrovesystems.com/api-reference/corrections/batch#webpage\",\"url\":\"https://docs.mangrovesystems.com/api-reference/corrections/batch\",\"name\":\"Correct many data point values\",\"description\":\"Applies many corrections in one all-or-nothing request. Each item takes the same fields as a single correction and addresses its data point by event friendly ID and slug, so one call can span many events and event types. Requires the write:event token scope. If any item fails, nothing is persisted, and the response reports every item: a failing item carries status: error with a message, and items that would have succeeded come back as not_applied. Fix the reported item and resend the whole batch.\",\"dateModified\":\"2026-10-28T15:18:49.709Z\",\"isPartOf\":{\"@id\":\"https://docs.mangrovesystems.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.mangrovesystems.com/api-reference/corrections/batch#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.mangrovesystems.com/api-reference/corrections/batch#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Production Data\",\"item\":\"https://docs.mangrovesystems.com/api-reference/projects/get\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Corrections\",\"item\":\"https://docs.mangrovesystems.com/api-reference/corrections/set-value\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Correct many data point values\",\"item\":\"https://docs.mangrovesystems.com/api-reference/corrections/batch\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.mangrovesystems.com/api-reference/corrections/batch#apireference\",\"headline\":\"Correct many data point values\",\"name\":\"Correct many data point values\",\"description\":\"Applies many corrections in one all-or-nothing request. Each item takes the same fields as a single correction and addresses its data point by event friendly ID and slug, so one call can span many events and event types. Requires the write:event token scope. If any item fails, nothing is persisted, and the response reports every item: a failing item carries status: error with a message, and items that would have succeeded come back as not_applied. Fix the reported item and resend the whole batch.\",\"url\":\"https://docs.mangrovesystems.com/api-reference/corrections/batch\",\"mainEntityOfPage\":{\"@id\":\"https://docs.mangrovesystems.com/api-reference/corrections/batch#webpage\"},\"dateModified\":\"2026-10-28T15:18:49.709Z\",\"publisher\":{\"@id\":\"https://docs.mangrovesystems.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.mangrovesystems.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Mangrove Documentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Mangrove Documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/corrections/batch.md","siteName":"Mangrove Documentation","nav":{"global":null,"dropdowns":[{"dropdown":"User Guide - Mangrove","icon":"book-open","groups":[{"group":"Overview","pages":[{"title":"Mangrove Overview","href":"/overview"}]},{"group":"Production Accounting","pages":[{"title":"Getting Started","href":"/production-accounting/getting-started"},{"title":"Production Accounting Fundamentals","sidebarTitle":"Fundamentals","href":"/production-accounting/fundamentals"},{"group":"Project configuration","icon":"sliders","pages":[{"title":"Create a new project","href":"/production-accounting/add-project"},{"title":"Configure data inputs","href":"/production-accounting/data-inputs"},{"title":"Connect data sources","href":"/data-collection/data-sources"},{"title":"Build accounting models","href":"/production-accounting/models"},{"title":"Mass Balance Accounting","sidebarTitle":"Configure mass accounts","href":"/production-accounting/mass-balance-accounting"},{"title":"Configure project locations","sidebarTitle":"Configure locations","href":"/production-accounting/locations"},{"title":"Manage project assets","sidebarTitle":"Manage assets","href":"/production-accounting/assets"}]},{"group":"Guides","icon":"signs-post","pages":[{"title":"Generate batches","href":"/production-accounting/generate-batches"},{"title":"Feedstock Accounting","href":"/production-accounting/feedstocks"},{"title":"Generate CI scores","href":"/production-accounting/generate-scores"},{"title":"Embodied Emissions","sidebarTitle":"Embodied Emissions","href":"/production-accounting/embodied-emissions"},{"title":"Instruments","sidebarTitle":"Instruments","href":"/production-accounting/instruments"},{"title":"Uncertainty propagation","href":"/production-accounting/uncertainty-propagation"},{"title":"Model Operators","href":"/production-accounting/model-expressions"}]}]},{"group":"Data Collection","pages":[{"title":"Data Collection Pathways","href":"/data-collection/pathways"},{"group":"Guides","icon":"signs-post","pages":[{"title":"Review data points","sidebarTitle":"Review data points","href":"/data-collection/data-points"},{"title":"Data capture rate","sidebarTitle":"Data capture rate","href":"/data-collection/data-capture-rate"},{"title":"Add events directly","href":"/data-collection/add-data"},{"title":"Track transport events","href":"/data-collection/add-transport-events"},{"title":"Bulk import data","href":"/data-collection/bulk-import"},{"group":"Data connectors","icon":"plug","pages":[{"title":"Data connectors","sidebarTitle":"Overview","href":"/data-collection/data-connectors"},{"title":"Connect a SQL database","sidebarTitle":"SQL databases","href":"/data-collection/activate-data-connector"},{"title":"Connect an HTTP API","sidebarTitle":"HTTP APIs","href":"/data-collection/activate-http-api-connector"}]},{"title":"Request data from external partners","sidebarTitle":"Request data","href":"/data-collection/request-data"},{"title":"Schedule recurring data requests","sidebarTitle":"Schedule data requests","href":"/data-collection/schedule-data-requests"},{"title":"Submit to Data Requests","href":"/data-collection/submit-to-data-request"},{"title":"Evidence Checks","href":"/data-collection/evidence-checks"}]}]},{"group":"Data Rules","pages":[{"title":"Data Rules Fundamentals","sidebarTitle":"Fundamentals","href":"/data-rules/fundamentals"},{"group":"Guides","icon":"signs-post","pages":[{"title":"Create a Data Rule","sidebarTitle":"Create a rule","href":"/data-rules/create-a-rule"},{"title":"Rule Expressions","sidebarTitle":"Writing expressions","href":"/data-rules/rule-expressions"},{"title":"Common Data Rules for Data Quality Checks","sidebarTitle":"Commonly used rules","href":"/data-rules/common-rules"},{"title":"Manage Rule Alerts","sidebarTitle":"Managing alerts","href":"/data-rules/manage-alerts"},{"title":"Approve Corrections","sidebarTitle":"Approving corrections","href":"/data-rules/approve-corrections"},{"title":"How Rule Corrections Behave Over Time","sidebarTitle":"Corrections over time","href":"/data-rules/corrections-over-time"},{"title":"Rules on Batch Calculations","sidebarTitle":"Batch calculation rules","href":"/data-rules/batch-calculation-rules"},{"title":"Troubleshooting Data Rules","sidebarTitle":"Troubleshooting","href":"/data-rules/troubleshooting"}]}]},{"group":"Reporting","pages":[{"title":"Reporting Fundamentals","sidebarTitle":"Fundamentals","href":"/reporting/fundamentals"},{"group":"Guides","icon":"signs-post","pages":[{"title":"Report project data to a registry","sidebarTitle":"Report production","href":"/reporting/report-production"},{"title":"Sync reporting directly to registries","sidebarTitle":"Reporting Integrations","href":"/reporting/integrations"},{"title":"Share a report with an auditor","sidebarTitle":"Audit Hub","href":"/reporting/audit-hub"}]}]},{"group":"Inventory","pages":[{"title":"Getting started","href":"/inventory/getting-started"},{"title":"Inventory Fundamentals","sidebarTitle":"Fundamentals","href":"/inventory/fundamentals"},{"group":"Guides","icon":"signs-post","pages":[{"title":"Track customer orders","sidebarTitle":"Track orders","href":"/inventory/orders"},{"title":"Unit prices and fees","href":"/inventory/prices-fees"},{"title":"Transfer credits","href":"/inventory/transfers"},{"title":"Retire credits","href":"/inventory/retirements"},{"title":"Customer Portal","href":"/inventory/customer-portal"}]}]},{"group":"Account Admin","pages":[{"title":"Custom Fields","href":"/account-admin/custom-fields"},{"title":"Notifications","href":"/account-admin/notifications"},{"title":"User roles","href":"/account-admin/user-roles"},{"title":"SSO with Microsoft Entra ID","sidebarTitle":"Single sign-on (SSO)","href":"/account-admin/single-sign-on"},{"title":"Brand settings","href":"/account-admin/brand-settings"}]},{"group":"Portfolio","pages":[{"title":"Portfolio Account Management","href":"/portfolio/portfolio-account-management"},{"group":"Guides","icon":"signs-post","pages":[{"title":"Supplier Payments","href":"/portfolio/supplier-payments"}]}]}]},{"dropdown":"API Reference","icon":"file-code","groups":[{"group":"Getting Started","pages":[{"title":"Authentication","href":"/api-reference/authentication"},{"title":"Status Codes","href":"/api-reference/status-codes"},{"title":"Pagination","href":"/api-reference/pagination"},{"title":"Rate Limits","href":"/api-reference/rate-limits"},{"title":"API Support","href":"/api-reference/support"},{"title":"MCP Integration","sidebarTitle":"MCP Integration","href":"/api-reference/mcp-setup"}]},{"group":"API Cookbooks","pages":[{"title":"Sending time series data to Mangrove","sidebarTitle":"Push time series data","href":"/api-reference/cookbooks/sync-events"},{"title":"Attaching evidence to multiple events","sidebarTitle":"Bulk evidence upload","href":"/api-reference/cookbooks/bulk-evidence-upload"},{"title":"Dismissing many rule alerts at once","sidebarTitle":"Bulk dismiss alerts","href":"/api-reference/cookbooks/bulk-dismiss-alerts"},{"title":"Correcting many values at once","sidebarTitle":"Substitute values in bulk","href":"/api-reference/cookbooks/substitute-values"},{"title":"Generating batches via the API","sidebarTitle":"Generate batches","href":"/api-reference/cookbooks/batch-generation"},{"title":"Data Exports","href":"/api-reference/exports/overview"}]},{"group":"Production Data","pages":[{"group":"Projects","pages":[{"title":"Retrieve all projects","openapi":"GET /projects","href":"/api-reference/projects/get"},{"title":"Retrieve a project","openapi":"GET /projects/{project_id}","href":"/api-reference/projects/get-project"},{"title":"Update a project","openapi":"PATCH /projects/{project_id}","href":"/api-reference/projects/patch"},{"title":"Retrieve a project's configuration","openapi":"GET /projects/{project_id}/nexus_config","href":"/api-reference/projects/get-nexus-config"},{"title":"Create a project's configuration","openapi":"POST /projects/{project_id}/nexus_config","href":"/api-reference/projects/create-nexus-config"},{"title":"The Project object","href":"/api-reference/projects/project"}]},{"group":"Locations","pages":[{"title":"All locations on a project","openapi":"GET /projects/{project_id}/locations","href":"/api-reference/locations/get-all"},{"title":"Retrieve a location","openapi":"GET /projects/{project_id}/locations/{location_id}","href":"/api-reference/locations/get"},{"title":"Create a location","openapi":"POST /projects/{project_id}/locations","href":"/api-reference/locations/create"},{"title":"Update a location","openapi":"PATCH /projects/{project_id}/locations/{location_id}","href":"/api-reference/locations/patch"},{"title":"Delete a location","openapi":"DELETE /projects/{project_id}/locations/{location_id}","href":"/api-reference/locations/delete"},{"title":"The Location object","href":"/api-reference/locations/location"}]},{"group":"Assets","pages":[{"title":"List assets","openapi":"GET /assets","href":"/api-reference/assets/get-all"},{"title":"Retrieve an asset","openapi":"GET /assets/{asset_id}","href":"/api-reference/assets/get"},{"title":"Create an asset","openapi":"POST /assets","href":"/api-reference/assets/create"},{"title":"Update an asset","openapi":"PATCH /assets/{asset_id}","href":"/api-reference/assets/patch"},{"title":"Delete an asset","openapi":"DELETE /assets/{asset_id}","href":"/api-reference/assets/delete"},{"title":"List asset categories","openapi":"GET /asset_categories","href":"/api-reference/assets/get-categories"},{"title":"Create an asset category","openapi":"POST /asset_categories","href":"/api-reference/assets/create-category"}]},{"group":"Feedstocks","pages":[{"title":"List all feedstocks","openapi":"GET /feedstocks","href":"/api-reference/feedstocks/get-all"},{"title":"List feedstocks for a project","openapi":"GET /projects/{project_id}/feedstocks","href":"/api-reference/feedstocks/get-project-feedstocks"},{"title":"Retrieve a feedstock","openapi":"GET /projects/{project_id}/feedstocks/{feedstock_id}","href":"/api-reference/feedstocks/get"},{"title":"Create a feedstock on a project","openapi":"POST /projects/{project_id}/feedstocks","href":"/api-reference/feedstocks/create"},{"title":"Update a feedstock","openapi":"PATCH /projects/{project_id}/feedstocks/{feedstock_id}","href":"/api-reference/feedstocks/patch"},{"title":"Delete a feedstock","openapi":"DELETE /projects/{project_id}/feedstocks/{feedstock_id}","href":"/api-reference/feedstocks/delete"},{"title":"List all feedstock types","openapi":"GET /feedstock_types","href":"/api-reference/feedstocks/get-types"}]},{"group":"Event Types","pages":[{"title":"Create an event type","openapi":"POST /projects/{project_id}/event_types","href":"/api-reference/event-types/create"},{"title":"List event types on a project","openapi":"GET /projects/{project_id}/event_types","href":"/api-reference/event-types/get-event-types"},{"title":"Retrieve an event type","openapi":"GET /projects/{project_id}/event_types/{event_type_id}","href":"/api-reference/event-types/get"},{"title":"Update an event type","openapi":"PATCH /projects/{project_id}/event_types/{event_type_id}","href":"/api-reference/event-types/patch"},{"title":"Delete an event type","openapi":"DELETE /projects/{project_id}/event_types/{event_type_id}","href":"/api-reference/event-types/delete"},{"title":"Archive an event type","openapi":"POST /projects/{project_id}/event_types/{event_type_id}/archive","href":"/api-reference/event-types/archive"},{"title":"Unarchive an event type","openapi":"POST /projects/{project_id}/event_types/{event_type_id}/unarchive","href":"/api-reference/event-types/unarchive"}]},{"group":"Events","pages":[{"title":"List all events on a project","openapi":"GET /projects/{project_id}/events","href":"/api-reference/events/get-all"},{"title":"Retrieve an event","openapi":"GET /projects/{project_id}/events/{event_id}","href":"/api-reference/events/get"},{"title":"Create an event","openapi":"POST /projects/{project_id}/events","href":"/api-reference/events/create"},{"title":"Update an event","openapi":"PATCH /projects/{project_id}/events/{event_id}","href":"/api-reference/events/patch"},{"title":"Delete an event","openapi":"DELETE /projects/{project_id}/events/{event_id}","href":"/api-reference/events/delete"},{"title":"The Event object","href":"/api-reference/events/event"}]},{"group":"Data Point Types","pages":[{"title":"List all data point types on a project","openapi":"GET /projects/{project_id}/data_point_types","href":"/api-reference/data-point-types/get-all"},{"title":"Retrieve a data point type","openapi":"GET /projects/{project_id}/data_point_types/{data_point_type_id}","href":"/api-reference/data-point-types/get"},{"title":"Create a data point type","openapi":"POST /projects/{project_id}/data_point_types","href":"/api-reference/data-point-types/create"},{"title":"Delete a data point type","openapi":"DELETE /projects/{project_id}/data_point_types/{data_point_type_id}","href":"/api-reference/data-point-types/delete"},{"title":"Update a data point type","openapi":"PATCH /projects/{project_id}/data_point_types/{data_point_type_id}","href":"/api-reference/data-point-types/patch"}]},{"group":"Static Inputs","pages":[{"title":"List all static inputs","openapi":"GET /projects/{project_id}/static_inputs","href":"/api-reference/static-inputs/get-all"},{"title":"Retrieve a static input","openapi":"GET /projects/{project_id}/static_inputs/{static_input_id}","href":"/api-reference/static-inputs/get"},{"title":"Create a static input","openapi":"POST /projects/{project_id}/static_inputs","href":"/api-reference/static-inputs/create"},{"title":"Update a static input","openapi":"PATCH /projects/{project_id}/static_inputs/{static_input_id}","href":"/api-reference/static-inputs/patch"},{"title":"Delete a static input","openapi":"DELETE /projects/{project_id}/static_inputs/{static_input_id}","href":"/api-reference/static-inputs/delete"}]},{"group":"Datapoints","pages":[{"title":"List all datapoints on an event","openapi":"GET /projects/{project_id}/events/{event_id}/data_points","href":"/api-reference/datapoints/get-all"},{"title":"Get data points for a project","openapi":"GET /projects/{project_id}/data_points","href":"/api-reference/datapoints/get-project-datapoints"},{"title":"Retrieve a datapoint","openapi":"GET /projects/{project_id}/events/{event_id}/data_points/{data_point_id}","href":"/api-reference/datapoints/get"},{"title":"Create a datapoint on an event","openapi":"POST /projects/{project_id}/events/{event_id}/data_points","href":"/api-reference/datapoints/create"},{"title":"Update a datapoint","openapi":"PATCH /projects/{project_id}/events/{event_id}/data_points/{data_point_id}","href":"/api-reference/datapoints/patch"},{"title":"Delete a datapoint","openapi":"DELETE /projects/{project_id}/events/{event_id}/data_points/{data_point_id}","href":"/api-reference/datapoints/delete"},{"title":"The Datapoint object","href":"/api-reference/datapoints/datapoint"}]},{"group":"Corrections","pages":[{"title":"Correct a data point value","openapi":"PUT /projects/{project_id}/events/{event_id}/data_points/{slug}/value","href":"/api-reference/corrections/set-value"},{"title":"Revert a data point correction","openapi":"DELETE /projects/{project_id}/events/{event_id}/data_points/{slug}/value","href":"/api-reference/corrections/revert"},{"title":"List a data point's corrections","openapi":"GET /projects/{project_id}/events/{event_id}/data_points/{slug}/corrections","description":"Lists the corrections recorded on one data point, oldest first, giving the audit trail behind its current value. Reverts appear as their own entries with `method: revert`, and corrections written by a data rule carry the rule that wrote them. Requires the `read:event` token scope.\n\nThe response is paginated and carries the standard `info` envelope. Sort with `sort`, and filter with `filter` on `stage`, `source` or `method`.","href":"/api-reference/corrections/get-all"},{"title":"Correct many data point values","openapi":"POST /projects/{project_id}/corrections/batch","href":"/api-reference/corrections/batch"}]},{"group":"Evidence","pages":[{"title":"List all evidences on an event","openapi":"GET /projects/{project_id}/events/{event_id}/evidences","description":"Lists the evidence on an event. The list is not paginated. Requires the `read:project` and `read:event` token scopes.","href":"/api-reference/evidence/get-all"},{"title":"Retrieve an evidence","openapi":"GET /projects/{project_id}/events/{event_id}/evidences/{evidence_id}","href":"/api-reference/evidence/get"},{"title":"Create evidence on event","openapi":"POST /projects/{project_id}/events/{event_id}/evidences","href":"/api-reference/evidence/create"},{"title":"Delete an evidence","openapi":"DELETE /projects/{project_id}/events/{event_id}/evidences/{evidence_id}","href":"/api-reference/evidence/delete"},{"title":"The Evidence object","href":"/api-reference/evidence/evidence"}]},{"group":"Data Feeds","pages":[{"title":"Send Bulk CSV to a Project Data Feed","openapi":"POST /data_feeds/{data_feed_friendly_id}","href":"/api-reference/data-feeds/send-bulk-csv"},{"title":"List data feeds","openapi":"GET /projects/{project_id}/data_feeds","href":"/api-reference/data-feeds/get-all"},{"title":"Retrieve a data feed","openapi":"GET /projects/{project_id}/data_feeds/{id}","href":"/api-reference/data-feeds/get"},{"title":"Create a data feed","openapi":"POST /projects/{project_id}/data_feeds","href":"/api-reference/data-feeds/create"},{"title":"Update a data feed","openapi":"PATCH /projects/{project_id}/data_feeds/{id}","href":"/api-reference/data-feeds/patch"},{"title":"Delete a data feed","openapi":"DELETE /projects/{project_id}/data_feeds/{id}","href":"/api-reference/data-feeds/delete"},{"title":"Update a data feed's schema","openapi":"PATCH /projects/{project_id}/data_feeds/{data_feed_id}/update_schema","href":"/api-reference/data-feeds/update-schema"},{"title":"Create a data feed transformation","openapi":"POST /projects/{project_id}/data_feeds/{data_feed_id}/transformations","href":"/api-reference/data-feeds/create-transformation"},{"title":"Update a data feed transformation","openapi":"PATCH /projects/{project_id}/data_feeds/{data_feed_id}/transformations/{transformation_id}","href":"/api-reference/data-feeds/patch-transformation"},{"title":"Run a data feed transformation against a test input","openapi":"POST /data_feeds/{data_feed_friendly_id}/test_transformation","href":"/api-reference/data-feeds/test-transformation"},{"title":"List the data sources on a data feed","openapi":"GET /data_feeds/{data_feed_friendly_id}/sources","href":"/api-reference/data-feeds/sources/get-all"},{"title":"Retrieve a data source on a data feed","openapi":"GET /data_feeds/{data_feed_friendly_id}/sources/{source_friendly_id}","href":"/api-reference/data-feeds/sources/get"},{"title":"Attach a data source to a data feed","openapi":"POST /data_feeds/{data_feed_friendly_id}/sources","href":"/api-reference/data-feeds/sources/create"},{"title":"Update a data source on a data feed","openapi":"PATCH /data_feeds/{data_feed_friendly_id}/sources/{source_friendly_id}","href":"/api-reference/data-feeds/sources/patch"},{"title":"Detach a data source from a data feed","openapi":"DELETE /data_feeds/{data_feed_friendly_id}/sources/{source_friendly_id}","href":"/api-reference/data-feeds/sources/delete"},{"title":"List a data feed's runs","openapi":"GET /data_feeds/{data_feed_friendly_id}/runs","href":"/api-reference/data-feeds/runs/get-all"},{"title":"Retrieve a data feed run","openapi":"GET /data_feeds/{data_feed_friendly_id}/runs/{run_friendly_id}","href":"/api-reference/data-feeds/runs/get"},{"title":"Retry a failed data feed run","openapi":"POST /data_feeds/{data_feed_friendly_id}/runs/{run_friendly_id}/retry","href":"/api-reference/data-feeds/runs/retry"},{"title":"Revert a data feed run","openapi":"POST /data_feeds/{data_feed_friendly_id}/runs/{run_friendly_id}/reverse","href":"/api-reference/data-feeds/runs/reverse"},{"title":"Restart a reversed data feed run","openapi":"POST /data_feeds/{data_feed_friendly_id}/runs/{run_friendly_id}/restart","href":"/api-reference/data-feeds/runs/restart"},{"title":"Delete a data feed run","openapi":"DELETE /data_feeds/{data_feed_friendly_id}/runs/{run_friendly_id}","href":"/api-reference/data-feeds/runs/delete"}]},{"group":"Data Rules","pages":[{"title":"List rules","openapi":"GET /projects/{project_id}/rules","href":"/api-reference/data-rules/get-all"},{"title":"Retrieve a rule","openapi":"GET /projects/{project_id}/rules/{rule_id}","href":"/api-reference/data-rules/get"},{"title":"Create a rule","openapi":"POST /projects/{project_id}/rules","href":"/api-reference/data-rules/create"},{"title":"Update a rule","openapi":"PATCH /projects/{project_id}/rules/{rule_id}","href":"/api-reference/data-rules/patch"},{"title":"Delete a rule","openapi":"DELETE /projects/{project_id}/rules/{rule_id}","href":"/api-reference/data-rules/delete"},{"title":"Revert a rule's corrections","openapi":"POST /projects/{project_id}/rules/{rule_id}/revert_corrections","href":"/api-reference/data-rules/revert-corrections"},{"title":"Preview a rule","openapi":"POST /projects/{project_id}/rules/preview","href":"/api-reference/data-rules/preview"},{"title":"List a rule's results","openapi":"GET /projects/{project_id}/rules/{rule_id}/results","href":"/api-reference/data-rules/results"},{"title":"Get a rule's stats","openapi":"GET /projects/{project_id}/rules/{rule_id}/stats","href":"/api-reference/data-rules/stats"},{"title":"Bulk dismiss rule results","openapi":"POST /projects/{project_id}/rule_results/bulk_dismiss","href":"/api-reference/data-rules/bulk-dismiss"},{"title":"Approve a proposed correction","openapi":"POST /projects/{project_id}/rule_results/{id}/approve","href":"/api-reference/data-rules/approve"},{"title":"Reject a proposed correction","openapi":"POST /projects/{project_id}/rule_results/{id}/reject","href":"/api-reference/data-rules/reject"},{"title":"Approve proposed corrections in bulk","openapi":"POST /projects/{project_id}/rule_results/bulk_approve","href":"/api-reference/data-rules/bulk-approve"},{"title":"Reject proposed corrections in bulk","openapi":"POST /projects/{project_id}/rule_results/bulk_reject","href":"/api-reference/data-rules/bulk-reject"},{"title":"Rule expression grammar","openapi":"GET /rules/syntax","href":"/api-reference/data-rules/syntax"}]},{"group":"Rule Runs","pages":[{"title":"List a rule's runs","openapi":"GET /projects/{project_id}/rules/{rule_id}/runs","href":"/api-reference/rule-runs/get-all"},{"title":"Re-evaluate a rule over a period","openapi":"POST /projects/{project_id}/rules/{rule_id}/runs","href":"/api-reference/rule-runs/create"},{"title":"Retrieve a rule run","openapi":"GET /projects/{project_id}/rules/{rule_id}/runs/{id}","href":"/api-reference/rule-runs/get"},{"title":"Revert a rule run","openapi":"POST /projects/{project_id}/rules/{rule_id}/runs/{id}/reverse","href":"/api-reference/rule-runs/reverse"}]},{"group":"Exports","pages":[{"title":"Get export status","openapi":"GET /exports/{export_id}","href":"/api-reference/exports/get"},{"title":"Create an async data export","openapi":"POST /exports","href":"/api-reference/exports/create"},{"title":"Regenerate download URL","openapi":"POST /exports/{export_id}/regenerate_url","href":"/api-reference/exports/regenerate-url"}]},{"group":"Data Requests","pages":[{"title":"List all data requests for a project","openapi":"GET /projects/{project_id}/data_requests","href":"/api-reference/data-requests/get-all"},{"title":"Retrieve a data request","openapi":"GET /projects/{project_id}/data_requests/{id}","href":"/api-reference/data-requests/get"},{"title":"Create a data request","openapi":"POST /projects/{project_id}/data_requests","href":"/api-reference/data-requests/create"},{"title":"Update a data request","openapi":"PATCH /projects/{project_id}/data_requests/{id}","href":"/api-reference/data-requests/patch"},{"title":"Delete a data request","openapi":"DELETE /projects/{project_id}/data_requests/{id}","href":"/api-reference/data-requests/delete"},{"title":"Retrieve a data request schedule","openapi":"GET /projects/{project_id}/data_requests/{data_request_id}/schedule","href":"/api-reference/data-requests/schedule/get"},{"title":"Attach a schedule to a data request","openapi":"POST /projects/{project_id}/data_requests/{data_request_id}/schedule","href":"/api-reference/data-requests/schedule/create"},{"title":"Update a data request schedule","openapi":"PATCH /projects/{project_id}/data_requests/{data_request_id}/schedule","href":"/api-reference/data-requests/schedule/patch"},{"title":"Pause an active schedule","openapi":"PATCH /projects/{project_id}/data_requests/{data_request_id}/schedule/pause","href":"/api-reference/data-requests/schedule/pause"},{"title":"Resume a paused schedule","openapi":"PATCH /projects/{project_id}/data_requests/{data_request_id}/schedule/resume","href":"/api-reference/data-requests/schedule/resume"},{"title":"Delete a data request schedule","openapi":"DELETE /projects/{project_id}/data_requests/{data_request_id}/schedule","href":"/api-reference/data-requests/schedule/delete"},{"title":"List schedule executions","openapi":"GET /projects/{project_id}/data_requests/{data_request_id}/schedule/executions","href":"/api-reference/data-requests/schedule/executions"}]}]},{"group":"Accounting and Reporting","pages":[{"group":"Batches","pages":[{"title":"List all batches","openapi":"GET /batches","href":"/api-reference/batches/get-all"},{"title":"Retrieve a batch","openapi":"GET /batches/{batch_id}","href":"/api-reference/batches/get"},{"title":"Retrieve all batches on a ledger","openapi":"GET /ledgers/{ledger_id}/batches","href":"/api-reference/batches/get-ledger-batches"},{"title":"Update a batch","openapi":"PATCH /batches/{batch_id}","href":"/api-reference/batches/update"},{"title":"Update batch inputs","openapi":"PATCH /ledgers/{ledger_id}/batches/{batch_id}/update_inputs","href":"/api-reference/batches/update-inputs"},{"title":"Delete a batch","openapi":"DELETE /batches/{batch_id}","href":"/api-reference/batches/delete"},{"title":"List all evidences for a batch","openapi":"GET /batches/{batch_id}/evidences","href":"/api-reference/batches/evidences/get-all"},{"title":"List all inputs of a batch","openapi":"GET /batches/{batch_id}/inputs","href":"/api-reference/batches/get-inputs"},{"title":"List all rule alerts of a batch","openapi":"GET /batches/{batch_id}/rule_alerts","href":"/api-reference/batches/get-rule-alerts"}]},{"group":"Ledgers","pages":[{"title":"List all ledgers","openapi":"GET /ledgers","href":"/api-reference/ledgers/get-all"},{"title":"Retrieve a ledger","openapi":"GET /ledgers/{ledger_id}","href":"/api-reference/ledgers/get"},{"title":"Create a ledger","openapi":"POST /projects/{project_id}/ledgers","href":"/api-reference/ledgers/create"},{"title":"Update a ledger","openapi":"PATCH /ledgers/{ledger_id}","href":"/api-reference/ledgers/patch"},{"title":"Delete a ledger","openapi":"DELETE /ledgers/{ledger_id}","href":"/api-reference/ledgers/delete"},{"title":"Get required inputs for batch generation","openapi":"GET /ledgers/{ledger_id}/required_inputs","href":"/api-reference/ledgers/required-inputs"},{"title":"Preview batch generation","openapi":"POST /ledgers/{ledger_id}/generate_preview","href":"/api-reference/ledgers/generate-preview"},{"title":"Create batch generation","openapi":"POST /ledgers/{ledger_id}/batch_generations","href":"/api-reference/ledgers/batch-generations"}]},{"group":"Reports","pages":[{"title":"List all reports","openapi":"GET /reports","href":"/api-reference/reports/get-all"},{"title":"Retrieve a report","openapi":"GET /reports/{report_id}","href":"/api-reference/reports/get"},{"title":"Create a report","openapi":"POST /reports","href":"/api-reference/reports/create"},{"title":"Update a report","openapi":"PATCH /reports/{report_id}","href":"/api-reference/reports/patch"},{"title":"Delete a report","openapi":"DELETE /reports/{report_id}","href":"/api-reference/reports/delete"},{"title":"Submit report to registry","openapi":"POST /reports/{report_id}/submit","href":"/api-reference/reports/submit"},{"title":"Invite an auditor","openapi":"POST /reports/{report_id}/invite","href":"/api-reference/reports/invite-auditor"},{"title":"Revoke an auditor","openapi":"DELETE /reports/{report_id}/revoke","href":"/api-reference/reports/revoke-auditor"}]},{"group":"Report Maps","pages":[{"title":"List report maps","openapi":"GET /projects/{project_id}/report_maps","href":"/api-reference/report-maps/get-all"},{"title":"Get a report map","openapi":"GET /projects/{project_id}/report_maps/{id}","href":"/api-reference/report-maps/get"},{"title":"Create a report map","openapi":"POST /projects/{project_id}/report_maps","href":"/api-reference/report-maps/create"},{"title":"Update a report map","openapi":"PATCH /projects/{project_id}/report_maps/{id}","href":"/api-reference/report-maps/patch"},{"title":"Delete a report map","openapi":"DELETE /projects/{project_id}/report_maps/{id}","href":"/api-reference/report-maps/delete"},{"title":"List quantification methodologies","openapi":"GET /quantification_methodologies","href":"/api-reference/report-maps/get-quantification-methodologies"}]},{"group":"Report Map Versions","pages":[{"title":"List versions","openapi":"GET /projects/{project_id}/report_maps/{report_map_id}/versions","href":"/api-reference/report-map-versions/get-all"},{"title":"Get a version","openapi":"GET /reporting/report_map_versions/{id}","href":"/api-reference/report-map-versions/get"},{"title":"Create a version","openapi":"POST /projects/{project_id}/report_maps/{report_map_id}/versions","href":"/api-reference/report-map-versions/create"},{"title":"Update a version","openapi":"PATCH /reporting/report_map_versions/{id}","href":"/api-reference/report-map-versions/patch"},{"title":"Delete a version","openapi":"DELETE /reporting/report_map_versions/{id}","href":"/api-reference/report-map-versions/delete"}]},{"group":"Report Map Entries","pages":[{"title":"List entries","openapi":"GET /reporting/report_map_versions/{version_id}/entries","href":"/api-reference/report-map-entries/get-all"},{"title":"Get an entry","openapi":"GET /reporting/report_map_entries/{id}","href":"/api-reference/report-map-entries/get"},{"title":"Create an entry","openapi":"POST /reporting/report_map_versions/{version_id}/entries","href":"/api-reference/report-map-entries/create"},{"title":"Update an entry","openapi":"PATCH /reporting/report_map_entries/{id}","href":"/api-reference/report-map-entries/patch"},{"title":"Delete an entry","openapi":"DELETE /reporting/report_map_entries/{id}","href":"/api-reference/report-map-entries/delete"}]},{"group":"Models","pages":[{"title":"List all models","openapi":"GET /models","href":"/api-reference/models/get-all"},{"title":"Retrieve a model","openapi":"GET /models/{model_id}","href":"/api-reference/models/get"},{"title":"Create a model","openapi":"POST /projects/{project_id}/models","href":"/api-reference/models/create"},{"title":"Update a model","openapi":"PATCH /models/{model_id}","href":"/api-reference/models/update"},{"title":"Delete a model","openapi":"DELETE /models/{model_id}","href":"/api-reference/models/delete"},{"title":"Create a new model version","openapi":"POST /models/{model_id}/versions","href":"/api-reference/models/create-version"},{"title":"Update a model version label","openapi":"PATCH /models/{model_id}/version_label","href":"/api-reference/models/update-version-label"},{"title":"Update a model version description","openapi":"PATCH /models/{model_id}/description","href":"/api-reference/models/update-description"},{"title":"Get model YAML","openapi":"GET /models/{model_id}/yaml","href":"/api-reference/models/get-yaml"},{"title":"Validate model YAML","openapi":"POST /models/{model_id}/yaml_validate","href":"/api-reference/models/validate-yaml"},{"title":"Lint model YAML","openapi":"POST /models_yaml_lint","href":"/api-reference/models/lint-yaml"},{"title":"Get model schema","openapi":"GET /models/{model_id}/schema","href":"/api-reference/models/get-schema"},{"title":"Simulate a model","openapi":"POST /models/{model_id}/simulate","href":"/api-reference/models/simulate"},{"title":"List all versions of a model","openapi":"GET /models/{model_id}/versions","href":"/api-reference/models/get-versions"},{"title":"Activate a model version","openapi":"POST /models/{model_id}/activate","href":"/api-reference/models/activate"}]},{"group":"Model Runs","pages":[{"title":"Get all model runs","openapi":"GET /models/{model_id}/model_runs","href":"/api-reference/model-runs/get-all"},{"title":"Get a model run","openapi":"GET /model_runs/{model_run_id}","href":"/api-reference/model-runs/get"},{"title":"Create a model run","openapi":"POST /models/{model_id}/model_runs","href":"/api-reference/model-runs/create"},{"title":"Delete a model run","openapi":"DELETE /model_runs/{model_run_id}","href":"/api-reference/model-runs/delete"}]},{"group":"Async Tasks","pages":[{"title":"Retrieve an async task","openapi":"GET /async_tasks/{task_id}","href":"/api-reference/async-tasks/get"}]},{"group":"Score Sets","pages":[{"title":"List score sets for a ledger","openapi":"GET /ledgers/{ledger_id}/score_sets","href":"/api-reference/score-sets/get-all"},{"title":"Retrieve a score set","openapi":"GET /ledgers/{ledger_id}/score_sets/{id}","href":"/api-reference/score-sets/get"},{"title":"Create a score set","openapi":"POST /ledgers/{ledger_id}/score_sets","href":"/api-reference/score-sets/create"},{"title":"List available batches for scoring","openapi":"GET /ledgers/{ledger_id}/score_sets/available_batches","href":"/api-reference/score-sets/available-batches"}]},{"group":"Carbon Intensity Reporting Periods","pages":[{"title":"List carbon intensity reporting periods","openapi":"GET /carbon_intensity_reporting_periods","href":"/api-reference/carbon-intensity-reporting-periods/get-all"},{"title":"Retrieve a carbon intensity reporting period","openapi":"GET /carbon_intensity_reporting_periods/{id}","href":"/api-reference/carbon-intensity-reporting-periods/get"}]}]},{"group":"Credit Inventory Management","pages":[{"group":"Orders","pages":[{"title":"List all orders","openapi":"GET /orders","href":"/api-reference/orders/get-all"},{"title":"Retrieve an order","openapi":"GET /orders/{order_id}","href":"/api-reference/orders/get"},{"title":"The Order object","href":"/api-reference/orders/order"}]}]},{"group":"Account Admin","pages":[{"group":"Account","pages":[{"title":"Show account settings","openapi":"GET /account","href":"/api-reference/account/get"},{"title":"Retrieve token info","openapi":"GET /token_info","href":"/api-reference/account/token-info"},{"title":"List feature flags","openapi":"GET /feature_flags","href":"/api-reference/account/feature-flags"}]},{"group":"Custom Field Definitions","pages":[{"title":"List custom field definitions","openapi":"GET /custom_field_definitions","href":"/api-reference/custom-field-definitions/get-all"},{"title":"Retrieve a custom field definition","openapi":"GET /custom_field_definitions/{custom_field_definition_id}","href":"/api-reference/custom-field-definitions/get"},{"title":"Create a custom field definition","openapi":"POST /custom_field_definitions","href":"/api-reference/custom-field-definitions/create"},{"title":"Update a custom field definition","openapi":"PATCH /custom_field_definitions/{custom_field_definition_id}","href":"/api-reference/custom-field-definitions/patch"},{"title":"Delete a custom field definition","openapi":"DELETE /custom_field_definitions/{custom_field_definition_id}","href":"/api-reference/custom-field-definitions/delete"}]},{"group":"Async Tasks","pages":[{"title":"Retrieve an async task","openapi":"GET /async_tasks/{task_id}","href":"/api-reference/async-tasks/get"}]}]}]},{"dropdown":"Product Changelog","icon":"bullhorn","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"Correct many data point values - Mangrove Documentation","buildId":"dpl_41S5Z2jG9QnfDRwN1KZrLdBwj7DM","deploymentId":"dpl_41S5Z2jG9QnfDRwN1KZrLdBwj7DM","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-DDP9JXtj.js","utils-8yQyvEtx.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CBCFR8Sn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-rQaXkUHa.js","snippetPresets-J5KpBTgV.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","Page-DTNSD-0M.js","ApiExamples-BVxVH4Cj.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BxdQ2vIi.js","shallow-BjV2tFiD.js","getApiPlaygroundDisplay-C_55tL4O.js","CodeSnippet-C0JpiCOC.js","CodeSnippets-w9Ps7djG.js","getPastedJson-BDfB-H8d.js","icon-g-kUkkO9.js","MethodPill-v4l6fq0h.js","DuplicateIcon-CvLo-CfU.js","createIcon-165clrrV.js","DynamicMarkdown-D3RQ-fEj.js","SectionHeading-vvo-3yLf.js","axios-vUo_bRtp.js","Markdown-CMT1uFWQ.js","clsx-C8f2yC9R.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CI2D8R2Y.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-k78Wrw_e.js"]}