LogisKitDocs
API v1

Book a quoted delivery

POST/v1/jobs

Use an unexpired quote and enough available credit. Retry the same normalized payload with the same Idempotency-Key to retrieve the existing job. Reusing the key with different details returns 409. Limits: 10 booking requests per store per minute.

Shell
curl -X POST "$LOGISKIT_API_URL/v1/jobs" \
  -H "X-Api-Key: $LOGISKIT_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-1001" \
  -d '{
  "quoteId": "b563f6b5-413a-4a2d-9425-66f66d16bb9d",
  "externalOrderId": "order-1001",
  "pickupName": "Restaurant",
  "pickupPhone": "+919876543210",
  "dropName": "Customer",
  "dropPhone": "+919876543211"
}'

Parameters

NameLocationType
Idempotency-Keyrequiredheaderstring

at least 1 characters · up to 128 characters

Request body

application/json

FieldType & constraints
quoteIdrequiredstring

uuid

externalOrderIdrequiredstring

at least 1 characters · up to 200 characters

pickupNamerequiredstring

at least 1 characters · up to 100 characters

pickupPhonerequiredstring
dropNamerequiredstring

at least 1 characters · up to 100 characters

dropPhonerequiredstring

Responses

Existing booking returned on an idempotent retry

FieldType & constraints
datarequiredobject
Show schema
FieldType & constraints
idrequiredstring

uuid

externalOrderIdrequiredstring

nullable

statusrequired"created" | "queued" | "picked_by_agent" | "booking_in_progress" | "booked" | "pickup_completed" | "delivered" | "failed" | "cancelled"
agentIdrequiredstring

nullable

dropNamerequiredstring
dropAddressrequiredstring
dropCityrequiredstring

nullable

dropPincoderequiredstring

nullable

dropPhonerequiredstring
packageDescriptionrequiredstring

nullable

chargeMinorrequiredinteger

minimum 0 · maximum 9007199254740991 · nullable

settlementrequired"reserved" | "review" | "captured" | "released"

nullable

createdAtrequiredstring

date-time

updatedAtrequiredstring

date-time

pickupNamerequiredstring

nullable

pickupAddressrequiredstring
pickupCityrequiredstring

nullable

pickupPincoderequiredstring

nullable

pickupPhonerequiredstring

nullable

pickupLatituderequirednumber

minimum -90 · maximum 90 · nullable

pickupLongituderequirednumber

minimum -180 · maximum 180 · nullable

dropLatituderequirednumber

minimum -90 · maximum 90 · nullable

dropLongituderequirednumber

minimum -180 · maximum 180 · nullable

packageWeightrequiredstring

nullable

packageWeightGramsrequiredinteger

nullable

packageValuerequirednumber

nullable

packageValueMinorrequiredinteger

minimum 0 · maximum 9007199254740991 · nullable

riderLocationrequiredobject

nullable

Show schema
FieldType & constraints
latituderequirednumber

minimum -90 · maximum 90

longituderequirednumber

minimum -180 · maximum 180

accuracyrequirednumber

minimum 0 · nullable

recordedAtrequiredstring

date-time

eventsrequiredarray
Show schema
FieldType & constraints
idstring

uuid

status"created" | "queued" | "picked_by_agent" | "booking_in_progress" | "booked" | "pickup_completed" | "delivered" | "failed" | "cancelled"
actorstring

nullable

notestring

nullable

createdAtstring

date-time

verificationrequiredobject
Show schema
FieldType & constraints
testModerequiredboolean
pickuprequiredobject
Show schema
FieldType & constraints
statusrequired"pending" | "active" | "expired" | "verified" | "locked" | "unavailable"
coderequiredstring

nullable

expiresAtrequiredstring

date-time · nullable

verifiedAtrequiredstring

date-time · nullable

deliveryrequiredobject
Show schema
FieldType & constraints
statusrequired"pending" | "active" | "expired" | "verified" | "locked" | "unavailable"
coderequiredstring

nullable

expiresAtrequiredstring

date-time · nullable

verifiedAtrequiredstring

date-time · nullable