stuart_list_jobs
List delivery jobs
List the delivery jobs of the last 90 days, newest pickup first, with status, deliveries (tracking URLs, courier proof), driver and pricing. Filter by status, active or your client_reference. Paginated: when a page returns per_page rows, ask for the next page. Stuart: GET /v2/jobs.
Parameterspageactivestatusper_pageclient_reference
stuart_get_job
Get a delivery job
One job in full: status, each delivery with tracking URL, pickup/dropoff addresses and contacts, ETA, cancellation, proof of delivery, driver, distance and pricing. Stuart: GET /v2/jobs/{jobId}.
Parametersjob_idrequired
stuart_estimate_price
Get a delivery price quote
Price of a job before you create it: amount excluding and including tax, and currency. Nothing is booked. Needs pickup address, dropoff address and package type. Stuart: POST /v2/jobs/pricing.
Parameterspickuprequireddropoffsrequiredpickup_at
stuart_validate_job
Validate a delivery job
Check that a job would be accepted (addresses geocode inside a covered zone, fields valid) without creating it. Returns {valid}. Stuart: POST /v2/jobs/validate.
Parameterspickuprequireddropoffsrequiredpickup_at
stuart_estimate_pickup_eta
Estimate courier arrival at pickup
Estimated seconds until a courier could arrive at the pickup address, for the same job body as create. Nothing is booked. Stuart: POST /v2/jobs/eta.
Parameterspickuprequireddropoffsrequiredpickup_at
stuart_estimate_dropoff_eta
Estimate time to dropoff
Estimated seconds to reach the destination address for a job (coordinates need the text address too). Nothing is booked. Stuart: POST /v2/jobs/cpt.
Parameterspickuprequireddropoffsrequiredpickup_at
stuart_validate_address
Validate a pickup or dropoff address
Check that an address can be geocoded and lies inside a Stuart zone, as a pickup (picking) or a dropoff (delivering). A phone number is needed when the address is approximate. Stuart: POST /v2/addresses/validate.
Parameterstyperequiredphoneaddressrequiredcoordinates
stuart_get_zone_coverage
Get a zone's coverage area
GeoJSON of the picking or delivery area of an open Stuart zone (for example paris, london). Stuart: GET /v2/areas/{zone}.
Parameterstyperequiredzonerequired
stuart_get_zone_schedule_slots
Get a zone's scheduling slots
Available time slots (start and end, 15-minute steps) in a zone for a date, from the time of the request onward. Use a future date. Stuart: GET /v2/jobs/schedules/{zone}/{type}/{date}.
Parametersdaterequiredtyperequiredzonerequired
stuart_get_courier_phone
Get the courier's anonymous phone number
Anonymised phone number of the courier assigned to a delivery. Only works once a courier is assigned; expires when the delivery ends. Stuart: GET /v2/deliveries/{deliveryId}/phone_number.
Parametersdelivery_idrequired
stuart_create_job
Create a delivery job (dispatches a courier)
BOOKS A REAL, CHARGED DELIVERY: creates a job with one pickup and 1-8 dropoffs and starts looking for a courier right away (unless pickup_at schedules it: up to 4 days ahead, 30 for corporate accounts). Get a quote with stuart_estimate_price and check with stuart_validate_job first, and confirm with the user. Use the sandbox environment for tests. Stuart: POST /v2/jobs.
Parameterspickuprequireddropoffsrequiredpickup_atassignment_code
stuart_update_job
Update delivery details
Change allowed details of a delivery in a job: client_reference, package_description, and the pickup/dropoff comment and contact (what is editable depends on the delivery status: once delivered only client_reference). Stuart: PATCH /v2/jobs/{jobId}.
Parametersjob_idrequiredpickupdropoffdelivery_idrequiredclient_referencepackage_description
stuart_cancel_job
Cancel a delivery job
Cancels a whole job and all its deliveries. Stuart may charge a cancellation fee once a courier is on the way; confirm with the user first. Give a reason key for reporting. Stuart: POST /v2/jobs/{jobId}/cancel.
Parametersjob_idrequiredcommentpublic_reason_key
stuart_cancel_delivery
Cancel one delivery
Cancels a single delivery (one dropoff) of a multi-drop job. A cancellation fee may apply; confirm with the user first. Stuart: POST /v2/deliveries/{deliveryId}/cancel.
Parameterscommentdelivery_idrequiredpublic_reason_key
stuart_mark_order_ready
Signal that an order is ready for pickup
Tell Stuart the order is packed and ready for the courier to collect. Pass exactly one of job_id (all orders of the job) or delivery_id (one order). Send it only when the order is really ready. Stuart: POST /v2/jobs/{jobId}/order_ready or /v2/deliveries/{deliveryId}/order_ready.
Parametersjob_iddelivery_idorder_ready_at