Skip to main content

Bulk Resolve Cost Changes

POST 

/api/cost-changes/bulk-resolve

Resolves several cost changes in one call, oldest-first so that overlapping changes apply in the order they were staged. Every action is state-aware and never fails the batch outright: each selected set is either resolved, skipped with a reason, or failed with an error, and the response lists all three.

Required scope: inventory:write

Grant this scope to your token under Settings → Developer → Personal Access Tokens.

action:

  • apply: applies sets awaiting review with the given resolution; switches already-applied sets to that resolution; skips dismissed sets and sets already carrying it
  • dismiss: dismisses sets awaiting review; skips the rest
  • revert: reverts applied or dismissed sets to the inbox; skips sets already there

When action is omitted, a resolution means apply and no resolution means dismiss.

With resolution: restate, any set whose original receipt months are behind the accounting lock date is reported under skipped with the restate-blocked sentence as its message, and the rest of the batch proceeds. A set blocked by an older pending change on the same layers is reported under failed.

Authentication: Requires Bearer token (inventory scope) and permission to resolve cost changes.

Body fields:

  • ids (required, array of integers, min 1): cost change set IDs
  • action (optional): apply, dismiss or revert
  • resolution (optional, required when action is apply): restate or prospective
  • prospective_anchor (optional): entered or document (a custom day is not available in bulk); defaults to entered
  • notes (optional, max 2000 chars): recorded on every decision in the batch

Request

Responses

OK

Response Headers
    Content-Type