/collection/items/{id}/changes/{changeId}/undoPuts the copy back as it was before the change. Only its latest change can be undone.
collector.undoCopyChange()collection:writeIdempotency-KeyX-Request-Ididstring (uuid)requiredchangeIdstring (uuid)required200OKThe undo, as a change of its own.
object
changedbooleanrequiredFalse when the copy already was that.
invalid_idempotency_key: The Idempotency-Key isn’t 1–255 visible ASCII characters.
unauthorized: Not signed in (no session or token, or an expired one).
not_found: Nothing at that address.
idempotency_in_progressalready_undonecannot_undochanged_since
idempotency_in_progress: The first request with this key is still running.
already_undone: That change was already undone.
cannot_undo: Only the copy’s latest change can be undone.
changed_since: The copy changed since; undo the later change first.
idempotency_key_reused: This key was used for a different request.
rate_limitedtemporarily_blocked
rate_limited: Over the caller’s limit: the per-minute burst or the per-day quota (RateLimit headers; wait Retry-After seconds).
temporarily_blocked: Too many refused requests in a row: blocked for a while (Retry-After says how long).
internal: Something went wrong on our side (quote the requestId).
not_migrated: The database update this needs isn’t applied yet.