en
BookingsCreate a job request

Create a job request

Books a field-service job — the work order that enters the dispatch & scheduling pipeline. Send the customer's UUID plus requested `job_dates` (date + morning/afternoon/evening periods, ideally offered from GET /job-requests/booking-windows), optional `job_type_id` (service catalog), `skill_ids` (required technician qualifications) and a free-text description. Quoting, technician/crew assignment and completion then advance the work order through the business's workflow.

Arguments

X-Timezonestringheaderoptional
Customer IANA timezone
Idempotency-Keystringheaderoptional
Unique key making retries safe: a repeat send with the same key returns the original booking instead of creating a duplicate
customer_idstringbodyrequired
UUID of an existing customer of this business to book the job for. Required.
descriptionstringbodyoptional
Free-text description of the work requested. Optional; max 2000 chars.
job_datesarray<object>bodyrequired
Requested date(s) + period(s) the customer wants the job. At least one, up to 12.
datestringbodyrequired
Requested calendar day (YYYY-MM-DD), customer-local. Required.
periodsarray<object>bodyrequired
One or more time-of-day periods requested on this date. At least one, up to 3.
business_viewarray<object>bodyoptional
Business-local time ranges the period maps to (echoed from booking-windows). Optional.
periodenumbodyrequired
Time-of-day period the customer requested. Required.
job_type_idstringbodyoptional
UUID of the job type to classify this job. Optional; null leaves the job unclassified.
priorityenumbodyoptional
Scheduling priority. Optional; omitted bookings receive the business's default_priority setting (assignment settings, default p2). p0=emergency (interrupt-driven insert), p1=top (displaced only by p0), p2=standard, p3=deferrable (first candidate for displacement).
skill_idsarray<string>bodyoptional
UUIDs of the skills the customer desires for this job. Optional; up to 20.
sla_deadlinestringbodyoptional
SLA deadline (business-local naive datetime, e.g. "2030-06-14T17:00:00"). Optional; ONLY valid together with priority=p1 — arms the auto-escalation clock (the job escalates to p0 as breach risk crosses the business's safety buffer). Must be in the future.
POST/v1/job-requests
curl -X POST "https://api.crisphive.com/v1/job-requests" \
  -H "Authorization: Bearer chsk_test_4eC8xQ9mZ2pL7Ka0rT" \
  -H "Content-Type: application/json" \
  -d '{
  "customer_id": "9b2f6c3e-1a4d-4f0a-8f2e-7c5d1b3a9e01",
  "description": "Please call on arrival.",
  "job_dates": [
    {
      "date": "2030-06-03",
      "periods": [
        {
          "business_view": [],
          "period": "morning"
        }
      ]
    }
  ],
  "job_type_id": "9b2f6c3e-1a4d-4f0a-8f2e-7c5d1b3a9e01",
  "priority": "p1",
  "skill_ids": [
    "9b2f6c3e-1a4d-4f0a-8f2e-7c5d1b3a9e01"
  ],
  "sla_deadline": "2030-06-14T17:00:00"
}'
Request body
{
"customer_id": ,
"description": ,
"job_dates": [
{
"date": ,
"periods": [
{
"business_view": [
],
"period":
}
]
}
],
"job_type_id": ,
"priority": ,
"skill_ids": [
],
"sla_deadline":
}

Responses