Confirmar inserción de emergencia + reprogramación en cascada
Aplica la cascada previsualizada por /emergency/preview: asigna el trabajo de emergencia al técnico y empuja hacia atrás los trabajos desplazados (o, con `displacement_mode=reassign`, los redota primero en sus alternativas previsualizadas), de forma atómica. Admite Idempotency-Key. El servidor recalcula el plan bajo un bloqueo y protege cada trabajo por su status_version — si algo cambió desde la vista previa devuelve 409 EMERGENCY_RESCHEDULE_PLAN_DRIFTED (vuelva a hacer preview). Mismo cuerpo que preview + `emergency_expected_version` opcional. Función aislada (véase EMERGENCY_RESCHEDULE_DESIGN.md). 409 PRÓXIMOS PASOS: EMERGENCY_RESCHEDULE_PLAN_DRIFTED — la agenda cambió entre su preview y este commit (otra reserva/movimiento ganó un carril): llame de nuevo a /preview, muestre el plan actualizado y luego haga commit. EMERGENCY_RESCHEDULE_SLOT_OCCUPIED — ventana de aterrizaje bloqueada por un ancla inamovible (P0/cuadrilla/multi-día): otro técnico u hora. Otros códigos — mismos remedios que /candidates.
Argumentos
curl -X POST "https://api.crisphive.com/v1/job-requests/emergency/commit" \ -H "Authorization: Bearer chsk_test_4eC8xQ9mZ2pL7Ka0rT" \ -H "Content-Type: application/json" \ -d '{ "displacement_mode": "reschedule", "emergency_expected_version": 1, "emergency_job_id": "9b2f6c3e-1a4d-4f0a-8f2e-7c5d1b3a9e01", "expected_move_ids": [ "9b2f6c3e-1a4d-4f0a-8f2e-7c5d1b3a9e01" ], "mode": "overtime", "start_at": "2030-06-14T09:00:00", "technician_id": "9b2f6c3e-1a4d-4f0a-8f2e-7c5d1b3a9e01" }'