Skip to main content
POST
Create job and trigger dispatch (customer only)

Authorizations

Authorization
string
header
required

JWT access token from /auth/verify-otp

Body

application/json
service_category_id
string<uuid>
required
pickup_address
string
required
pickup_lat
number
required
pickup_lng
number
required
vehicle_id
string<uuid>
description
string
photo_urls
string<uri>[]
beneficiary_name
string

Name of the person the service is being booked for (required if contact_preference is beneficiary)

beneficiary_phone
string

Beneficiary phone (+91XXXXXXXXXX, required if contact_preference is beneficiary)

Pattern: ^\+91\d{10}$
contact_preference
enum<string>
default:booker

Who the mechanic should contact — booker (default) or the beneficiary

Available options:
booker,
beneficiary

Response

Job created

id
string<uuid>
customer_id
string<uuid>
vehicle_id
string<uuid>
service_category_id
string<uuid>
status
enum<string>
Available options:
pending,
dispatching,
accepted,
en_route,
arrived,
in_progress,
completed,
paid,
cancelled,
no_mechanic_found,
disputed,
resolved
pickup_address
string
pickup_lat
number

Latitude of pickup location (-90 to 90)

pickup_lng
number

Longitude of pickup location (-180 to 180)

description
string | null
estimated_price
number | null
final_price
number | null
base_price
number | null
cancellation_fee
number | null
created_at
string<date-time>
updated_at
string<date-time>
mechanic_profile_id
string<uuid>
photo_urls
string<uri>[]
cancel_reason
string | null
hms_room_id
string

100ms room ID for in-job audio call (null until first comms request)

disputed_at
string<date-time>
resolved_at
string<date-time>
beneficiary_name
string | null

Name of the person the service is being booked for (book-for-others feature)

beneficiary_phone
string | null

Phone number of the beneficiary (+91XXXXXXXXXX format)

contact_preference
enum<string>
default:booker

Who the mechanic should contact — the customer who booked or the beneficiary

Available options:
booker,
beneficiary