Bookings›Fire quote (FIXED action — business)
Fire quote (FIXED action — business)
Sends the quote: sets quoted_at + duration cols, advances pending_action to confirm_booking. Status stays `booking`.
Arguments
idstringpathrequired
Job request ID
▾crewarray<object>bodyoptional
Crew — multi-person plan (tech lead + buddies). Omit / empty = single
person (lead 100%). When present must have exactly one is_lead and
wrench_percent summing to 100. See MULTIPERSON_CREW_DESIGN.md.
demobilization_minutesintegerbodyoptional
Demobilization (teardown) minutes added after the work. Optional, min 0.
job_duration_minutesintegerbodyrequired
Hands-on work duration in minutes (man-minutes for a crew job). Required, min 1.
mobilization_minutesintegerbodyoptional
Mobilization (setup/travel-prep) minutes added before the work. Optional, min 0.
status_versionintegerbodyoptional
Optimistic-lock fence: the status_version from your last read. Omitted/0 = fence on the row's current version (no race protection).
POST/v1/job-requests/{id}/quote
curl -X POST "https://api.crisphive.com/v1/job-requests/9b2f6c3e-1a4d-4f0a-8f2e-7c5d1b3a9e01/quote" \ -H "Authorization: Bearer chsk_test_4eC8xQ9mZ2pL7Ka0rT" \ -H "Content-Type: application/json" \ -d '{ "crew": [ { "is_lead": true, "skill_ids": [ "9b2f6c3e-1a4d-4f0a-8f2e-7c5d1b3a9e01" ], "wrench_percent": 50 } ], "demobilization_minutes": 15, "job_duration_minutes": 120, "mobilization_minutes": 15, "status_version": 1 }'
Request body
{
"crew": [
{
"is_lead": ,
"skill_ids": [
],
"wrench_percent":
}
],
"demobilization_minutes": ,
"job_duration_minutes": ,
"mobilization_minutes": ,
"status_version":
}
Bearer