The refresh of POST /v1/fulfillment-orders/:id/refresh addressed by the order itself: routes the open order lines again and reconciles every open fulfillment order by route key (matched ones adjusted to the open quantities, unmatched ones canceled, or closed at what they fulfilled, missing routes created). An order without a fulfillment order gets new ones for its open lines. Nothing is deleted and shipped quantities are never touched.
Scope: fulfillment:write, channel:write or admin. A permission group made before the Channel API scopes existed grants it as fulfillment-orders:manage.
Idempotency: send Idempotency-Key; a retry with the same key replays the first answer.
Rate limit: write class, 1,200 requests per minute per tenant by default (read class 6,000). Every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset; a refusal is 429 rate_limited with Retry-After.
