Lift a shipper Do Not Use block
Clears the block for one customer. POST with a body rather than DELETE: the customer to unblock is not in the path, and a DELETE body is both an HTTP wart and unreachable from our API client. Mirrors the lane pair’s /do-not-use + /allow. Idempotent — clearing a block that is not there succeeds. Admin-only.
Authentication: Bearer token required.
Authentication
Bearer authentication of the form Bearer <token>, where token is your auth token.
Path parameters
Headers
A unique key (up to 255 printable ASCII characters, e.g. a UUID) that makes a retry of this request safe. Envoy stores the response for 24 hours; a retry with the same key and the same request returns it again with Idempotent-Replayed: true instead of running twice. The same key with a different request returns 422 idempotency_key_reused; while the first request is still running, 409 idempotency_key_in_progress. 5xx and 429 responses are not stored.
Request
Shipper/customer name whose block should be lifted
Allowed values for AuditLog.reason. DB-enforced via Postgres ENUM.
The set is intentionally shared across all entity_type contexts; the
same code (service_quality, compliance, other) means
different things depending on whether the audited row is a carrier or a
lane preference. Disambiguating is the caller’s job — the frontend
renders different human labels per context. Free-text justification
lands on AuditLog.reason_note — required when OTHER is chosen,
optional (but preserved) for any other code.

